Wednesday, November 26, 2014

Reclaim Your Domain - GoDaddy Time!!

I cannot think of a better example of my RECLAIM YOUR DOMAIN work, than migrating the last domains from my GoDaddy account. I’ll try to not bore you to death with the GoDaddy story, but it is the single largest point of joy, and suffering, in the development of my digital self, I can think of.

I have been a GoDaddy customer for over ten years. Around 2000 I discovered the registrar, who offered a significant cheaper domain registrar, giving me a domain for a year at about $10, where previously I was paying $35 a year, per domain. At one point, I had over 100 domains registered for my own projects, and my business at the registrar.

Over the last 10 years, GoDaddy managed to get "spammier" in their approach to doing business, constantly changing their interface around the single feature I was using the platform for—domain registration. I didn’t need your other shit, I was only there for your cheap domain registration, and DNS services--I could do the rest myself.

Along the way, it was clear GoDaddy was more than just spammy, their were also pretty sexist and racist. GoDaddy represents what is wrong with the World Wide Web, demonstrating that the dominate vision of WWW is an equivalent of Times Square Advertising in New York. Nobody should have to endure GoDaddy just to be able to own a website.

I moved most of my domains off of GoDaddy a couple years ago, but I’ve hesitated the complex migration of, and This holiday season I’m thankful for the ability to reclaim my domain(s) from GoDaddy, migrating them to, and being able to setup CloudFare to help me manage, and defend my domain.

I’m not against making money on the Internet, but please if you do business on the web, offer more value than GoDaddy does, and please show some class when it comes to selling your products, and don’t just vomit in face with your website, and your services. I’m a big supporter of the Internet, and World Wide Web, but I also we can do better, which is why I finished reclaiming my domains(s) from GoDaddy today. #GoodBye


Sunday, November 16, 2014

Public Front-end And Private Back-end For My Sites On Github

I moved my public presence onto Github almost two years ago, running API Evangelist as 90+ Github repositories, driving each portion of my presence using Github Pages, HTML, CSS, JavaScript, and JSON. Each of my research sites run as a public website using Github pages, in the gh-pages branch of its repository.

Over the last year I've been playing with how to use the master branch for some projects, as a private content and data storage. Github repositories are cool like that, where you can make the gh-pages branch public, and the master branch private. If I don't want some content, JSON data, or files public, I just put it in the master branch for the research project.

All of this is possible because of Github, the social coding platform. Github provides a cloud platform on top of the open source software management solution Git. Using Github I can create repositories that act as storage solutions for each of my research projects. I count 78 repositories currently making up the API evangelist network, but I see over 100+ repositories in my Github profile. Most of my repositories are publicly available which is free with Github, but a growing number are private, and my monthly bill for Github has increased each year.

Github Pages
Github provides a simple new service that transformed Github repositories from code management folders, into public websites, called Github Pages. With a three step wizard, any Github repository can have a new Github Pages (gh-pages) branch, immediately giving each repository a public face. Each Github Pages site is extremeley simple, only running HTML, Markdown, CSS, and JavaScript, but thats ok, it is just the way I like it.

Jekyll is a simple, blog-aware, static site generator perfect for personal, project, or organization sites. Jekyll gives you the ability to manage the look and feel of your site, along with simple management of pages, and a blog. The rest is up to you. There are plenty of folks who are pushing the boundaries of what Jekyll can do, comparable to the evolution of the WordPress platform, but in a much more static way--Jekyll is the hollywood front for all of my public website.

Github API
Along with Git repositories, Github Pages, and the other social features, Github provides an API which gives you access to users, repositories, files, and pretty much every other aspect of the Github platform. This means that each one of my research projects, and their public web sites have an API. I use the Github API to publish all of the blog posts, pages, and JSON data files that support my research, across 78+ projects. is the fastest, and easiest way to integrate oAuth of popular platforms into your apps. This is no joke, with just a few lines of code, you can put Facebook, Twitter, Github, and other platforms oAuth into use on any website. I use for putting Github to work as the identity and access layer of my network. After you setup your account, setup an and Github application, and connect them together, all I do is grab my app key, and publish this JavaScript:

In the header of my websites, I add a little handler that keeps an eye out for the incoming oAuth_Token--Github and handle everything else.

If the oAuth_Token is available, using JavaScript I rewrite any navigation, and other key links, appending oAuth_Token to the link, so that it will travel with the user from page to page, alerting the website that the user is authenticated.

Next I use Github.js, a JavaScript wrapper for the Github API. Using the oAuth_Token I get using and the Github API, I can now make actual API calls using the Github.js wrapper to the private master branch of this repository, that is, if you have access.  There is one more layer of security, before you can actually get access to anything.

Using Github.js I try to grab the contents of a file in the private, master repository, and if the authenticated Github user is added as a collaborator on the repository, the call is successful, if not I deny the user access to any content, data or files in the projects master repo. This is the line between public and private, or front-end and back-end on my websites. Using Github identity as authentication to my private world, I am able control who has access, using the standard Github organization, and user management.

Currently I’m using this layer to decide whether or not to access and display data from JSON files, and access to PDF files located in the master branch. You can see this in action via my messaging research of email, SMS, or MMS. If you are listed on each of the projects repos as a collaborator, and logged in via Github, you can see the building blocks for each research area, and the current PDF version of the research report--otherwise you just get the default information.

As with all of my work, this is a work in progress. This step in my evolution is all about using as a paywall for my research, where other tools I’ve built like my CSV Converter, and Data On Github applications are using the master branch as application store, even if you aren't logged in the app will still run, you just can’t save anything. Next I’m going to play with this approach as part of my API broker research, exploring different ways of aggregating APIs, and managing key access using the private master branch for each repository.


Monday, November 3, 2014

Voting With My User Account: Shutting Down My Quora Profile

In the digital age, being a user of any service, is an endorsement, and vote about whether or not an online service is good or bad. Just as we do in the real world, and shopping at stores that reflect our views, we need to make sure and do the same online.

Each time I am frustrated with a service because of their disregard for privacy or security, or their heavy handed terms of service, their exploitation of user data, or D) all the above, I’m going to blog about it. After blogging about it, and things do not change over time, I will weight the pros and cons of a service, and vote with my user account.

Up this week is Quora. I wrote about Quora’s lack of an API a while back, have ranted on Twitter several times, and after reading my friend Eric Mill’s (@konklone) post on "Quora Keeps the World's Knowledge For Itself", I've decided to shutter my Quora account once and for all. I like idea of Quora, but without an API, data portability, and willingness to share the knowledge it is harvesting, I just can't support such a service.

I feel that even having my name attached to the service in the form of even a dormant account is unacceptable, let alone actually publishing any of my ideas and thoughts there. I’d much rather publish my questions and answers to my own blog, and to services I use that give me access and ownership my own intellectual exhaust. If Quora ever changes their way I may consider coming back, but as of today I’ve delete my account.