-
Facebook Weirdness
It’s been almost three years now since I’ve used Facebook. Oh, I’ve logged in to get developer keys and tune up other folks business accounts, but otherwise I turned off all notifications and left my personal account untouched. I had started out back in 2007 when I received an invite from an old friend and had previously somewhat enthusiastically written in 2008 about it’s potential. Although it took me five years to quit, the enthusiasm began to wane within a year and half. The primary reason I quit is that I did not want to support Facebook policies or practices as an online medium and I wanted to lead by example. Another reason, perhaps the more central issue, I quit is that I felt as if it had started to creep into my life too much. I started having people I really didn’t care about in my dreams. Aside from the basic psychological perspective that folks were curating their online identities which in no way represented their real lives, I started to find that my real life conversations were beginning to revolve around Facebook posts. It took a while to come to that decision because I tried other methods first. I deleted half my so called friends. Mind you this was before the unfollow feature which allows you to sort them out but not unfriend them. I worked with the Facebook granular controls for privacy and created lists/groups. I stopped accepting friend requests of folks I really didn’t know. I blocked relatives so I didn’t have to answer Facebook related questions during the holidays. I bemoaned the Facebook invasion into my privacy every time they reset some setting to public or added a new feature. So I made a conscious effort to stay logged out.
I’m pretty sure some folks hadn’t even noticed I’m absent. At the time of my Facebook departure, I was working on a Facebook app for a web publishing project I was involved in. I learned all about writing custom Facebook queries. I learned how I could determine the last time anyone logged in and some other basic Facebook data that you wouldn’t think they’d provide. But they do and they make it relatively easy to access. I think everyone knows about the privacy gaffe, but they seem to not concern themselves with privacy or the pigeon-holing of the internet as a whole into a proprietary vacuum. I started to detest their policy and practices and I made note of it elsewhere online like many others. Articles like Theft, Lies, and Facebook Video are indicative of these practices. In recent years, I think they are being forced into some more accountability but the problems persist because of the architecture of the product. Their new publisher platform… eh. blah. Facebook is speeding up the internet for them… just like they’re giving free internet to other parts of the world. There’s no free lunch online either. Now I will say that Facebook is obviously doing a lot of stuff right. I’d hope so since they’re flush with cash and resources, but they’re making an effort to open source some of their techniques. Facebook React is spot on. It tackled the important issue of rendering javascript server side and many companies have since adopted it. The obscene adoption rate of users doesn’t lie. Facebook is a very usable feature-rich platform for many people and companies. I don’t blame them whatsoever since that’s where the people are, but it’ doesn’t leave me feeling any better about my own personal usage.
For me, It still feels like a family or high school reunion that you can never leave. When I quit It wasn’t just family or old friends anymore, it was now colleagues, coworkers, and random people that I had no idea if I knew them or not. I had too much trouble filtering out the folks I actually care about from the mild acquaintances. It wasn’t really building the app that logged me off for good. The final straw for me was when my parents joined and I think that’s why the curve of Facebook users has continually trended up in age as young users depart. When my parents joined Facebook, they suddenly decided that this new medium was the way to communicate all the time. It was enough that they had learned how to send text messages. I’d call and they’d say “hey, did you see my Facebook post” or “did you see what x posted”. Now Facebook was really invading my personal space in that I can no longer carry on a conversation with my own family. I still call my parents about every other week, just to chat and check in on everything. And now they have to ask “how are things”, “whatcha been up to” and the like. It’s nice. The same thing almost anyone has to ask me in person when I see them. I logged in a couple days ago and dug around a bit. I noticed that not much has changed. It still a wasteland of communication for the most part. The subtleties of question and response are gone. It’s wide open nonsensical, non-linear, self-promotion, copyright violations, and mostly just plain crap sprinkled in with some personal copy and photographs. I don’t suspect it’s the medium, but rather the users… or possibly just my friends. Although I really believe that you can get whatever you want out of it. I’ve worked online for over ten years now and I know damn well that the medium is rather indicative of internet communications and possibly even human communication as a whole. But for some reason, regardless of what I know, I still am still trying to see the bright side of it all.
So maybe I’m doing it wrong. Maybe I’m lumping this medium in with the ideal communication I’d like to have from my friends and family. Maybe it’s that I’ve confused the word friend with what Facebook calls a friend. A true friend recently emailed me to check in. However, instead of calling or starting a series of emails, I logged into Facebook to see what’s going on with him. And I said to myself, now this is a decent use case scenario. He then proceeded to post what I sent to him on Facebook. I checked in again after I notice traffic coming here from the link I had sent. Since I’ve turned off all personal notifications I generally have some outstanding tags and whatnot that I tend to ignore when I log in. I don’t feel bad about it and I generally feel more connected to the folks that I actually keep in touch with. My email and website is listed and I even list a phone number on the homepage of my site that you could text or call anytime. I do, however feel non-supportive to these acquaintances at times. When I accept friend requests, I have a generic message I send back to friend requests informing them of my lack of participation. And although I hope they respect my opinion, they seem to forget because when I’m out and about, they always ask “did you see blank on Facebook?” like they expect everyone to be there regardless. It’s still so weird to me. I’m unsure that some of these folks know of any other way to communicate online. I recently started going back through this old site of mine and I realized that it’s mostly junk too, so who am I to critique the online communication of anyone else. And in that way I am doing it wrong. So now, I think I might log into Facebook and post this post, maybe try and whip up some new people lists that I might enjoy …and then try to shake the weirdness off when I log out. Or the more likely scenario… I’ll log in, confirm some requests, send em a blanket statement and quickly get out of there before any weirdness sets in.
-
Anthropomorphizing Machines

