Tag Archives: mirror

GitHub growth problems

When first writing about mirroring this blog, there were only 2 places — WordPress.com and GitHub — that came to mind as good choices:

I believe both will last for decades, maybe even 100 years, and both embrace the open web in a way that most other centralized web sites do not.

I still believe that, but Bloomberg has an article about growth and spending problems at GitHub:

In September 2014, subscription revenue on an annualized basis was about $25 million each from enterprise sales and organizations signing up through the site, according to another financial document. After GitHub staffed up, annual recurring revenue from large clients increased this year to $70 million while the self-service business saw healthy, if less dramatic, growth to $52 million.

These numbers seem fantastic except that GitHub is losing money overall. GitHub has transformed from a small profitable company to a large unprofitable VC-backed company. Here are some of the goals from GitHub’s 2012 announcement about taking funding:

We want GitHub to be even easier for beginners and more powerful for experts. We want GitHub everywhere — whether you use Windows or Mac or Linux or some futuristic computer phone that hasn’t been invented yet — we want GitHub to be an awesome experience. We want to make it easier to work together than alone.

They’ve made progress in the last 4 years. I’m not sure the GitHub user experience has improved more quickly because of funding than it would have otherwise, though.

I love GitHub and use it exclusively for my source and my client projects, because there’s a productivity benefit to having everything in one place. I hope GitHub can turn the corner on profitability. And most importantly, I hope they have a sustainable long-term plan beyond this initial quick growth.

Complete mirror of this blog

I’ve been blogging here for 13 years. If you take any random post from that first year, the majority of the links to other web sites are broken. The default outcome for any site that isn’t maintained — including the one you’re reading right now — is for it to vanish. Permanence doesn’t exist on the web.

We can solve this, but it will take time. For now I think mirroring our writing is a great solution, to guard against domain names expiring and other inevitable failures. But where to mirror to?

Only 2 companies keep coming to mind: WordPress.com and GitHub. I believe both will last for decades, maybe even 100 years, and both embrace the open web in a way that most other centralized web sites do not.

Even though I self-host this weblog on WordPress, I’ve chosen to mirror to GitHub because of their focus on simple, static publishing via GitHub Pages. It has the best chance of running for a long time without intervention.

I exported all of manton.org with the httrack command-line tool and checked it into GitHub, with a CNAME for mirror.manton.org. It works perfectly. I still need to automate this process so that it updates regularly, but I’m very happy to finally have a complete mirror for the first time.

Snippets

Right after publishing yesterday’s post on mirroring content, I added a link to IndieWebCamp’s POSSE, a project from Tantek Çelik to provide a framework for mirroring posts to different services. It looks like that group is doing great work to identify microformats that will make this a more open standard.

Noah Read also rolled his own solution for writing posts on his site first and then letting them flow to Twitter, App.net, Flickr, and other services. He calls them Snippets:

“Microblogging and social sharing will survive, whether or not the current players do. So I wanted to take control of the things I publish on these networks, without abandoning the great things only they can provide, the conversations and reactions to what is shared. So Snippets are the way I will post to these services from now on.”

Check out Noah’s snippets feed. I especially like the name. As a programmer I’m used to thinking “code snippet” when I hear it, but with enough use it’d be easy to reclaim its normal non-code definition.