On Outrage Culture

It’s really, really out of control. Social media and smartphones plus a 24 hour news cycle that needs to manufacture breaking news to hold viewer attention (to keep the ad dollars rolling in) is the cause. Opt out. Seriously.

“This is the current pitch of outrage culture, where voicing an opinion someone says she sees as a threat qualifies you for instant annihilation, no questions asked. Why ask questions, when it’s more expedient, maybe more kickass, to turn anything you might disagree with into an emergency?”

Nancy Rommelmann

The Sad State of Journalism

US Senator Lindsey Graham (R-South Caroline) had a nice series of Tweets on today’s quite sickening White House press conference which I’ve embedded below.

In my opinion, Senator Graham nails it. Mainstream media journalists in the US have deluded themselves into thinking that they should be, and are part of the Resistance.

What I saw today was so-called journalists trying to make themselves the story rather than doing their jobs. They have the distinct privilege of being able to ask questions of President Trump and instead of asking questions that everyone might want to hear the answers to, they’ve decided to turn this into their own soap box where they ask loaded, partisan questions that serve only to elevate their own agendas.

You are journalists. Do your job.


It’s finally election day in the US. Sadly, in spite of the fact that the campaigns for _this_ election are now over, the campaigning for 2020 is just beginning. The US election campaign is never-ending and a permanent fixture.

Will the Republicans hold onto the Senate and the House? Will Democrats make gains and start the push back against the Trump Presidency? We’ll find out tonight…

No matter what happens, it will be more of the same political games for at least two more years.


I decided that since I rarely update my running blog anymore, that it would make sense to roll all that content into this blog. Thanks to the WordPress import/export feature, I was able to easily combine the two sites into one.

Posts that aren’t running related (like pics and short posts) will be in the Notes category. All the former runnerjames.com posts are now in the Runner James parent category with the old subcategories underneath.

I’m using Cloudflare’s super cool Page Rules to serve up 301 Permanent Redirects from old runnerjames.com URLs to the new jameskoole.blog URLs.  For example, this post on the old blog – https://runnerjames.com/2016/01/03/getting-the-most-out-of-strava/ automatically redirects to it’s new home here and the redirect alerts the search engines that the URL is moved so they will update those links over time to point to the new URL.

I’ve also updated the theme to handle full posts a bit better. And I added an Instagram widget to the sidebar since I’m using that service a little bit more these days despite the Facebook connection. Request a follow there if you want.

Opting Out Update

It’s a long process, but pulling away from so-called “social media” platforms and moving to posting content on domains and sites I own has been going well. Part of this move has included moving away from ad-supported, privacy-hostile services entirely (where possible).

I started by deleting much of the content I had put on these services over the years. 50,000 tweets, thousands and thousands of Facebook posts, pics and updates, and many hundreds and hundreds of Instagram photos.

GDPR-related emails about privacy (sic) policy updates provided a nice reminder of some other services I had signed up for over the years and I deleted dozens of accounts over the past few weeks.

Instagram’s new content exporter combined with Micro.blog’s importer was a nice surprise that allowed me to bring over the last couple of years of Instagram photos to my own blog.

For Facebook, I used various scripts and some tedious manual work to delete everything I’d ever posted to that service. I also untagged myself from photos and posts that “friends” had tagged me on. Did I get everything? Probably not…so eventually I’ll need to fully delete my account. So far I’ve just deactivated it.

Since deactivating Facebook a few weeks ago, I’ve noticed the following:

  1. I’m using iMessage or SMS to talk to friends far more often. And they reply. It’s lovely.
  2. I don’t miss anything about Facebook except seeing pics posted by friends at events we were both at. I solved this by asking them to iMessage or SMS me any pics instead.

I plan to keep my Twitter account around, along with Tweetbot (as long as it still works). The same goes for Instagram and the Instagram app on my iPhone.

Both Twitter and Instagram are handy for tracking things like breaking news, transit disruptions or to get information on events I am attending (like the Vancouver Marathon). It’s unfortunate that Twitter became the de facto way to do one-to-many communications over the years. A decentralized, open standard like RSS would have been so much better.

I mostly wish that our local transit service (Toronto Transit Commission) provided service distruptions and updates via RSS. They have RSS updates for planned disruptions and changes, but not the more useful “live” updates. On my iPhone, the Transit app does a nice job of passing these along through notifications.

For following news or blogs, I’ve returned to RSS and I’m using Feedwrangler and Unread on iSO and Reeder on macOS. News is tough because it’s not well curated – I get literally all the stories from my local newspaper instead of having top stories, or some sort of categorization. Perhaps there’s a solution for that out there.

More to come…


Reclaiming Your Social Life Online

There’s been a lot of talk over the years about creating a “Facebook killer” to replace Facebook with something that isn’t a horrid privacy disaster.

Remember Diaspora? How about Ello? Or Path? Yeah…pretty much nobody else does either.

The one thing almost all of these services or ideas miss is that we already have a replacement for Facebook. It’s just that over the years we all forgot how to connect the dots on this wonderful thing we call the Internet.