I’m not exactly sure why I do it, but I’ve acquired the peculiar habit of naming things over the years. I think that perhaps it’s a lot like the idea of a fisherman naming his boat for good luck. I’ve had names for not only automobiles, but household appliances like the coffee maker. I remember we had one that we called Malita… it was a piece of junk. The reason I’m writing this is that my wife and I were on the couch last night setting up a new hard drive under the television for storing music, movies, and Tivo recordings on, when I paused and said “what should we name it”. We spent the better part of the next twenty minutes discussing it. And while it’s a given that we name drives, servers and computers, I’ve actually put some thought into it in the past ( e.g. tweet ) and I tend to try and make the names meaningful. I’m pretty sure that while I anthropomorphize objects, I also lean toward mechanomorphism to explain the world around me as well. I don’t think it’s just me. I think we all tend to and others have suggested the same. Here is a research paper on the topic if you’re in for some dry reading.
More recently, I’ve been naming the last couple machines after my deceased pets. I logged into and lined up my list of current computers and servers to the right. The last two names are my former pets. Macs was our family dog who died in the mid 90’s. He was a black colored pug and quite the character. I named my working laptop after him. I think it started as a play on the word Macintosh, but I only think about the dog now. Sometimes when I’m working, I’ll say “come on macs, what are doing?” I named my most recent server Woozer. I named it after my dog of 14 years that died earlier this year. Her name was Boozie, but we called her Woozie and Woozer. She was spunky, kind, and smart… just a great dog in every respect. Aside from it making talking to the computers easier, which I tend to do a good bit, I’m not exactly sure why I’ve been naming them. However, I can tell you that in this case it gives me a little smile every time I log into a machine that spits out my former pet’s name.

