Feed

  • Updated Profile Photo

     I’m often amused at folks who don’t update their profile photos online. Since the one above is about ten years old, I figured I’d add something a little more recent while talking ownership of my dad’s public Facebook habit of sharing my birthday. The photo was taken in December of 2023 at the crossroads just about 20 feet from the photo of my mom and I in 1974. And if you want to really dig in, I’ve got a photo of the same spot from 1902.

  • Human Updates Available

    John Cleese – The Ministry of Silly Walks

    I keep a list of short, middle, and long-term reminders on all of my devices that I use regularly1.  Although I’m constantly editing the short-term list and the long-term has items that have been on there for years. The middle list seems to always have items that take longer than a couple of days because I’m not getting paid or rewarded for doing them.  For instance, there’s one titled ‘Garage Floodlight’ because I needed some extra light in the yard when I was taking our dog outside in the evenings.  I bought the wiring, fixtures, and switches to install I just haven’t carved out a weekend to make it happen.  

    Another item on my middle-term list is upgrading one of my servers to the more recent version of Linux. I have this shuffling technique I’ve been using over the years with servers, software, and programming languages where I like to keep three tiers in running. I always keep one running way out in front on a beta version, one on the current long-term support version, and then there is usually one that needs to be updated usually because it has some legacy feature requiring a rewrite. This is exactly how I handle my servers so that I can shuffle applications between them as needed. I’ve been calculating some time near the beginning of this year to spend on upgrading and it’s got me thinking that I should be applying that same approach to my own knowledge and skillset on occasion too. It’s time to dust out some useless brain cells to try and pack in some new information. Just reformat, pile in some new architecture, and reboot

    I’m generally a late adopter2 because I like the comfort of the middle and I joke in my Github bio that I “still haven’t learned Rust”3. Although I kinda enjoy being able to work in a bunch of frameworks as the master of none, during the last several years I’ve found myself using just several stacks to accomplish anything with the vast majority of my code being copied and pasted from project to project. Because I’m focused mostly on smaller-scale projects, I don’t have to dive into machine learning, artificial intelligence, or data science visualizations. I’ve got enough programming chops, cloud and network security experience to bring a project to scale, but it’s rarely needed. I understand and enjoy them, I just don’t have any real motive to acquire and analyze large data sets or scale a project to millions of users. 

    And when I say motive, I generally mean money. A lot of folks may not realize it, but the underlying motives for many technology decisions are money in the form of security, network, and energy usage.  Users generate revenue either through advertising, subscriptions, or purchases. Serving up quadrillions of lines of code hourly to billions of users takes energy in the form of electricity sent to computers for processing power. Optimizing how efficient and secure the code is saves money in the form of maintenance, energy, and network usage. Programming languages are only being used to make calculations and database modifications, databases are being abstracted in APIs to reduce calls, file formats for media have shifted to the most efficient and graphics have moved to being served in line with code.  For instance, when a page from say Facebook is loaded into your app or browser they’re generally using JavaScript to query and pull in information that is changing from an API so that it is efficient. Their React library to do so has become one of the most dominant in web development.  I’ve built most of my career on JavaScript and I can empathize with those trying to take in all of the frameworks today.  Even a very simple website developer has to have a pretty robust understanding to customize the editors in the most common content management systems.  It’s pretty difficult to keep up. Recently Shopify acquired Remix4 for React and Vercel announced a new build tool called Turbo5 that is built in Rust6.  

    Although seemingly large changes have taken place since I started in the early 2000s, the basic underlying browsers have remained the same up until 2020 when WebAssembly7 (WASM) became the fourth officially supported browser language behind HTML, CSS, and JavaScript8. JavaScript is going anywhere and will likely keep its spot on the front end, it’s just that web assembly is much faster and safer allowing lower-level programming languages like C, GoLang, and Rust to work in the browser at near-native efficiency. The reason that Rust is picking up steam against the others is that it’s memory safe. I’d venture to say that the vast majority of the hacking out there starts with memory leaks. I’m going to have to dive into WASM sooner than later. And without any client motivation, I’m just going to have to invent a project or dive into someone else’s so that I can learn to find uses for it. I think I’ll start with the Rust WASM9 and Black Hat Rust10

    So aside from packing that new information in, I think I’ll also add a permanent middle-term reminder that there are human upgrades available. Although there may be various reasons why I’ve been relatively successful in my professional life, I think the core is that I enjoy learning and adapting to changes. It’s an approach that can be applied not only to your profession but also to your personal development. We’re upgradeable in so many other ways than just our professional life… just pile in some new architecture and reboot.


    1. Slow Thinkinghttps://davidwindham.com/slow-thinking/ 
    2. Late Adopterhttps://davidwindham.com/late-adopter/ 
    3. GitHub/windhamdavid – https://github.com/windhamdavid 
    4. Remix – https://remix.run/blog/remixing-shopify
    5. Turbopack – https://vercel.com/blog/turbopack 
    6. Rust Language – https://doc.rust-lang.org/book/
    7. Web Assembly – https://en.wikipedia.org/wiki/WebAssembly 
    8. WASM W3C – https://www.w3.org/2019/12/pressrelease-wasm-rec.html.en 
    9. Rust & WASM – https://rustwasm.github.io/book/ 
    10. Black Hat Rust – https://github.com/skerkour/black-hat-rust 
  • 2022 in Review

    It seems that about his time every year, I’m looking to clean up, put a nice little bow on it, and start the new year fresh. I’m trying to get ahead of the little bit of traveling we do for the holidays. In the process, I just re-read the last year-end essay I wrote in 20191. I think a year in review post would make a good tradition and an easy way for me to share with others. And in that regard, I’ll try to keep it brief. 

    2022 started bumpy with my brother, our dog, and Ginny’s grandmom all dying within the span of a couple of months. That put me in just a general fog of reconciliation and reminiscing for the first part of the year2,3,4. I gained the most from those events to grow as a person. I could go on here at great lengths about this, but the most important aspect I was reminded of is that the life we know is fleeting. I’ve always kinda felt that way, but it’s nice to have a reminder every so often to keep your priorities in perspective. By midyear, I was back to joking about it. I’d finish lunch or tennis with someone and say “If I don’t ever see you again, it was nice knowing you” which got some interesting looks and responses, especially from the older folks.  

    We skipped our normal winter getaway likely because we were just tired from dealing with those but I made up for it on a couple of other trips in the spring.  I got a cabin up in the hills with some old friends which spurred on a couple of other gatherings and potentially an annual event5,6.  I saw Dylan for the first, and likely last time7. I went to see an old friend whose outdoor concert got canceled from lightning, so we just got to hang out. We also did a couple of tennis tournaments and participated in my first cycling event.  Being around kind people in really nice environments is a great reminder of how fun life can be. 

    Work this year was dominated by relatively short contracts. This is rewarding because I get quick positive feedback on them, but I don’t enjoy shifting my attention around. That’s likely why I wrote two essays8,9 on staying organized and it could be why I almost ended up in another full-time position. I replied to a recruiter’s email and ended up in a month-long interview process. I remember a long pause from the hiring manager right after I said something to the extent of “I need to have some flexibility with my schedule because I like to play tennis in the mornings and I coach tennis in the afternoons”.  Needless to say, I talked myself out of a six-figure salary which, although seemingly impractical, will likely work out for the best. 

    Ginny is simultaneously taking on a new leadership role and finishing a doctorate program at Clemson10.  She will be defending and graduating next summer. I’ve tried to spend some extra time with my parents this year because they won’t live forever. I discovered the rewards of coaching kids after I became the head coach of the high school tennis teams. I finally ditched my old truck since the transmission was going and got a new ride11. I’ve also accepted that I need to carry my reading glasses into the grocery store so I can read the expiration dates. I spent part of this year on a vegan diet until the cheese cravings kicked in. And like every other new year’s resolution, I’d like to prioritize my mind and body the best I’m able to compensate for the aging.

    I’m starting the new year by turning 50 which I’ve been saying I was for some time now12. I’m not planning a party because, in my mind, I’m not over the hill quite yet even though I’m getting close. I couldn’t convince the better half to let me rehab an old classic convertible but I did get permission to turn our den into a studio so I’d like do some of the woodworking for the cabinetry, re-learn the piano, and take up watercolor painting. I am planning on doing the deep dive on the Rust and Web Assembly early next year to keep up to date with work. I think my boy’s tennis team will have a winning season this spring. Ginny and I are planning on remodeling the kitchen later in the fall and we’ll likely take a long break post-graduation to stroll up the west coast to celebrate her hard work. Otherwise, I’m just going to try and make it long enough to write another one of these next year. 

    Best wishes to y’all out there and I hope you have a happy new year. 

    Be well, do good work, & keep in touch13 ,

    David 


    1. 2019 in Review – https://davidwindham.com/2019-2/ 
    2. Kristopher Roland Windham – https://davidwindham.com/kristopher-roland-windham/ 
    3. Zeke – https://davidwindham.com/zeke/ 
    4. Old Photos – https://davidwindham.com/old-photos/ 
    5. Jocassee – https://davidwindham.com/jocassee/
    6. Cold Mountain – https://davidwindham.com/cold-mountain/
    7. Bob Dylan – https://davidwindham.com/bob-dylan/
    8. Slow Thinking – https://davidwindham.com/slow-thinking/ 
    9. A Second Brain – https://davidwindham.com/a-second-brain/ 
    10. Gast, G. CV – https://ginnygast.com/cv/ 
    11. Automobiles – https://davidwindham.com/automobiles/ 
    12. Age 50 – https://davidwindham.com/age-50/ 
    13. Garrison Keillor’s Writers Almanac sign-off – https://en.wikipedia.org/wiki/The_Writer’s_Almanac 
  • Net Jockey

    My schedule has been cooling down alongside the weather.  Since my day job involves sitting hours behind a computer monitor, the best time for me to get it done is when the weather isn’t that great outside.  It’s been raining almost all weekend here and I tend to enjoy working then.  It’s also about this time of year when I like to remind myself why I enjoy my work which often involves learning something new or delving into a fun side project. One project that’s kinda been lingering in my mind for the last several years is related to broadcasting.  It was brought up recently in a text thread between some friends because I grew up around broadcasting. My family spent the vast majority of their careers in radio and I hosted a nighttime radio show for a couple of years.  My father also had an advertising agency and had suggested I study design in college to help me take over the agency.  I slipped into web development while I was there and the agency is long gone.

    The older I get, the more realistic I’ve become in terms of who I am. Although I’ve tried not to let my work define who I am, the bulk of my experience as a developer has relied on the evolution of the web as a medium. Although the illusion of some sort of computer code wizardry might make my job seem fanciful, it could also be described as a net jockey which would more closely link me to the family business. I’ve always looked at the web as a type of broadcast medium and a net jockey is just using a different medium powered by computer networks. The medium is the message1 no matter the jockey. I believe that a large part of my father and uncle’s success was deeply tied to the timing of the evolution of FM radio.  On a bunch of occasions, they’ve told me stories of how they went around to every car dealer in the region convincing them to order new cars with FM radios installed, sometimes with an offer to trade out promotion. Likewise, a fella named Gary Parsons2 who lived right up the road from where I grew up in South Carolina disc jockeyed a night show and later founded XM Satellite Radio which was the first satellite radio broadcaster in the U.S. It wasn’t until General Motors bought in that in dash satellite receivers started being offered in automobiles. He’s adapted to new technologies and is now working on geolocating network users.

    The people who influenced my father were folks like John Richbourg3, also a South Carolina native, who became the model for others like Wolfman Jack. He became famous jockeying from WLAC4 in Nashville when, in the early 50s the station bumped up to 50,000 watts with a directional antenna that could reach the majority of the east coast and midwestern states especially at night. Many music historians credit these nightly shows as the foundation of rock and roll. The station was acquired by Scripps several years back and has become a backbone of the sensational talk radio crowd which reminds me that I learned very early on to distrust broadcasted information.  In about third grade or so I heard my father talking on the radio one morning about going to dinner the night before with his family. Since I knew we hadn’t gone there to eat, I couldn’t understand how he could lie to others while insisting I never do it. I asked my mom why, to which she replied with “ask your father”. Although I don’t think I ever did, it brought down the third or fourth wall5 rather quickly and I became suspect of all advertising while learning to differentiate performance from reality. It always reminds me of this scene in American Graffiti6.

    The term disc jockey was abandoned sometime in the 80s in favor of radio personality. The etymology of the word jockey7 is actually pretty derogatory. It’s more closely related to jockstrap than horse or disc jockey. Although originally appearing as the Scottish version of the name John, it became associated with horse dealers, riders, minstrels and vagabonds. It became synonymous with a trickster, hence the verb jockey to ‘outwit’ or  ‘out do’. It was used as a slang term for a penis and subsequently used to define a prostitutes client. It was first applied to radio broadcasting by Walter Winchell8 in 1935 to slander his competitor. Winchell was notoriously brutal and several documentaries have been made largely focused on how power corrupts the influence of ‘the media’.  For years, many folks were very surprised to learn that the disc jockeys on WLAC who had ushered in the era of rock and roll were actually white.

    Needless to say, the internet has set the jockeys loose in the derogatory sense of the word. Everyone has become their own public relations agents promo’ing themselves and anything someone will pay for.  Most are still lying to sell you something, sensationalizing, propagandizing, blurring their identities, bending reality, and using the equivalent of modern sound effects.  Neil Young wrote in 1983, “the schemes of today would make Alan Freed9 look like a saint”.  Payola10 never went away, it’s just in an entirely different form. I can’t see any end in sight as I watch the young folks navigate the web. The new La La Lands are factories in China where live streamers work from scripts selling anything you can imagine. The New York Times did a documentary entitled Inside the Daily Life of a Live Streaming Star in China11 which is a fascinating modern study on the incredible machine that net jockeying has become. TikTok is now a record label and OnlyFans produces films. The rise of ‘influencers’ alongside the medium is just the same album on repeat. As Twitter changed hands this last week, I couldn’t help but wonder about the future of medium since I had logged on the week they began. Elon Musk is just another jockey, albeit a form closer to that of Howard Hughes11 or Henry Ford12. He’s just jockeying the new spruce goose or horseless carriage in the form of online payments and electric motors. The Twitter acquisition might end up resembling Ford’s purchase of the Dearborn Independent.  I’ve now spent enough time behind the curtains online to know how small the wizard really is.  E-commerce has finally overtaken adult content just last year.  Jockeying yourself into the lead using technology isn’t anything new and I think Elon is going to struggle with this one in the long term since the underlying technology isn’t really anything proprietary.  Although he complained about the bots, the pay to play model alongside other content monetization will just serve to amplify the inattentiveness13. If you’d like to join the choir, please know that the ‘void is full’14.

    About a decade ago, my father wrapped up his last radio stint hosting a morning show for the nations largest broadcasting network. He liked to joke about how the morning drive time slot was a ‘captive audience’. At some point, I’ll try to archive some old broadcasts and I sometimes wonder how I can help the legacy without having to be a jockey. Quite frankly, growing up around it always made me want to avoid the spotlight. I’ve had the luxury remaining relatively behind the scenes and turning away work I cannot personally support.  I avoid self promotion in favor of burying my name in the source code in case I need to prove my credentials elsewhere. Although I’ve manage to acquire the knowledge skillset to do so, this here net jockey has preferred to play the wizard. I’ll just set up a multi-platform syndication and broadcasting server for my colleagues and stay behind the curtains. As of now, I think I’ve made a wise choice because there is a lot of freedom in relative anonymity even though I’ve never been afraid to voice my opinion. If I ever decide that I want to make it about personal clicks, views, likes, audience share, or feel I have an important message… I’ll likely use a pseudonym, pen, or stage name so there is no way you could bet the jockey and not the horse. 

    I put this here because it makes me look like a jockey with the number and all… It’s from the BASC ( Bicycle Across South Carolina ) event.

    1. The Medium is the Message – https://en.wikipedia.org/wiki/The_medium_is_the_message
    2. Gary Parsons – https://www.crunchbase.com/person/gary-parsons
    3. John R – https://en.wikipedia.org/wiki/John_R.  
    4. WLAC – https://en.wikipedia.org/wiki/WLAC
    5. The Fourth Wall – https://en.wikipedia.org/wiki/Fourth_wall 
    6. American Graffiti – https://en.wikipedia.org/wiki/American_Graffiti 
    7. Jockey – https://en.wiktionary.org/wiki/jockey
    8. Walter Winchell – https://en.wikipedia.org/wiki/Walter_Winchell 
    9. Alan Freed – https://en.wikipedia.org/wiki/Alan_Freed 
    10. Payola – https://en.wikipedia.org/wiki/Payola 
    11. Inside the Daily Life of a Live Streaming Star in Chinahttps://www.youtube.com/watch?v=DlnfiULnmMY 
    12. Howard Hughes ( Watergate ) – https://en.wikipedia.org/wiki/Howard_Hughes#Connections_to_Richard_Nixon_and_Watergate 
    13. Henry Ford ( Dearborn Independent ) – https://en.wikipedia.org/wiki/Henry_Ford#Antisemitism_and_The_Dearborn_Independent 
    14. Twitter @windhamdavid – https://twitter.com/windhamdavid/status/1357350087521947648
    15. The Void is Full. Please Stop Screaming into It.https://www.mcsweeneys.net/articles/the-void-is-full-please-stop-screaming-into-it
  • Governor’s Debate Supercut

    Political rhetoric is tiring. For those of you who’d prefer to spend their time elsewhere, I cut the original1 down from one hour to seven minutes while I was watching it this morning. I tried to be relatively fair even though, for transparency sake, I should note that I’m pulling for the Democratic underdog Joe Cunningham2 over the incumbent Republican Henry McMaster3. I could go into detail on this, but like I said… political rhetoric is tiring and I’ve got better things to do.


    1. South Carolina ETV – 2022 Gubernatorial Debate – https://www.youtube.com/watch?v=TZsEWFaxr60
    2. Joe Cunningham – https://www.joeforsouthcarolina.com
    3. Henry McMaster – https://henrymcmaster.com
  • How to Win at Anything

    Last year I started as an assistant coach of the local varsity high school tennis teams and this year I took over as head coach.  Yesterday I got some feedback I cherished. A parent of a team we played against contacted me to say “I am truly impressed by your teams character and disposition. I wish all athletes had that sort of positive attitude”. This hit me in the feels because it struck a nerve with my outlook and it’s exactly why I volunteered to lead the teams.

    After starting back playing tennis about seven years ago I wrote an essay on Collaboration vs. Competition1 explaining some of my outlook on sports, education, and life.  Although I’m sure there is a myriad of reasons why I started playing, part of the reason I took up tennis began with me quitting football. My father had always wanted to be a football coach and he attended the University of South Carolina with that in mind. His first job was given to him by Bob Fulton who was the announcer for the Gamecock football games.  Needless to say, he got pretty involved in my early football days. I remember vividly being completely knocked unconscious during a football practice. The coaches pulled me up off the ground by my face mask, patted me on the ass and said something to the extent of “get back in there Windham”. I was still dizzy seeing ‘stars’ and I took my helmet off, slammed in on the ground, and started to walk off the practice field. My father said “if you walk off this field, you’re never playing football again”. Needless to say, I never played football again. 

    I had a childhood friend who’s parents were really into tennis who introduced me to junior leagues and tournaments.  I got good enough to compete at a regional level so I stuck with it. Loosing at tennis is still fairly tough mainly because it’s a drawn out process and it’s just you out there shouldering all the responsibility of a loss. I remember my father coming to one particular junior match I was losing. I was already acting defeated midway through the match and he disappeared even though I had expected that he was my ride home. I apologized for my attitude when I got home and he said something along the lines of “I left because I didn’t enjoy watching, you didn’t embarrass me at all, you embarrassed yourself”.  Years later I saw an interview with Roger Federer where he shared a very similar story2

    I’ve never been one to hype the motivational type ‘sports is life’ metaphors because I mostly find the majority of them relatively shallow emphasizing competition in life. Needless to say, I’ve taken that lesson to heart and I learned something really valuable in the process. If you’re giving it your best and having fun in the process, you never really lose. Part of the having fun in the process means that you’ve gotta feel good about what you’re doing and the key to that is being honest and fair to yourself. In a lot of ways, I think sports are an achievement of humanity alongside of the arts.  In a world of constant competition for resources, we’ve decided to take the time to play games with very little consequence. I often joke when folks get into conflicts on the court to imagine if we were playing this game with guns where we just shot at each other from the other side of the court. And although I’ve seen grown men swinging their tennis racquets at one another, It’s not exactly Roman gladiator games and the only thing we actually stand to lose is ego.  If you can put that aside and have fun, you never really lose. 

    You can apply that same approach to almost everything. Sure, there are cases in life where you lose and it’s very serious. Even if you’ve been diagnosed with a terminal illness or can’t afford to feed yourself, I’d argue that keeping your chin up and giving it your best will still get you much farther than the alternative. I’d even go so far as to suggest that doing so may actually give you an advantage. I’d imagine it’s extraordinarily tough to ‘have fun’ under those sorta circumstances, but I’ve personally seen folks do it. I apply it to even the smallest of challenges. I can smile right through the most contentious of business meetings knowing I’ve done my best and realizing the consequences are generally minor. I can let someone vent in an argument without needing ‘win’, I can look at my work contracts not as a competition but as collaboration, I can look at life hurdles not as losses but as challenges, and I always try to find some fun in it. It is how I try to play the game. 

    Our final match is next week against the strongest team in the division. The girls varsity team this year was made up entirely of beginner players so we’ve managed to lose every match this season. I noticed that it started to wear on the players late into the season.  I started the practice season this year with just two rules: always try to have fun and give it your best effort. I ended the season reminding the players that challenging yourself to try something new and giving it your best is the epitome of success and in that regard, they are all winners. I’ve watched the players exemplify that attitude on the tennis courts.  They all thanked me for introducing tennis to them, asked to continue the practice season, and committed to coming back next year. I’ve had fun coaching so I already felt like a winner, but when I got that message yesterday afternoon, I knew we had really won the season. 


    1. Collaboration vs. Competition – https://davidwindham.com/collaboration-vs-competition/
    2. Roger Federer Interview – https://player.vimeo.com/video/170668278?#t=1m5s 
  • Artificial Intelligence

    I joined the OpenAI DALL-E 2 API1 waitlist just like tens of thousands of others did last week.  It’s a natural language processing system to create images from text or a text-to-image synthesis neural network.  I signed up because I just want to play around with it a bit. I’d imagine there will be hundreds of public facing generators in the coming months making everyone an ‘AI artist’.  As much as I’ve bemoaned artificial intelligence2, I had a conversation yesterday with some non-technical folks that seemed pretty enthusiastic about it and it got me to thinking about how I might explain my take on it to anyone else.  

    The fella who sent me the link to signup is a retired IBM systems architect whom I’m always arguing with about artificial intelligence. He’s pretty excited about natural language processing as it relates to aging and regularly builds models for his ‘personal assistant’… whereas I’m not particularly fond of depending on any technology.  My car, Alexa, and Siri might have me labeled as incorrigible due to my belittling statements as to their capabilities. I almost find their lack of capabilities and the promotion of their usage mostly entertaining. I’m not saying that voice commands and sorting large datasets aren’t useful, but I’m neither amused or encouraged by their usage as ‘artificial intelligence’. It feels mostly like Jared from Silicon Valley3.

    Part of my attitude is because I’ve always thought that intelligence encompasses so much more than just knowledge, problem solving, and logic. I think our mental capability, perception, and understanding involve much more. Machines are artificial and we shouldn’t devalue the word intelligence by attaching it to them.  It’s just another sales pitch… IBM’s Watson4 cheated on Jeopardy in 2011 and IBM’s Deep Blue5 cheated in 1996 at chess.  Yes a machine can respond quicker to a buzzer and they used human instruction to intervene in the Kasparov chess match. With that said, almost any cheap computer can easily whip up on me in chess making it’s moves in fractions of a second. The term Artificial intelligence is only used for the stuff that seems incomprehensible or problems yet solved. There’s actually a term for just that entitled ‘AI effect’6.  Wasn’t The Modern Prometheus ( Frankenstein ) a story about artificial intelligence.  This is the best take on it7:

    I suppose much of the existing technology becoming more pervasive in our lives could be considered artificial intelligence… my car parking itself, telling me what music I might enjoy, or my email sorting itself into threads. Artificial intelligence is not magic. It’s just computer programming, logic, data, and math. The real danger is not being able to understand it.  Even though my text generated art might say otherwise, I’m not entirely dystopian about it because it certainly can be helpful when implemented well.  And because most of my work revolves around the machines, I’m of the ‘work smarter not harder’ school of thought. If I can figure out a shortcut tool, I’m gonna use it as long as it doesn’t lodge itself between me and the process.  

    When I started using Github’s CoPilot8 and I knew there was going to be a way to make use of all of that publicly contributed code.  When Github was acquired by Microsoft for 7.5 billion in 2018, I knew that Microsoft’s Visual Studio was going to be the first key to capitalizing on it. I was chatting with a colleague recently who was complaining about ‘how the kids these days are writing code’.  I informed him of another acquaintance who teaches AP high school math and computer science and what he is using to teach his kids which involves an intermediary software which makes it easier for them to understand the fundamentals. I think that in the near future, the fundamentals of programming will be low code as the software will eventually just evolve to parsing natural language to describe setting strings, variable and arrays. Even though CoPilot is impressive in it’s execution, the first pitch says it all… ‘Autocomplete as a feature’ in code editors is nothing new and I’ve been using various editor plugins to save time long before CoPilot.  One effect I’ve noticed is that when I go and grab an autocomplete library package for whatever I’m working on, I have the tendency to learn less about it. 

    So perhaps the real consequence of this so called artificial intelligence is the reason why IQ rates are dropping in many developed countries9,10.  I believe that it’s giving us a false sense of technological improvement especially to those that do not understand it.  I learned that lesson some years ago when I started substituting memory for machine11. Time will tell… I’m always intrigued by modern research that incorporates using technology and programming to gather and analyze extremely large datasets that would be impossible without the assistance of computers. I do think these types of AI usage will absolutely be used to benefit our lives in areas like science and medicine. I just don’t think we should offer up our own intelligence as a sacrifice. 


    Update: 22/11/08

    Github CoPilot now has a lawsuit on it’s hands12 which also makes ask the same question about the usage of the images in the DALL·E image generator.  Even though the output is modified, AI relying on data which has copyright is going to be problematic.  

    Update: 22/11/30

    Open AI released a new model called ChatGPT. I played around with it for a bit and had a long discussion about it while generating chats and surfing the Discord channel to see other dialogues. This is the first question I asked:

    Although some of the results are really interesting, I’m fairly confident that aside from web applications and automated phone handling systems, the next application is going to be the drive through window at fast food restaurants. Here’s my Open AI DALL-E 2 image for “HAL from 2001 a Space Odyssey serving hamburgers”:

    Update: 23/04/01 – I wrote a second essay on artificial intellegence @ https://davidwindham.com/artificial-intelligence-2/ .


    1. OpenAI DALL·E 2 – https://openai.com/dall-e-2/ 
    2. Artificial Intelligence – https://en.wikipedia.org/wiki/Artificial_intelligence 
    3. Silicon Valley – https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series) 
    4. IBM Watson – https://en.wikipedia.org/wiki/Watson_(computer) 
    5. IBM Deep Blue – https://en.wikipedia.org/wiki/Deep_Blue_(chess_computer) 
    6. AI effect – https://en.wikipedia.org/wiki/AI_effect
    7. Young Frankenstein – https://en.wikipedia.org/wiki/Young_Frankenstein 
    8. Github CoPilot – https://copilot.github.com
    9. NBC News IQ rates are dropping in many developed countries and that doesn’t bode well for humanityhttps://www.nbcnews.com/think/opinion/iq-rates-are-dropping-many-developed-countries-doesn-t-bode-ncna1008576 
    10. Stanford MAHB – Idiocracy: is the decline in human intelligence undermining democracy?https://mahb.stanford.edu/blog/idiocracy-is-the-decline-in-human-intelligence-undermining-democracy/
    11. Never Substitute Memory for Machine – https://twitter.com/windhamdavid/status/742432751987609600
    12. The Lawsuit that Could Rewrite the Rules of AI Copyright – https://www.theverge.com/2022/11/8/23446821/microsoft-openai-github-copilot-class-action-lawsuit-ai-copyright-violation-training-data
    13. OpenAI ChatGPT: Optimizing Language Models for Dialogue – https://openai.com/blog/chatgpt/
  • Now Streaming

    The better half is on holiday and we’ve been doing some class A lounging. We’ve also recently added a nice 75 inch television to the bedroom which is a pretty good excuse for a midday nap now that the summer heat is settling in.  I’m watching Wimbledon1 and the Tour de France2 is good napping material. During a recent discussion on what to watch, a buddy of mine went on a rant about how it’s a mess navigating the streaming landscape insisting it’s all designed to just charge you more money. Although I cannot completely disagree, there’s never been a better system for having access to content. It’s literally the vast majority of the world’s media on demand.  You can watch the snow drift in Antarctica3 or take a train ride across Sweden4. Instead of turning my teen angst against the mind numbing television towards the internet, I like to remind myself how great it is to watch this transformation.  Navigating the infinite can seem pretty treacherous so I just wanted to share my approach to streaming. 

    It’s amazing how much consumers just consume whatever is presented in front of them. I guess that’s why advertising works and I’m certainly not immune.  I’m often always asked if I’ve seen the ‘new show’ that is featured at the top of Netflix, Hulu or whatever. The same goes for whichever podcast or album Spotify or Apple Music is featuring.  Sometimes I’ll do a bit of stream surfing the apps and most popular categories to just kinda try and reverse engineer what folks are watching or listening to. Of course, I also get the in-person recommendations that I try to note. Most often, I’m in My Own Private5 Idaho of sorts. We’ll watch only one show at a time only occasionally breaking it up. We’ve just currently wrapped up Star Trek Deep Space Nine6 which is 176 episodes filmed in the 90s. Before that, we rewatched The Simpsons which is over 700 episodes. Needless to say, it’s usually easy for me to duck out of any casual conversations about whatever may be trending.  

    I like to watch movies mid-summer and mid-winter mainly because it’s either getting dark early or because it’s too hot outside midday.  I never turn on the television just to fill up the room with noise.  I listen to music when I’m at the computers and podcasts when I’m cooking. I’ve worked up a pretty decent tracking and discovery system. I’m no slouch when it comes to film either. I would roll through 5 discs at a time from Netflix back when they came in the mail and I did the whole deep dive on great films and filmmakers because the web interface would allow you to sort by director, studio, producer, etc. After I had rolled through the old Academy Awards, Screen Actors Guild Awards. American Film Institute5 catalog and Criterion Collection6, I moved on to foreign films. Even after almost thirty years, I still discover good old films I hadn’t seen. I’m also convinced that the further you move upstream, you had better be reading because the best ideas are where the pen hits the paper so perhaps a ‘now reading’ list my be my future too. 

    There are plenty of publications that cover film and keep up to date watch lists.  Because the only close to universal search for film is IMDB9 and Wikipedia. It’s complicated by competing interests.  For instance, the search on Apple tvOS will not feature films licensed to Netflix. I’d imagine this is because they don’t want Apple to have analytics on their content.  This is true of a bunch of user interfaces from various providers. And then the licensing is often switching around too, so the provider is irrelevant except for the fact you often need to be a subscriber… which brings me right back to my buddy’s rant on it.  When you fret about the fees or lack of universal search,  just remember that it wasn’t too long when everyone was watching the same four channels, then the same 38 channels, then what the movie store had on VHS. Granted that I like to I support artist by paying for the content, I also realize that the vast majority of it goes to the studio and streaming provider. I crank them up and clear out what I want and shut them off because very few vendors require an annual subscription. 

    I’ve just started a simple list of shows and films to replace my practice of bookmarking. I share it with the better half like we do our grocery list and I’ve decided that I’m going to chronicle it like I do my music listening and keep a list of favorites. This way I can share it with others.  As of now, I can’t figure out a way to pull my lists or watched from any APIs or whatnot, but I’m sure I’ll be able to in the future.  Just trying to avoid mindless consumption …unless of course I’m in the mood for mindlessness which happens more often than not. Speaking of, we just discovered Mike Myers’ The Pentaverate10 and aside from watching Wimbledon, our current attention is pointed toward solving the game Pikmin11.

    If you want to take a look at what’s next, I’m going to keep the list @ https://davidwindham.com/til/lists/next 12.


    1. Wimbledon – https://en.wikipedia.org/wiki/The_Championships,_Wimbledon 
    2. Tour de France – https://en.wikipedia.org/wiki/Tour_de_France 
    3. Blizzard in Antartica – https://www.youtube.com/watch?v=oZ_MkkyhV0o 
    4. Sweden, Jordbro to Stockholm – https://www.youtube.com/watch?v=REuhC74uaa8 
    5. My Own Private Idahohttps://en.wikipedia.org/wiki/My_Own_Private_Idaho
    6. Star Trek: Deep Space Ninehttps://en.wikipedia.org/wiki/Star_Trek:_Deep_Space_Nine 
    7. American Film Institute – https://en.wikipedia.org/wiki/American_Film_Institute
    8. The Criterion Collection – https://en.wikipedia.org/wiki/The_Criterion_Collection 
    9. IMDB – https://en.wikipedia.org/wiki/IMDb
    10. The Pentaveratehttps://en.wikipedia.org/wiki/The_Pentaverate
    11. Pikmin – https://en.wikipedia.org/wiki/Pikmin 
    12. David A. Windham – TIL- Up Next – https://davidwindham.com/til/lists/next
  • Cold Mountain

    We took a small trip up into the hills last weekend. An old friend had lined up a rental cabin up on Lake Logan North Carolina for the Cold Mountain Music Festival1.  He was pretty stoked to gather a couple friends for the event because The Mother Hips2 rarely play the east coast and he had spent some time with them out west. I just wanted to jot down a couple of notes on why I enjoyed it to share.   

    It’s a three hour drive on the back roads across the rolling Piedmont following the Saluda River3 watershed to Sunset up through the Jocasee Gorges4 across the eastern continental divide5 near Sassafras mountain6 and back down into Rosman following the headwaters of the French Broad River7. For whatever reason, possibly because it was late in the afternoon and had rained earlier, we had the twisty backroads almost entirely to ourselves.  Right as it passes over the some of the highest elevations of the Blue Ridge Parkway8 at 6000ft near Devil’s Courthouse9 you drive back down along the the headwaters of the West Fork of the Pigeon River10.  Lake Logan is fed by the river running through the Middle Prong Wilderness11 and sits in the valley of the Shining Rock Wilderness12 area of the Pisgah National Forest13.  With highs in the 70s and lows in the 50s, the weather is spot on for this time of year. It’s an area that I’ve been through hundreds of times over the last thirty years but it never seems to fail at renewing my sense of wonder. 

    Lake Logan14 was original used for logging because it’s sitting in the middle of one of the largest old-growth forests east of the Mississippi. Kudos to the Episcopal diocese for the usage and preservation. A reverend from the church spoke about how the church doesn’t judge folks based on their beliefs and that the festival is used as a fundraiser for and an inclusive summer camp program.  The volunteers running the beer/wine stands were so kind to everyone.  I grew up in an Episcopal church and attended other summer camps up that way.  My wife and I jokingly said to one of the staff that we needed summer jobs with lodging and she invited us to apply. On the way home we conceded that we might just make it a reality. 

    I almost feel bad writing about or talking up the event because it’s still relatively small given the quality. It could have been the two year hiatus. It had just enough vendors and people to make it comfy without the crowd.  I Draw Slow15 came in from Ireland with some fairly hip folk music. Catham Rabbits16 are a husband wife folk duo out of NC who have their own PBS series. Futurebirds17 are from Athens, GA and they knocked out a lovely rendition of Bertha.

    His Golden Messenger18 was the headliner and I’ve been following along for the last ten years. Their tone was about perfect for sunset. It’s nice getting up close and personal without the crowds.  About halfway through the afternoon, they decided to have an impromptu dog show before the closing act with each dog owner parading them across the stage.  One of the three best of show awards went to this really old dog. It was stellar. 

    Although I could go on a great length about the venue and event… that’s not really what makes it so potent to me.  The overwhelming feeling I get being amongst a group of people who are happy…. that’s the real key. Kids running around everywhere having fun. People of all walks of life and ages just laid back on a grassy field enjoying a mountain meadow. On several occasions as I stood there taking it all in, all I could feel was lucky.  Perhaps it was just the feeling of normalcy from the last couple of years.  Instead of being buried in the day to day of folks running around trying to make it, it is just so nice to remind yourself what life can really be about when you can take a break to breathe it all in.  

    His Golden Messenger – Sanctuary

    1. Cold Mountain Music Festival – https://www.coldmountainmusic.org
    2. The Mother Hips – https://en.wikipedia.org/wiki/The_Mother_Hips
    3. Saluda River – https://en.wikipedia.org/wiki/Saluda_River 
    4. Jocasee Gorges – https://en.wikipedia.org/wiki/Gorges_State_Park 
    5. Eastern Continental Divide – https://en.wikipedia.org/wiki/Eastern_Continental_Divide 
    6. Sassafras Mountain – https://en.wikipedia.org/wiki/Sassafras_Mountain 
    7. French Broad River – https://en.wikipedia.org/wiki/French_Broad_River 
    8. Blue Ridge Parkway – https://en.wikipedia.org/wiki/Blue_Ridge_Parkway 
    9. Devil’s Courthouse – https://en.wikipedia.org/wiki/Devil%27s_Courthouse 
    10. Pigeon River – https://en.wikipedia.org/wiki/Pigeon_River_(Tennessee–North_Carolina) 
    11. Middle Prong Wilderness – https://en.wikipedia.org/wiki/Middle_Prong_Wilderness 
    12. Shining Rock Wilderness – https://en.wikipedia.org/wiki/Shining_Rock_Wilderness 
    13. Pisgah National Forest – https://en.wikipedia.org/wiki/Pisgah_National_Forest 
    14. Lake Logan History – https://www.lakelogan.org/about/history/ 
    15. I Draw Slow – https://www.facebook.com/idrawslow 
    16. Catham Rabbits – https://www.chathamrabbits.com 
    17. Futurebirds – https://en.wikipedia.org/wiki/Futurebirds 
    18. His Golden Messenger – https://en.wikipedia.org/wiki/Hiss_Golden_Messenger 
  • A Second Brain

    I recently wrote an essay entitled Slow Thinking1 about how I manage my attention in the era of constant notifications.  As a follow up, I’ve been thinking about how I manage my knowledge and wanted to write some notes on it because I’ve been seeing more references online about using a personal knowledge management systems and have recently been sharing my approach with my wife and her cohorts working on their doctoral theses. I suppose that my process originally started  as soon as I began keeping digital documents on computers and really solidified into a system around 2017 as a Today I Learned2 ( TIL3 ) which I was based on keeping technical notes. It has been gradually evolving into a more general Personal Knowledge Manager4.  Some folks also refer to it as a Second Brain5,6 and there is an active community of software developers, productivity speakers, and academics all espousing the methodology.  We all already have a form of personal knowledge management that we use. It could be in your word documents, todo list, emails, your calendar, or just handwritten sticky notes attached to the refrigerator or your monitor.

    My own experience leads me to believe that Hypertext7 as it was envisioned in the 1950s and the standardization of markup languages and databases as the a building blocks of the internet are the root of the concept which encompasses a wide range of other topics like semantics8, ontology, information architecture, metadata, and metacognition.  I think the real more recent kick start of folks discussing it is the availability of software tailored towards it. Ward Cunningham’s 1995 book The Wiki Way and software WikiWikiWeb really solidified the idea that a knowledge base could be using the Hawaiian language word for quick. 

    I think ‘quick’ is the key to building a personal knowledge base that is sustainable and usable. Even though more recent software options like Roam Research14 highlight PKM ( Personal Knowledge Management ), there has been all kinds of software options available for many years under other terms like mind mapping, knowledge graphing and just plain note taking apps which have dominated the mobile app market. Remember that any software is only as good as how you use it. If your sticky notes are working just fine, don’t change.  It’s easy to fool yourself into thinking the tool is making your more organized when in fact, you’re just spending more time making charts, tables and hyperlinks.  I’ll list a bunch of options in the footnotes below if you want to look at all of them all15

    One of the software options Logseq, recently announced they raised 4.1 million “to accelerate growth of the open source neuron-inspired knowledge management system to build a new World Knowledge Graph”16. I think it’s a great product especially the ability to connect to the Zotero17 but their /publish repo has some room for improvement. I like to use a combination of software and techniques for managing my personal knowledge base.  I recently started adding more non-technical information to mine because I found myself looking for real estate closing documents or re-searching google for things like the make/model of my lawnmower.  I use Markdown18 as the file format because it’s relatively easy to migrate between it and other document formats , it’s supported by the text editors I use for development, and much of the other available documentation online in places like Github also already use it. I like to use Obsidian or Logseq when I’m working outside of my VSCode text editor and I organize the files the old fashion way using system folders in one directory where I can publish them using Docusarus19 and Lunr20 for search. 

    My biggest takeaway in having managed a personal knowledge base is that data portability and usability are the keys.  You’ve got to be able to quickly make a note on your mobile device when you think about it, migrate between software/publishing platforms easily, and search.  I think I actually get the most millage out my search. My organization doesn’t matter that much when I can get instant search results from my queries.  For instance, let’s say I’m working on a project when I stumble remembering a configuration setting I’ve previously used I’ll head over to my site and start typing in the search box with the type of software and viola my notes on it are there. It’s just like giving good file names on your computer so that you can find them when you looking. 

    A well crafted and easy to use knowledge system can be really useful. I certainly understand that you may not have the technical skills to self host, install a search, learn markdown, or even consider the need. Perhaps you’re just making research citations, keeping tabs on your exercise or making music playlists. The usage possibilities are endless. You can get around the technical hurdles by paying a small fee to a provider who will handle it for you.  You’re going to want interoperability with the systems you’re already familiar using.  Whatever works for you is what’s best and the tool is only as good as the user. I think the most important concept behind all of the recent jargon of PKMs, mind mapping, second brains, or whatever you want to call it… is that well organized, hypertext’ed, semantic, indexable and searchable knowledge is a powerful tool for any organization or individual.


    1. Slow Thinking – https://davidwindham.com/slow-thinking/
    2. Today I Learned – https://davidwindham.com/today-i-learned/
    3. TIL – Docs – https://davidwindham.com/til/docs/ 
    4. Personal Knowledge Management – https://en.wikipedia.org/wiki/Personal_knowledge_management 
    5. Tigo Forte – Building a Second Brain – https://www.buildingasecondbrain.com 
    6. Maggie Appleton – Building a Second Brainhttps://maggieappleton.com/basb 
    7. Hypertext – https://en.wikipedia.org/wiki/Hypertext
    8. Semantic Network – https://en.wikipedia.org/wiki/Semantic_network
    9. Ontology – https://en.wikipedia.org/wiki/Ontology_(information_science)
    10. Information Architecture – https://en.wikipedia.org/wiki/Information_architecture
    11. Metadata – https://en.wikipedia.org/wiki/Metadata 
    12. Meta Cognition – https://en.wikipedia.org/wiki/Metacognition
    13. Wiki – https://en.wikipedia.org/wiki/Wiki#History
    14. Roam Research – https://roamresearch.com 
    15. PKM Software
      1. Obsidian – https://obsidian.md
      2. Logseq – https://logseq.com
      3. Unigraph – https://unigraph.dev 
      4. HyperNotes – https://zenkit.com/en/hypernotes/ 
      5. Athens Research – https://www.athensresearch.org
      6. Joplin – https://joplinapp.org
      7. Dendron – https://www.dendron.so
    16. Logseq raises $4.1M to Accelerate Growth of the New World Knowledge Graphhttps://blog.logseq.com/logseq-raises-4-1m-to-accelerate-growth-of-the-new-world-knowledge-graph/
    17. Zotero – Personal Research Assistant – https://www.zotero.org
    18. Markdown – https://en.wikipedia.org/wiki/Markdown 
    19. Docusaurus – https://docusaurus.io 
    20. Lunr – https://lunrjs.com