Here’s the solution (aka how it used to work):

  1. A domain name and a website forms the core for each person who wants to share. Maybe that’s a WordPress blog, or a Micro.blog site. It could be a Squarespace site, a Ghost blog, hand-coded and hosted on GitHub or even served up locally from your own computer if you’ve got the know how to do that.
  2. RSS ties everything together. If you want to publish to your own website and then syndicate it to other places, then Really Simple Syndication (RSS) is the answer. It’s existed for a long, long time and works well. There are lots of clients and pretty much every content management system (CMS) can generate RSS feeds. Remember Google Reader? It’s how we used to get news, information and updates from our friends blogs.
  3. Comments and Trackbacks interconnect everything. Remember comments? That’s what we used to do before Twitter and Facebook came along. We’d read a blog post, and leave a response in the form of a comment. If we had a lot to say (or if we wanted to re-blog or amplify a post to our audience) we’d write a post on our own website and a trackback would link the original post to ours.

We all got lazy

Facebook and Twitter made us all lazy and now we’re paying the price. It used to be important to own our content and ensure it was portable. Then these services like Facebook and Twitter came along and promised to make it all so easy. The only downside was we no longer controlled our own content, and we used their domains and drove traffic to their sites. Never mind we also had to trade every single bit of data about ourselves that these services could take from us. And ads. So. Many. Ads.

My efforts to take back the web

Here’s what I’m doing to make this a reality. Many others are also either making the switch to an independent Internet, or never stopped doing it this way.

I publish everything on my own site and domain name first (you’re reading it right now). I use WordPress for this but there are a ton of good content management systems that would work fine. As long as there is an RSS feed, you are good to go.

Self-publishing doesn’t mean you have to stop using other services. In my case, I’ve stopped posting to Twitter, Facebook and Instagram because I don’t think the privacy trade off is in line with the limited value they provide. But if you have audiences or friends there, the tools exist to continue to post out to those services. The key is to include links back to your site, and not drive traffic to a domain you don’t own or control.

This is referred to as Publish (on) Own Site, Syndicate Everywhere (POSSE) and there are a number of great ways to accomplish this. A neat little service called Micro.blog does a great job syndicating your posts out to a good list of services. IFTTT can also take an RSS feed and push out posts to other services.

The IndieWeb is alive and well

The IndieWeb organization is dedicated to maintaining independent Internet publishers and creators. They have a ton of information and even tools that help creators take advantage of what the Internet can offer without selling out and giving up control of their content to companies and services that are far more interested in monetizing your personal data than helping you share ideas.

If you want to get started down the road to owning your own content and identity online, then the first place to start is with a domain name. I recommend Hover because I happen to work there and we are focused on usability and privacy, but any leading domain registrar will do. You can get a domain name for about $15/year.

The reason I like Hover is because we don’t tie you to a specific service or tool. Instead, we built smart tools into Hover that help you connect your domain to whatever service you want. And if you change your mind, it’s easier to switch and keep your content at your own domain forever.

Once you have a domain name, you need a way to get a site online. That could be a simple WordPress site using WordPress.com (like this site) or self-hosted using inexpensive shared hosting. Or you can use Micro.blog which is a nice, easy to understand way to publish short posts (just like Tweets or Facebook status updates) that you control.

It takes some time and effort, but in the end, it’s more than worth it to own your content and be in control of what you publish.

How I Am Keeping My Content in My Control

I’m mostly documenting this for myself, but if it helps someone else, that’s great! This is also a work in progress.

The centre of my online world is a WordPress install using the domain jameskoole.com. That site is hosted by Siteground at the moment, but because it’s WordPress, I can move it around as needed.

I’m using the theme Independent Publisher 2 which looks nice for short posts and is free. I’ve done some limited customization via CSS.

WordPress has a few plugins installed to make my life easier.
* Jetpack: mostly for Markdown support and also to make it easy to post from the WordPress app on iOS.
* JSON Feed: creates a JSON feed that micro.blog consumes in addition to the usual RSS feed.
* Really Simple SSL: the best way to get SSL support in WordPress (along with a cert from Let’s Encrypt that is all handled by Siteground in cPanel).
* Markdown Editor: a nice replacement for the post editor in WordPress that has Markdown syntax highlighting and support.
* Insert Headers and Footers: an easy way to add “rel” links to the header to identify other sites you control.

I write most of my posts in WordPress, although I can also post from the micro.blog iOS app, or the WordPress iOS app. Once posted, they spread out via the JSON feed to micro.blog which posts them to my timeline there.

Posts get tweeted via micro.blog which has an API integration that works very nicely. You have to pay for the $2/month plan, but I’m, happy to support the service. Another option is to use IFTTT.com and the RSS to Twitter recipe.

Instagram is complicated because they suck and don’t have an API that allows posting. Currently I post to Instagram natively, and then I use the Sunlit iOS app to manually report that picture to Sunlit which really just posts it to my WordPress blog (and micro.blog via the JSON feed). That also posts to Twitter, although I can exclude those if I wanted to.

I tried OwnYourGram for a short time to automate all this and it worked okay. The biggest downside is that the cross-posting from Instagram to everything else can be delayed by hours and hours depending on polling times. I’d rather just manually repost to Sunlit so I’m in control.