social media
-
Secure the instance using Linode’s recommended steps. This includes things like setting up SSH keys and disabling password logon, setting up a firewall, etc.
-
I’m using Tailscale for VPN connections between my servers and my personal computers and Synology. This has been the most useful piece of the whole puzzle. Again free for my use case, it provides secure WireGuard VPN connections directly between my devices, making login and secure copy very easy. Highly recommended.
-
I installed Netdata for performance monitoring. It’s free for the tier I’m using, but it gives me plenty of info on CPU and RAM usage, etc, and will email me if anything goes too wrong.
-
I played a little bit with setting up a web server (using nginx) and database using Docker images, but that felt like it got complicated fairly quickly without significant benefit. So I jettisoned Docker and natively installed Nginx and Mariadb, and set up Adminer as a single-page database admin interface.
- They allowed an app to do mass scraping of user data, including the data of friends of app users, and then didn’t reveal that information disclosure for years afterward.
- The combination of that user data, along with the targeted advertising Facebook sells, allowed foreign entities to manipulate the electorate in unprecedented ways leading up to the 2016 US elections and the 2016 Brexit referendum in Britain.
- They have regularly scraped up user’s phone data wherever possible, including location history, phone call logs, and the contents of text messages - including even those sent outside of the Facebook application.
At this point I think it’s fair to ask: is it really worth it? Am I getting benefit from Facebook that outweighs the cost of enabling this sort of corporate behavior and community effect? There’s a truism in the online world: if you’re not paying for the product, chances are that you are the product. That’s certainly true with Facebook. And Google. And probably a lot of other online products and services. (It’s no accident that the products you search for on Amazon suddenly show up in ads on Facebook!) While we may never be able to get out of this model completely, there are steps I can take to do my part. - I’m switching over to use DuckDuckGo instead of Google for my web searches. DuckDuckGo doesn’t track users, making their money only via untracked advertising and untracked affiliate links.
- I pay for email service from ProtonMail. It’s not as shiny and slick as Gmail, but they also don’t scan my email to target ads. (I still have a Gmail account as a backup… but I’m trying to not use it regularly.)
- I pay for Newsblur as an RSS feed reader. I subscribe to ~500 blogs and websites via their RSS feeds… this provides me the bulk of my news on a daily basis.
- Assume that anything you put online will eventually be public knowledge.
- I will try to not separate segments of my online life.
- I will follow my employer’s guidelines for social media use.
Moving my Mastodon Instance to a New Server
Continuing my adventures hosting IowaDon.org, a very small Mastodon instance.
When I started hosting IowaDon.org back in early November, I set it up on Linode. I’d heard lots of advertisements for their services, and they offered $100 of free credits to try them out for a couple months, so hey, why not? There was also a guide for setting up Mastodon on Linode that turned out to be not quite as smooth as it claimed. (Linode has since created a one-click install package, so life may be easier if you tried to start now.) I was not only using Linode’s basic server instance ($10/mo for 1 CPU, 2 GB of RAM, 50 GB of storage) but also their object storage ($5/mo for 250 GB of storage, lots of data transfer allowance).
Six weeks later, the object storage continues to seem like a very good deal. Some basic math with the AWS calculator tells me that if I was hosting this same data with this much transfer on Amazon S3, I’d be in the $30/month neighborhood. Maybe there would be ways to optimize that, but a flat $5/mo seems like a solid choice going forward.
On the server side, though, $10/mo for the server + $2.50/mo for backups wasn’t awful, but I felt like I could do better. I found a recommendation for RackNerd.com, whose “Black Friday” deal is still up and provides a 3 CPU, 4.5 GB RAM, 100 GB SSD storage for $49/year. (I think it was $45/year when I signed up…) I went ahead and signed up, and within minutes had an IP address and a username and password to login and start working. I had some limited experience with Linux server administration already, but there was still some learning curve here. Fortunately I didn’t have a pressing need to move my Mastodon instance, so I could take my time and make sure I was comfortable with how everything was going.
My basic setup steps:
Migrating Mastodon
The Mastodon documentation on this is very good. Basically you do a fresh server install per the Mastodon production guide but then stop short of doing the mastodon:setup
step. The two key things that need to come over from the old server are the .env.production
file (which includes the secret keys) and the database. (This is where using Linode Object Storage helped - I didn’t need to move ~100 GB of media files over! They just stayed where they were in object storage.) I dumped the database (ended up about 1.4 GB), copied the dump file over, and imported it on the new server. The .env.production file needed minor updates for the new database connection parameters, but otherwise was good to go.
Everything seemed pretty functional, so then it was time to get DNS pointed over to the new server. I had been pointing at Linode nameservers and managing my DNS settings within Linode, so I had some work to recreate all the DNS entries back over at Hover (my domain registrar of choice). I belatedly realized that I could’ve edited the /etc/hosts file on my MacBook to point to the new server to allow me to start testing the site out before DNS resolved… Next time.
It’s never quite that easy
At this point, I could see the Mastodon services were up and running, the server looked like it was happily doing work, and my phone app was connecting up fine. But when I tried to load the web interface it was failing. I asked for help on the Mastodon Discord server and was reminded to look at Nginx configuration. Nginx was indeed throwing errors:
2022/12/17 10:39:30 [crit] 411144#411144: *1966 stat() "/home/mastodon/live/public/inbox" failed (13: Permission denied), client: 128.199.9.49, server: iowadon.org, request: "POST /inbox HTTP/2.0", host: "iowadon.org"
The helpful person on Discord immediately told me that Nginx wasn’t proxying the request to the puma socket… that gave me someplace to start looking. Puma was running fine, and Nginx was configured to pass the requests along to it.
After about 90 minutes of head-scratching and increasingly-focused googling, I found the answer on Stack Overflow (of course). Turns out when I had done the very first step, creating the mastodon user on the server, the /home/mastodon folder was set up with 750 permissions (no visibility for basic users). That lack of visibility into the folder for non-mastodon users was causing the problem. A quick chmod o=rx /home/mastodon
solved that, and voila! The web interface was up and running.
Backups
One bit that was left hanging at that point was backups. I had been paying Linode to do nightly backups, which appear to be just a snapshot of the full server instance. But I see now that for the Mastodon server, the only things that are critical to backup (again, since all the media is out in the cloud) are the .env.production file and the database dump.
It turns out I have a Synology NAS in my basement with sufficient empty space on it for backups, and Tailscale made it very easy to just rsync the database dump file to my Synology every night. So, I set up a quick cron job to run a database dump and rsync at 2 AM every day. Miracle of miracles, it worked the first time. (It worked the second, third, and fourth times, too…)
The aftermath
Several days into the new server I’m happy with the performance. Mastodon is enjoying the extra RAM, the CPU load is quite reasonable (~25% average, maybe), and I have a server instance that I can use for more hosting. I will slowly be moving the several Wordpress sites I run over to this server, which will eventually let me get rid of the hosted service I’ve been paying for for a decade. It feels like a good upgrade to me.
Hosting a Mastodon instance: moving asset storage to S3
I’ve had my Mastodon instance (iowadon.org) up and running for about a week and a half now. It’s not grown very large - 10 users or so last time I checked - but it’s been a great project to learn some more server admin type stuff.
Ten days and ten users in, my Linode instance seems to quite adequate from a processing standpoint. (I’m using the lowest-level Linode offering, which provides 1 CPU core and 2 GB of RAM.) However, the disk space usage is growing. The database itself isn’t overly large, but the cache directory (which stores profile pictures, preview cards for images) is up over 15 GB. I could work to get really aggressive about cache management, but realistically a larger cache is a reasonable thing. Mastodon provisions for this by providing easy hooks to use S3 buckets for the cache, so I figured I’d give that a shot.
I found Nolan Lawson’s excellent step-by-step instructions and followed them to a T. Well, almost to a T. I first went to set up an S3 bucket, kicked off the script to copy the cache over from Linode to S3, then went to bed. The next morning I did some more reading and decided that Linode’s very similar Object Storage service (it’s just their S3 clone) might be a better deal cost-wise. Amazon S3 charges a small amount per GB for storage and then a different rate for data access. Linode does it slightly differently - you pay a flat fee per month for a given bucket size, and then you get a large amount of transfer every month for free. Since my server is already on Linode, it was easier and simpler to just use the Linode buckets, so I tried again there.
One gotcha that’s not obvious when creating the bucket at Linode: if you’re going to put a custom domain name in front of the bucket, you need to name the bucket that domain name if you want their TLS/SSL stuff to work. In my case, I setup a CNAME record to point assets.iowadon.org at my bucket, so I needed to name my bucket assets.iowadon.org. There’s no renaming buckets, so I had to empty and delete my old one and then create a new one with the correct name. After that the certificate generation went smoothly enough and I once again kicked off the copy job. Then I went to the gym.
A couple hours and 68,000 file copies later, my cache is in the bucket and a quick restart of Mastodon via docker-compose pulled in the configuration updates that now point out to the cloud. It went amazingly smoothly.
Edit: I posted this a little too soon…
All the existing assets were working fine, but new assets weren’t loading properly. Commence some more googling. The correct answer was that in addition to the .env.production
settings listed in the instructions above, you also need this one:
S3_ENDPOINT=https://<linode_region>.linodeobjects.com
In my instance, that looked like this:
S3_ENDPOINT=https://us-southeast-1.linodeobjects.com/
Now it seems to be fully working.
Setting up a Mastodon instance on Linode
With the Muskian shenanigans happening over at Twitter, I’ve been looking into Mastodon as an alternative social media site. It’s an interesting concept - a distributed network of servers that all talk to each other through an open protocol. So, being the nerdy sort, I decided to try setting up my own server. Here’s how it went:
Registering a Domain Name
Just deciding on the domain name was the hardest part, I think. But once I settled on iowadon.org, I went over to Hover and registered it. Easy peasy.
SMTP email service
Mastodon needs an SMTP mail service to send notification emails. Not wanting to tie it to my personal Fastmail account, I looked around and determined that Amazon AWS Simple Email Service (SES) was a reasonable fit. The pricing is scalable and pretty cheap ($1 / 1000 emails at this time). It took a little bit of time to get configured, but the AWS website walked me through the steps pretty clearly. Basically, AWS will give you three pieces of info: an SMTP server name (available on the SMTP settings page, will be something like email-smtp.us-east-2.amazonaws.com
) and then a username and password. For the latter two it generates a pair that look like guacamole, and it warns you it will only ever show you them once, so copy and paste them to a useful location. If you lose them you’ll have to regenerate a new pair.
Also note: if you’re a new AWS account, AWS will put you in a restricted mode until you request a review and a move into production. Once you verify a domain identity you can also verify individual emails. You need to do this before you setup Mastodon because Mastodon will want to send you an email or two.)
Linode
I decided I didn’t want to go with a hosted setup - most of the custom hosting providers are all slammed right now, too - so it felt like my best options were either DigitalOcean or Linode. DigitalOcean advertises a pre-configured “droplet” that will give you a Mastodon instance with a minimum of configuration; Linode provides instructions for installing Mastodon on Ubuntu 20.04. I went with Linode.
I started out with a 1 CPU core, 2 GB of RAM, 50 GB disk space Linode. Once I get past the initial credit they give you (go find a referral link… my account is still too new to be able to give you one of my own), I think they’ll charge me $10/mo for it. We’ll see how well it performs if I get more than a few users.
The instructions were good as far as they went, but a few key things seemed to be missing. I’m going to walk through the instruction sections here and comment on them.
“Before You Begin”
This section was pretty straightforward. I followed the instructions for Creating a Compute Instance, Setting up and Securing a Compute Instance, and Adding DNS Records.
“Install Docker and Docker Compose”
Followed the instructions for installing Docker, then for installing Docker Compose. When you clone the Mastodon git repository in the next step, it includes a docker-compose file. It took me a few minutes to realize that the docker-compose also includes the Postgres database, so there’s no separate database installation required on the Linode server.
“Download Mastodon”
OK, this bit was simple. It’s just a git clone command.
“Configure Docker Compose”
Editing the docker-compose file is a little bit of a pain. Pay attention to the details. For step #3, setting up the Postgres password, db, and user, you can set the password to whatever you want it to be. Write it down because you will need it down in the next section.
Now, step 6, generating SECRET_KEY_BASE and OTP_SECRET. There are 4 separate commands in the instruction box: 2 echos to create the values and two ‘sed’ lines that I mistakenly assumed would write the value into the config file. Don’t assume that! Follow the instructions directly and copy/paste the values for SECRET_KEY_BASE and OTP_SECRET into the .env.production file. Same story with the VAPID_PRIVATE_KEY and VAPID_PUBLIC_KEY.
“Complete the Docker Compose Setup”
The involved command here is the rake command that does the initial database setup. It will ask you a bunch of questions here, many of them duplicate info to what you just put into .env.production. Such is life.
“Initiate the Docker Compose Services”
Two commands. Easy peasy.
“Setup an HTTP/HTTPS Proxy”
Here we install nginx. There’s an nginx.conf file in the Mastodon distro that is a good start, but there are changes you will need to make to it.
There are two lines that say root /home/mastodon/live/public;
. You have to change these lines. Having followed the instructions thus far, the actual location of my /public folder was /home/chris/mastodon/public
. Update the root lines to point to the actual location of your public folder.
Next edit, and I don’t remember where I found it, but it seems to work: every instance in that file that says try_files $uri =404;
needs to be updated to say try_files $uri @proxy;
I think that’s all I had to do to the nginx config.
“Get an SSL/TLS Certificate”
I followed the steps to install Certbot, but when I got to step #4 where you run certbot to generate a certificate, I got an error saying that there was no ssl in a listen section of my nginx configuration. It turns out there is a “snake oil” certificate you set up first to get things moving, then you can get and install the real certificate. For the snake oil thing, use the steps described here. I then had to cleanup a broken renewal with steps listed here, but that may have been because I was messing around w/ certificate stuff before I found out about the snake oil. If your renewal dry run works ok, you can ignore that second link.
“Using Mastodon”
The instructions would lead you to believe at this point that the site is ready to use. However, when I went to iowadon.org, I just got an nginx configuration error. After a bunch of debugging, the key issue I found was this: I had never run any command that did a bundle install, that step where ruby installs and builds all the gems listed in Mastodon’s gem file. Of course it’s not gonna work that way!
The command you will want to run is bundle exec rails assets:precompile
.
When I ran that it then sent me through several searches to install other libraries on the linux server. To save yourself some time, run this:
sudo apt install ruby-bundler ruby-dev ruby-full build-essential libicu-dev zlib1g-dev openssl libgmp-dev libxml2-dev libssl-dev libpq-dev
That should give you all the libraries you need to complete the bundle install.
It works!
After all that, sure enough, it worked! My Linode CPU usage had been sitting solidly between 10% and 15% the whole time, apparently because it was in a loop continuously trying to restart my misconfigured Rails app. Once Rails started up cleanly, the CPU usage went down to about 2%.
Adding another admin user
I originally set up an admin account for iowadon.org during the setup steps. Then I realized I would want my own account (@cjhubbs@iowadon.org) to be an admin once I moved it over. How to do that, I wondered? Turns out Mastodon has a command-line tool called tootctl just for this purpose. But to run tootctl and get it to talk to the database running in Docker, you need to run a special version of the command. What you’re looking for is this:
docker-compose run --rm web bin/tootctl <tootctl command>
Magic!
Impressions
First off: it’s amazing how much snappier Mastodon is on this server than back on mastodon.social. The account migration process went smoothly enough, too. I will advertise it to a few friends once I get the Amazon AWS SES account moved to production so it can send emails to people other than me. Then we’ll see if it gets any traction. I’ll follow up later.
Love hopes all things, but I’m still hitting the ‘Unfriend’ button
Over the past month or two I have been making a renewed effort to engage in good faith political discussions my Facebook friends. I had been hoping that since the election was over and there are a handful of key points that are very obviously matters of fact, maybe I could reason with my friends through those topics.
1 Corinthians says that love hopes all things, and my rationale went along these lines: I love these people, and I hope that eventually their eyes could be opened to the truth rather than the lies they’ve been chasing. My engaging and speaking truth could be a pathway toward that realization for them. After all, if everybody who disagrees with them just gives up and disengages, the echo chambers just get worse, right?
It’s been an exhausting month. Maybe I’m just really bad at this. Maybe people are far more entrenched in lies than I wanted to believe. Maybe Facebook is really not a good platform for those conversations. But whatever the case, I got nowhere with my arguments, got called a bunch of names, and my stress level went through the roof every time I was inexorably drawn to tap the Facebook app icon.
So last night enough was enough. I went through Facebook and unfriended a bunch of people who aren’t really in-person friends, and unfollowed a whole bunch of people who I do know in person. I still love these people and pray and hope that their eyes would be opened, but this can’t be the way. At least I hope that if they someday reach a point where they see things differently and want someone to talk to about it, they’ll remember me as someone who’s willing to talk.
Social media exhausted me again
Social media exhausted me again.
If I’m more self-reflective I guess I have to say I exhausted myself on social media again.
Back a year ago in November I did a social media fast. For two months I was off Facebook and Twitter altogether. When I came back to it I pared back my Twitter follows, from ~600 to ~300.
In March, after the latest Facebook privacy mess, I decided it was time to be done with Facebook. And so I deactivated my Facebook account.
But over the last few months I’ve let them sneak back up on me.
I had the best intentions - my church’s online community (mid-week announcements, reminders, prayer requests, etc) are all on a closed Facebook group. I also enjoy the Christ and Pop Culture Facebook group. But it turns out I don’t really enjoy Facebook that much, and if I have it on my phone it keeps sucking me in.
Twitter I’m more attached to. I have friends that I’ve made and kept in contact with almost exclusively on social media, and I keep thinking how much I don’t want to lose track of them. But then Geof deleted his Twitter account, and Stephen and Misty are rarely on it anymore, and Dan much more rarely, and John almost never. I feel there’s an opportunity here to still have interaction with online and distant friends… but we’ve apparently all decided as a group that Facebook and Twitter aren’t the right thing for it anymore. (If you guys are all running some Friends and Family Slack group and you haven’t invited me…)
I still do find some value on Twitter, but I’ve gotta cut my follows hard again. The Kavanaugh thing sucked me in again to where politics attained an outsized priority compared to everything else. I know better… but wow it sucks me in.
So, here’s to less frenzy on social media, and more focus on things that matter (acknowledging that some of those things might actually still happen on social media!). Maybe I’ll do some more blogging. And if we need to resurrect a phpBB forum or something to interact with distant friends, maybe let’s do that, eh?
Farewell, Facebook
I just posted this to Facebook:
So let’s review what we’ve learned about Facebook in the past couple of weeks:
Enough is enough.
So, I'm deactivating my Facebook account and deleting the apps from my phone. There are a few things I'll miss, but many that I won't. If you are my friend and want to stay in touch, there are still a multitude of available ways. I'm [@cjhubbs on Twitter](http://twitter.com/cjhubbs). I'm chris (at) chrishubbs.com for email. If you're the texting type, hit me up for my phone number. Thoughts that I used to post to Facebook will instead be posted to my blog. I have no preconceptions that this action on my part will change Facebook for the better... but hopefully it'll be a change for the better for me. I'd encourage each of you to think about it for yourselves.
Some thoughts on my social media fast
Back in November I decided it was time for a social media break. Facebook and Twitter were turning into frustrations that caused me more to feel fractured than to be too helpful. So I deleted the apps from my phone, closed the usually-open tabs in my browser, and decided to abstain until Christmas.
There were a few things I was afraid I’d miss - things that had dissuaded me from doing a fast like this before now - chiefly updates and photos from family members on Facebook, and staying in touch with a handful of friends for whom Twitter is our primary communication means. But for a month, it was definitely time to give it a try.
A month later it turns out that I didn’t miss all that much. Yeah, there were a few pictures from family members. I was able to catch up with those pretty quickly. The biggest miss was indeed the Twitter friends. There were a handful of times when I had the itch to post something to Twitter or FB and felt like I had no place to put it… but then I remembered my blog.
There were some unexpected positive aspects to the fast. Within the first few days I got text messages from friends who never otherwise text me. That was fun. And I spent some more time actually writing stuff on my blog. I kicked off a topic series that could eat up far more time than I have to actually do it justice. And for family pictures I set up an iMessage thread with my parents and all my siblings and it’s been a lot of fun, too.
On December 26th I reinstalled Tweetbot on my phone. My first step was to unfollow a lot of accounts. I had been following nearly 600; I cut out nearly half of them, trying to retain only real people I know personally or through one of my online communities. I may still need to cut down a few more noisy accounts, but it’s a little easier to tolerate being a Twitter completionist when I pull it up after a few hours’ break and there are only a hundred or so tweets to read through.
I’m not sure I really want to get back on to Facebook. I will stick around the Christ and Pop Culture group at least, but if it were to have a separate platform (which it won’t, for reasons that I understand), I would probably just jettison FB altogether.
I do want to spend more time writing on my blog - something that seems far more productive than being endlessly distracted by social media. Hopefully this taste of social media absence will help me set more reasonable levels of interaction in 2018.
Unexpected benefits...
Apparently one of the benefits of a social media fast is that my friends start texting me to say hi!
It’s been a nice surprise…
A Social Media Fast
The holidays aren’t typically a time we think of fasting… but it was time. I’ve been a perpetual user of social media for just about as long as that media has existed. I had an account on Facebook they day they opened it up to more than just college students. I was an early adopter and evangelist of Twitter, and while I don’t tweet as much as some people do (maybe 32k tweets in 10 years… which is still 10 a day, I guess) I’ve had a Tweetdeck window perpetually on my computer desktop and Tweetbot on the front page of my iPhone.
But social media has been wearing on me this year. I’m sure our current political situation hasn’t been helping. Twitter seems mostly to be about immediate response and angst these days, and while it’s helped propel some valuable trends (#MeToo comes to mind), it got exhausting feeling like I needed to keep up. For a while I thought I was doing good things by posting strong opinions on Facebook. Eventually I think though everybody that might’ve disagreed (who I was hoping I would reach) likely unfollowed me or the news sources I was sharing. And so it became mostly just an echo chamber. So Monday morning I closed my Twitter and Facebook tabs, deleted the Facebook and Twitter apps from my phone, and decided it was time for a fast.
This decision is not without trepidation. I’ve had many social media relationships turn into real friendships over the past decade, and many local friendships enhanced by the online communication. I’d hate to lose that. (I am keeping Slack installed, which provides a lower-intensity communication path to several of my closest friends.) Maybe after a detox I’ll be able to find healthier ways to get my fix of online debate and pictures of the nieces and nephew without feeling tied to it.
So in the mean time, if I have something I want to post, it’s going to go here on my blog instead of Facebook or Twitter. The blog will automatically cross-post to those services, but I won’t be responding there. We’ll see how it goes. Mainly I need less mental distractions… and these are the ones that need to go. Here’s hoping.
A Holistic Digital Person
Yesterday morning I was tweeting from the beginning of an industry committee meeting I’m attending this week in Florida. I was griping a little bit about a presenter who was reading every line from his slides. This inspired a response from a friend of mine:
@cjhubbs: I’ve come up with the wording of your next business card Christopher J Hubbs Sr Systems Engineer Please don’t follow me on Twitter
I understand what Jason’s getting at. Do I really want work people seeing my tweets about work, and for that matter connecting my work persona with my tweets about the rest of life?
Social media has changed things in the workplace, for sure. Back in the early days of Facebook and Twitter, employers' general attitudes were typically “don’t waste your time during work hours”. Today, we have social media policies, are encouraged to “like” our employer on Facebook and to self-identify as an employee on Twitter. With all of those changes, though, many are still reticent to connect up in those ways.
My philosophy is a little bit different. When it comes to online life, I see two basic principles:
Let me flesh out a bit what I mean by these.
Assume that anything you put online will eventually be public knowledge.
What I don’t mean here is that everything should automatically be posted to a global scope by default. When I post pictures of my kids to Facebook, I still limit their visibility to my friends.
But if there’s something that ought to stay private, or something that would be damaging to me or hurtful to others if it was made public, then it shouldn’t be posted online. At all. Regardless of the intended distribution.
I will try to not separate segments of my online life.
I think it’s valuable (and frankly, it’s a lot easier) to not try to hide my personal life and non-work interests from my co-workers. This doesn’t mean that I friend every co-worker on Facebook. But I use the same criteria for adding co-workers on Facebook as I do adding anybody else on Facebook. And what I’ve found over the past several years is that being Facebook friends with these co-workers improves our working relationship as well as our personal friendship.
I think it’s beneficial for folks to see an honest, unvarnished me; that I am a whole person juggling work, family, faith, and other life just like anyone else. I’m Facebook friends with one previous boss and with my current boss (though we were FB friends as coworkers before he became my boss, which changes things a bit).
As time progresses and more and more of our workforce are active on social media, I expect these relational trends to continue. Social media usage will amplify your foolishness if you choose to behave that way. However, if it reflects a life that is wisely lived, presenting a holistic digital picture of life should serve to enhance relationships rather than hinder them.
It does make for occasional interesting moments, though.
At the beginning of a customer meeting with an Asian customer a few years back, when I exchanged business cards and introduced myself, there was a light of recognition in their eyes. “Oh, Chris Hubbs! We visited your website!” I guess this means they do their research, but I’m also sort of curious what they thought about what they found on my site, given that I rarely blog about work but often ramble on theology and music. (As far as I can tell none of them decided to follow me on Twitter after the fact.)
I will follow my employer’s guidelines for social media use.
This one is a no-brainer. My employer has a good set of guidelines for use of social media, which essentially consist of “don’t let it interfere with work”, “don’t speak for the company”, and “remember you represent the company”, and “don’t be stupid”. It means that I have a general note on my blog about page saying that the website contains my views, not those of my employer. (If I blog about something industry-related I will reiterate that disclaimer within the individual post.)
In conclusion
Dave Eggers, in his recent novel The Circle, envisions a social-tech-saturated future where the happy benefits of social sharing serve only to mask a scary dystopian scenario where the social mob mandates total “clarity” - the broadcast of every bit of a person’s life for open viewing by anyone. While I understand what he’s getting at, I don’t think my current level of sharing and openness is too far down that path.
While I undoubtedly post a TMI tweet from time to time and end up sharing silly family anecdotes with co-workers who are FB friends, on the whole this model of openness is valuable for me. Not only does it enhance personal relationships, but by blatantly putting stuff online I think it leads the way for others who might not be as bold, and lets sympathetic readers know that they’re not alone in their opinions and experiences. As far as I’m concerned, that makes it worth it.
A plea to John Piper on the use of social media
There’s been a lot of blogospheric noise today around a tweet that Pastor John Piper made yesterday in the aftermath of the Oklahoma tornado. Piper quoted two verses from Job. After a lot of furor around those tweets, Piper first deleted those tweets, then tweeted something more clearly comforting. Finally, this afternoon the Desiring God website posted a clarification article, explaining that Pastor John’s motivation for his original tweet and his following actions.
Ever since childhood I’ve been the youngster advising the older ones on technology. At the risk of impertinence, there are a few things about the use of social media that I’d like to offer as advice to Pastor John (or any of us using Twitter, et al.).
There is value in using social media. Let me start by commending you, Pastor John, for using Twitter in the first place. The internet has provided us many ways to communicate, and it takes courage and wisdom to dive in at all. Keep at it! Even if folks regularly disagree with you, the message is getting out.
It’s really easy for things to be taken out of context. Especially when you only get 140 characters at a time. I don’t think I need to say more.
Nothing on the internet ever really goes away. Yes, Twitter provides that nifty delete button. I use it myself once in a while - usually when I make an embarrassing typo that I want to correct. But especially for those with a large following, things never really disappear. It takes only a second to make a screenshot of a tweet or a web page, and then that image can persist forever.
You cause more questions by deleting. In my experience, it almost always raises more attention to have deleted the offending tweet or blog post than it would to leave the post in place and follow it up. This is especially true on Twitter, where tweets are usually just seen once as they flow through someone’s timeline. There’s no great additional harm done in leaving the tweet up, but it feeds furor and suspicion when you take it down.
Use the same channel to apologize. A pastor of mine once advised that my apology for an offense should be as public (or private) as the original offense. In this case, it would be wise to offer the apology on the same channel as the offense. It’s clear from the DG post, Pastor John, that you meant no harm or offense to those suffering from the storm, and your follow-up tweet helped clarify. But the contrition in the DG post would’ve been magnified had it been expressed on Twitter not as a link to a long blog, but simply as a tweet or two.
It’ll probably happen again. Here I speak from personal experience. I’ve posted things via social media before that I now regret and repent of. Sadly, I’m sure I’ll do so again. So these thoughts are just as much a reminder to me as they are a plea to an older brother.
May the words of my mouth, and the meditation of my heart, be acceptable in your sight, O Lord, my Rock and my Redeemer.
A great response to Bill Keller's social media hand-wringing
A wonderful response to NYT editor Bill Keller’s hand-wringing post on social media was written today by Mimi Johnson as a guest post on her husband’s blog. Ms. Johnson has experienced the social media revolution first-hand as the wife of a newspaperman, and her insight (and writing chops) come through loud and clear:
In response to the Times blogger Nick Bilton’s well-reasoned post about his column, Mr. Keller offered that he “praised Twitter effusively.” No, I’d say his praise of Twitter was a perfunctory sop while his criticism of it was effusive. Why? Even though Mr. Keller understands the various tentacles of social media intellectually, emotionally he doesn’t like them. He is undoubtedly a sophisticated man, who must have realized long ago that change always brings loss as well as gain. Indeed, he mentions his own father’s regret at the passing of the slide rule in favor of the calculator. But, as the ancient saying goes, “the dogs bark but the caravan moves on.” Mr. Keller recognizes the social media caravan and he does not like it one bit. So how does he bark his disapproval? By trying to make those who embrace it feel stupid for doing so.
Bingo.
I met Ms. Johnson once at a Cedar Rapids tweetup. In addition to being a wonderful writer (as this post demonstrates), I can attest that she is also a gracious, charming and delightful woman.