-
Listing Lists
I am pretty obsessed with lists. Not in an obsessive kinda way, but in a really practical sorta use case scenario. Projects inevitably come down to lists. Every week I work on a shared grocery list with my wife. I make lists of music. I make lists of house chores. The list goes on … literally. That’s the motivation me keeping a page of the list to end all lists.
My list of lists was inspired by this Sindre Sorhus Awesome list ( https://github.com/sindresorhus/awesome )
What makes this list awesome you ask …for those of you not stuck behind a terminal for work, let me try to quickly explain. Git is a version control system and in simple terms it’s a way to see revisions. Folks like Sindre Sorhus have been using Github in other ways than building software. One such way is making lists for other developers. What makes them awesome is that anyone can review, edit, comment and submit to a list. This sorta open forum makes them very accurate lists. I couldn’t possibly count the number of times that I’ve landed on someone else’s list while investigating another topic. And likewise I find myself asking my wife things like what was the name of that movie we saw that had x in it or what was that place we went? Just yesterday I found myself looking for something I’ve used several times. So I’ve followed the lead of those other list makers and I’m going to keep a list of lists for myself to reference and I’m going to keep in version control so that it’s easy for me to make edits and anyone else to suggest or comment on. I kinda doubt that one day I’ll look back on these and think what a waste of time. Let me know if you have any suggestions.
The page will be right here: ↪ https://davidwindham.com/til/list↩
-
wp_title() deprecated
I had a bit of free time today to run some upgrades on my computer and see what’s happening with this website. While doing so, I upgraded my localhost to WordPress 4.4 to test the new core-api features and I noticed that the wp_title() function is now throwing deprecated notices to the browser and log. ( e.g. https://make.wordpress.org/core/2015/10/20/document-title-in-4-4/ ) I used to use a custom function for my page titles, but it’s now handled by core in wp_head(). Since I know a lot of folks will be fishing for the answer on this once the upgrade is out, here’s how I rewrote my theme template.php.
// ********* DEPRECATED wp_title() in 4.4 *********** //if ( ! function_exists( 'dw_page_title') ) : //function dw_page_title() { // global $page, $paged; // wp_title( '|', true, 'right' ); // bloginfo( 'name' ); $site_description = get_bloginfo( 'description', 'display' ); // if ( $site_description && ( is_home() || is_front_page() ) ) // echo " | $site_description"; // if ( $paged >= 2 || $page >= 2 ) // echo ' | ' . sprintf( __( 'Page %s', 'dw' ), max( $paged, $page ) ); //} //endif; function filter_wp_title( $title, $sep ) { global $paged, $page; if ( is_feed() ) return $title; $title .= get_bloginfo( 'name' ); $site_description = get_bloginfo( 'description', 'display' ); if ( $site_description && ( is_home() || is_front_page() ) ) $title = "$title $sep $site_description"; if ( $paged >= 2 || $page >= 2 ) $title = "$title $sep " . sprintf( __( 'Page %s', 'twentytwelve' ), max( $paged, $page ) ); return $title; } add_filter( 'wp_title', 'filter_wp_title', 10, 2 ); add_filter( 'document_title_separator', function () { return '|'; } ); -
My Mom
I found this photo going through some old family slides. It’s a ‘selfie’ my mom took around 1976 or so.

-
Samuel David Minnick
I took my mom to lunch for her birthday this week and we got to talking family. It’s pretty interesting putting the family tree together and I suppose that’s why all of the geneaology websites have proliferated. Several years ago I posted a photo of the Windham’s Crossroads in Darlington County, but I hadn’t posted anything on my mom’s side. I went to high school in a relatively small town and folks would come up to me and say things like we’re second cousins. I didn’t exactly understand it at the time, but all of the Derrick, Shealy, Metz, Koon, and Christmus(‘s) were generally related. I fit into that scheme via my mother’s family who had been around the Dutch Fork area of South Carolina. With the big football game coming up, it reminded me of a story I’d heard about my great grandfather on my mother’s side.

Samuel David Minnick was born on June 1st, 1900 in Saluda County South Carolina. He graduated from Furman University in 1926 and worked as the State Officer for Standard Oil for 33 years living in and around where I live now. He pitched two winning seasons for the Furman baseball team. He also played on the football team who beat Carolina 10-0 and beat Clemson when he caught the winning touchdown on Thanksgiving Day. He married Edna Bell Fickling in 1926 and had one child, my grandfather Samuel David Minnick Jr.. He died in 1978 and is buried beside Edna Bell Fickling Minnick in Blackville, South Carolina.

They don’t call it the information age for nothing. And while my folks are having fun scanning old family photos to put on Facebook, it’s a bit harder to find older material unless it’s been digitized by an organization. Our universities have been involved the South Carolina Digital Library 1 and the Digital Public Library of America 2. Furman University has been digitizing quite a bit of material 3. So next time you go playing genealogist, remember to start top down with established orgs that are digitizing content. Here are some other photos of my great grandfather from the Furman Bonhomie 1925-1926 yearbooks.



23/06/06 – Today I learned more about my great grandfather from a first person account1. I got an email from a fella who was discussing him with his 93 year old mother. I’ve added the contents of that email to the comment below and @ https://davidwindham.com/til/posts/dave-minnick . Since I’ve noticed a good bit of traffic to this page, I’ve also added citations so the outgoing links are more clearly listed.
- South Carolina Digital Library – https://scmemory.org
- Digital Public Library of America – https://dp.la
- Furman University Digital Collections Center – https://libguides.furman.edu/digital-collections/home-old
- David A. Windham – TIL – Dave Minnick – https://davidwindham.com/til/posts/dave-minnick
-
Chrome Devtools Theme
After a recent Chrome update, I noticed that the elements tab in my development tools theme was no longer functioning and became a bit unreadable with the default styles. This also happened a year or so ago as well when Chrome stopped supporting the custom css rules for the development tools web inspector. I use Chrome, Safari, and Mozilla developer tools and I think each have nice debugging and consoles, but I’ve always been particularly fond of Chrome because I keep it customized to match my other editor themes. I’ve flipped themes over the years. I started on Notepad++ using a dark theme because it seemed to mimic a terminal window. I read an article about halation and switched back to a white background. I migrated over to Textmate and started using the Sunburst theme and the Menlo font. I switched to Solarized when that came out. When I was watching Railscast, I switched to that theme. When Sublime Text first came out, I switched to Monokai. I started using Atom and switched to Base16 dark. However, I always seem to switch back to Sunburst with the Menlo monospaced font and have continued to use that theme in every editor I use. I’m not exactly sure what it is I like. It could be just habit at this point but I can say that the cool blues, mellow yellows and oranges fit me just right.
So I had to publish an extension that hacked the theme back into my development tools element inspector. The hackety-hack is in the pseudo ::shadow elements in the canary.css and the Github repo is available at https://github.com/windhamdavid/sunburst-devtools. The Google Chrome plugin is available at https://chrome.google.com/webstore/detail/devtools-theme-sunburst/fkigcimlehjhpnejpiohmibcidmobcpo


Update: In February, the Chrome DevTools team updated the settings to include a dark theme. In your devtools window, go to settings and change it to a dark theme, which will eliminate a couple little areas of this custom theme that still had default Chrome colored tabs.
Update: Another update to Chrome borked this developer tools theme. I had a bit of time this weekend to tinker with it and get it back rolling. The updated version is published at the Chrome Web Store and in my git repository. I couldn’t figure out why the ‘.webkit-html-external-link’ styling no longer has any effect so I’ve left it pale. I’ll leave commenting on below if you have any solutions.
-
Holy City Farms

An old friend of mine contacted me a while back about helping him design a logo, banner, and building a website for his new tomato business. The good news for me is that I’ll have all the tomatoes I can ever eat, because over the years I’ve learned that I prefer to do business with family and friends only on a trade out basis. My buddy graduated college with a computer science degree and worked quite a number of years as a software developer before diving head first into hydroponic farming of heirloom tomatoes. Aside from my experience, he might have contacted me because of my love of a good home grown tomato. Many years ago I started a Facebook group about growing tomatoes where he was a member and I was able to watch him scale up from a small hobby greenhouse to thousands of square feet of automated hydroponic goodness. Needless to say, this one was all my pleasure to build. It took me a couple days on the logo and graphics and a couple days on the site itself. I hope this website will serve him well until he’s ready to start shipping or automating the processing of orders. Until then, you can taste his tomatoes at some of the better restaurants in Charleston and at the John’s Island Farmers Market. I hope his business can really scale up sustainably and I know I’m going to be stopping by for a visit every time I’m in town.
You can visit the website at www.holycityfarms.com

-
Notes on Rebuilding
I’ve recently put a little bit of my holiday time into rebuilding this website. It’s almost been online for ten years and I figured it could use a little overhaul.
I’ll just going to make some notes on it here:
I built a little video chat application that allows anyone to connect with me from my homepage. I’ve added a setting that allows me to set when I’m online. If that is set on, a small notification comes up on my home page that asks if the visitor would like to connect. If they press yes, I am sent a text message which appears on my phone and computer screens. The visitor is given a loading message while I get connected to the chat. I am using Node.js, Express, and WebRTC.io for the video chat application. I am using Twilio for the SMS notifications and the STUN server via this post. Only Chrome and Firefox support it now, but it’s only a matter of time before Safari and mobile browsers follow suit. I built a little API that counts the active connections and emits a JSON string. The website attempts to read this 5 times, 5 seconds apart. If I get connected, the visitor is connected. It’s fun. My first chat was from a random visitor in Italy. It’s a bit like chat roulette in that way. I’ll add in form to ask who they are before I get sent the SMS later on. Twilio is so cheap I can’t believe how much I pay for unlimited texting with AT&T… I might also route those through Twilio later on.
function poll_dave() { var x = 0; var countTimer = setInterval(function() { if (x > 5) { clearInterval(countTimer) } else if (x == 5) { dave_not_available() } else { var URLchatAPI = "http://macs.local:8080/status"; var request = $.ajax({ url: URLchatAPI, dataType: 'json', cache: false, success: function (data) { online = data.online; if (online=='yes') { $('.chat').modal('show'); x = x+5; }; if (online=='no') { dave_connecting(); }; }, error: function ( xhr, tStatus, err ) { dave_error(); x = x+5; } }); x++; } }, 5000); });Third Party Dependence:
One of the main reasons I built the video chat was because I was tired of using my Google Apps accounts for chat and video chat. An in that same vein, I’ve also put in my own hosted analytics using Piwik. Here is public facing analytics page. It has a nice little mobile app too. I also try to use as little as possible third party code. There are only three third party plugins running. I am using Gravity Forms, Mandrill for email, and Askimet for spam.
Speeding it up:
I put some thought into migrating everything over to a static file system, Ghost or another Javascript based system. I kinda wanted to stay loyal to WordPress since this site started there. I did however built this theme to make use of the WP-API and Backbone which means that I could always add a new front end whenever I’m ready. The infinite scroll is powered by Backbone. I’m sure that Socket.io is somewhere in the future since Automattic started maintaining it when they acquired CloudUp. I am also moving over to a Nginx and Redis cacheing system as I migrate to a new host. Even though my queries are tiny, I still find the half second lag pretty painful.
ROI:
Since almost all of my work comes from direct referrals, it doesn’t make a lot of sense to market myself. Because of that, I’ve had the luxury of really not paying any attention to my own website. However, I have wanted to streamline some of my workflow and communications. And because of that, I’ve built a client billing and project management into this site. I am still using a clone of Basecamp called Project Pier, but I have now integrated that into the billing user management of this site.
Actually Posting Content:
Much like I’ve just posted these notes, I’m gonna start posting other fun stuff online. This may be a bad decision as it means that I’ll be sharing these postings elsewhere. I rarely log into any social networks and I’ve found it helps simplify my attention and keeps my focus at home. What really inspired me to do this was the fact that I’ve been reading all of the recent “Best Albums of 2014” from various publishers and I keep complaining to my better half about how bad they are and thinking to myself that I should post my own. So I built a page to keep up with all of the music I listen to at https://davidwindham.com/studio/music
-
Can’t Buy Me Love
After 10 years, we tied the proverbial knot. I built a fun little site to let some folks know our plans. I’ve left the site up if you want to check it out – https://davidwindham.com/bml/
