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.

Github
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
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.

oAuth.io
oAuth.io 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 oAuth.io for putting Github to work as the identity and access layer of my network. After you setup your oAuth.io account, setup an oauth.io 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 oauth.io 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.

Github.js
Next I use Github.js, a JavaScript wrapper for the Github API. Using the oAuth_Token I get using oAuth.io 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.



from http://ift.tt/1yaLXqW

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.



from http://ift.tt/1DURfs8

Saturday, October 25, 2014

Cutting Back On My Traveling And Speaking

I’m going to be cutting back on traveling and speaking in the future, and if you are one of the folks who got an email from me, declining an engagement--I’m sorry. I traveled a crazy amount in September, and put on @APIStrat in Chicago at the end of the month. I got sick during the downtime afterwards, and I just went to Stockholm to speak, where I got sick again—only just fully recovering as of yesterday.

I feel like my most important work, which is my research, and secondarily my story telling suffers greatly when I travel, and takes an even greater hit when I’m sick. When it comes to making an impact, and reaching the widest possible audience, I’d say my writing is the most important. I get only a handful of people who come up to me and say “great talk at that API event”, where I get a steady flow of people who thank me for my writing, and tell me about the impact it has made on them.

With this in mind, I'm going to dramatically cut back on accepting speaking engagements, and attending conferences. There are a handful of events I’m addicted to like Gluecon and Defrag that I don't think I will ever stop going to, and of course my own conference API Strategy & Practice will continue, but beyond that I’m going to need a damn good reason to go to an event.

I’m sorry for being kind of a jerk on this front, but the API space is moving really quickly, and I feel like I can’t afford to miss a beat when it comes to my monitoring, research, coding and writing. The ROI on traveling and speaking just isn't there, like it is with my writing—which is the most nourishing thing I have, when it comes to keep this crazy train moving forward.



from http://ift.tt/1z8uoeI

Clarification On The Cease And Desist I Got From @Pluralsight

I wanted to clarify a tweet from yesterday, where I said that "I just got a cease and desist to take down a showcase I did on @pluralsight API training demos. Won't make that mistake again"—if you aren't familiar with them, Pluralsight is “the largest online #ITAdmin, #Developer & creative training library on the planet". Tweets are so bad for getting all the details across, and I wanted to add that I actually agree with the request Pluralsight was making, just not their approach.

What happened was, a link had come across my monitoring, about a Pluralsight training video on APIs, which I curated, and added the link to my API Design research. The problem was that the link was to a 3rd party site, not actually to Pluralsight. The cease & desist email I got was asking me to remove the link to the 3rd party website—which makes sense, and I’m happy to oblige.

What I do not agree with is the approach by Pluralsight in using cease and desist to get me to address the problem. It is a particularly shitty first impression to leave on someone, especially someone who runs one of the top sites for learning about a fast growing space for developers—APIs. As you can tell by this post, I will not ever link to Pluralsight again, and beyond this post you won't catch me talking about them again in stories, white papers, or at my conferences, meetups, and workshops.

Pluralsight is just using an anti-piracy service (which I won't showcase), and think it is a safe bet to say they aren't really aware of what is going on. I’m sure they have a pretty bad piracy problem, but I’m thinking a blind cease & desist campaign might not be the best approach. Maybe a first email saying, “hey! you have a link we don't like, would you consider swapping it out with a valid link?”, might be a better approach.

Anyhoo, we'll file this post under “rant”. I hope your anti-marketing strategy works out for you Pluralsight. I’m really happy to be in a space where I generate content that I can encourage the widest possible distribution, and not have to police websites like Pluralsight does.



from http://ift.tt/1z8unYg

Friday, October 24, 2014

Is My Girlfriend Bothering You?

I’ve gotten a handful of emails, DMS, from folks, and seen an uptick in men "complaining", and “worried" about my girlfriend @audreywatters behavior lately. First of all this is nothing new, it is something I’ve gotten for the last 4 years, and I’m constantly seeking balance in dealing with it (all y’all freaking out, not her behavior) in a sane way. My public web sites run on Github because of all y’all hacking my shit when I confront you, and looking to strike balance my response responding to you guys from time to time.

Here is my advice for you:

  1. If you are bothered and feeling like you should speak up and challenge what she is saying about race and diversity, you are part of the problem—look in the mirror.
  2. If, as a white man you feel like you are being compromised, called out, or minimized (unless she referenced your name or @twitterhandle), you are part of the problem—look in the mirror. (if she called you out directly, it is guaranteed you are part of problem)
  3. You have the power to tune out. You can un-follow her (and me) on Twitter, and you can unsubscribe to her blogs. You have the power, and privilege. ;-)

And in response to a couple of your emails and DMS, I’m not in the business of “reigning" my girlfriend in. It is not a concept I subscribe to, sorry. If a “outspoken” or “badly" behaved women makes you feel uncomfortable...well, you are part of the problem—look in the mirror. I mean have you had a “outspoken” or “badly” behaved girlfriend? The best!!! I digress, back to the issue at hand.

I don’t give shit about your concerns, and as a privileged white men I think we have a little (lot of) pain and suffering to endure. When was the last time you felt unsafe, n danger, and had to look over your shoulder going out after an event or work? If you are white, male and feeling compromised by the discussions going on, good...it is s a start. A very piss poor start, but a start none the less.

Speaking from my privileged position as a 6’ 3”” white man, who goes everywhere (we spent like 10 days apart in 2013) with my girlfriend, if you are in the business of making her feel uncomfortable I won’t hesitate to kick the shit out of you. Period. Sorry, your threats are just a sign of your weakness, and insecurity, not ours--pull my criminal record if you need convincing.

The only way we (white privileged men) are going to address racism and sexism, is by changing ourselves, it is not “their” problem. I’m not excluded from this, I’m a white, privileged man, and complicit in this bullshittery, which is why I speak up from time to time, as well as silently support outspoken women like @audreywatters.



from http://ift.tt/1w1rrdr

Tuesday, October 7, 2014

I Am Not Signing Anymore NDAs

I just replied to a company who I really like, and trust, letting them know I won’t be signing any more NDAs. They wanted to discuss their very important vision, and next steps for their company, which I really want to learn more about, and hopefully contribute to--so I probably blew it, by saying I wouldn’t sign an NDA.

I feel like I’ve established a presence in the API space, one that is built upon sharing ideas, and can't help but feel like a fraud when I'm signing an NDA before I can have discussions. I ranted about this a couple months back, regarding a conversation I was having with a large enterprise organization, but this time it is different. I really like this company, they are visionary, and have helped me in my understanding of the world of APIs—including where things might be going.

Regardless, I feel pretty strongly that I have built a persona built upon transparency, and the sharing of ideas, and if I continue to endorse an out of date process like the NDA, that is really about controlling the flow of ideas, it would be contradictory. I understand that when you are in business and you have to protect your ideas, and I’m more than happy to keep certain topics, and ideas private, but based upon my vantage point, bringing in the NDA takes all of this to an unnecessary level.

There are plenty of companies that I can exchange knowledge, research, data, and other vital information without signing NDAs. I’m sorry if my stance is disagreeable with your company operations, my intention is not to offend, but help you understand my commitment to the API community, and the openness, transparency, and interoperability that the space affords us.



from http://ift.tt/1rghhyO

The Schizophrenia of Hacker Storytelling

I wanted to take a moment to point out a larger illness in the online world we’ve created for ourselves, while also pointing out my own complicity and illness along the way. My goal is to shed light on problems across the space, and the ultimate denial of tech blogosphere that they are clinically ill, and should quit their jobs today, and get the help they need—right now!!

I spend my days reading, analyzing, and ultimately telling stories about how technology is impacting “my life” as a white, privileged male--this is what you do in 2014, in hopes of remaining relevant in the digital economy. Wait no the app economy! Wait no the API economy! Fuck I don’t know what I’m trying to remain relevant in, but you get my point—relevance is everything!

Let’s walk through today's story, spread across four separate domains, to demonstrate the illness in the sector:

I’m continuing my efforts to strike a balance in the schizophrenia that exists within the API space. The release of the API.Report is a symptom of a larger illness I suffer from, needing to vent daily news stories, while also applying my analysis of the tech, business, and politics of the API space on API Evangelist and API Voice. All along the way I can't help myself, and I tend to just make shit up so I can stay sane, and keep the daily volume of moose diarrhea flowing.

Don’t get me wrong, I’m not at all bitching. I would complain, but I’m loving it all so much, that is until until I don’t. Thank you for riding the roller coaster with me. :-)



from http://ift.tt/1sb8wwu

Im Not Signing Anymore Ndas

I just replied to a company who I really like, and trust, letting them know I won’t be signing any more NDAs. They wanted to discuss their very important vision, and next steps for their company, which I really want to learn more about, and hopefully contribute to--so I probably blew it, by saying I wouldn’t sign their NDA.

I feel like I’ve established a presence in the API space, one that is built upon sharing ideas, and can't help but feel like a fraud when I'm signing an NDA before I can have discussions. I ranted about this a couple months back, regarding a conversation I was having with a large enterprise organization, but this time it is different. I really like this company, they are visionary, and have helped me in my understanding of the world of APIs—including where things might be going.

Regardless, I feel pretty strongly that I have built a persona built upon transparency, and the sharing of ideas, and if I continue to endorse an out of date process like the NDA, that is really about controlling the flow of ideas, it would be contradictory. I understand that when you are in business and you have to protect your ideas, and I’m more than happy to keep certain topics, and ideas private, but based upon my vantage point, bringing in the NDA takes all of this to an unnecessary level.

There are plenty of companies that I can exchange knowledge, research, data, and other vital information without signing NDAs. I’m sorry if my stance is disagreeable with your company operations, my intention is not to offend, but help you understand my commitment to the API community, and the openness, transparency, and interoperability that the space affords us.



from http://ift.tt/1oP7Dn2

Monday, October 6, 2014

Internet Connectivity Reflects Flaws In A Purely Market Driven Approach

As I'm navigating the wifi in yet another airport, where I’m given 20 minutes of free, then I have to pay some arbitrary amount, and my Verizon Mifi doesn't do shit, yet again. Throughout these repeated cycles, I'm reminded of how narrow minded some of the market driven approaches are in the U.S. Don't get me wrong, this isn't a black and white issue, and I'm very much part of the machine, but being blinded by capitalism is something I refuse to be.

I’m writing a post about the AT&T promoted content API and how it flirts with net neutrality disaster, and just finished speaking at a smart city conference, where I had discussions about gigabit Internet connections for $40 / month, while I struggle with finding my own connection. As we nickel and dime, and fight over how to monetize every pipe, and packet, I can’t help but think about how ignorant we are.

If we just ensured that everyone has high quality Internet, things would be so much better, and there would be entirely new ways to make money, but because of short-sightedness we are going to fuck it up. Here is where all the telcos whine and complain about how expensive it is to build out infrastructure and how there is a shortage of bandwidth. To which I say, shut the fuck up you narrow minded, lying sack of shit. You know this isn't true, but it supports your monetization narrative and I know we all feel really, really bad for you.

Not only are you missing out on some really interesting, and lucrative opportunities, you are hurting your overall market, and our country. I guarantee this is one of the layers that starts unraveling this whole patriotic, capitalism, american dream bullshit you so heavily invest in, and places that have high quality Internet as a basic right for all of its citizens, are going to slowly start kicking our ass—all thanks to you!

Markets will take care of everything!! Merica!



from http://ift.tt/10H8RLQ

Friday, September 19, 2014

Forget Being Neutral And Objective Anymore With APIs

I commonly use the statement that I don’t work for any company, and I strive to be a neutral voice in the industry. After four years, I’m going to be ditching that rhetoric, so if you hear me say it, call me out and say bullshit!! First of all I don't believe the concept anymore, and I feel like it was bullshit to begin with, and as the API space is picking up momentum, I can't help but push some technologies, products, and services over others.

I’m writing this post to seal the deal in my own memory, which is the primary reason I blog. First of all, the companies that sponsor and support me, I can't help but endorse what they offer, not just because they give me money, but also the fact that they have a decent product, otherwise I wouldn’t be associated with them. Also there are a number of API related tools I use myself, and I can't help but talk about them over some of their competitors in the space.

If you see me endorsing a certain technology, it is often because it just works for me, and ask me why, I'll give you an honest answer. The main thing that spurred this post is I was writing a story about Swagger 2.0, and I always feel bad not writing as many posts about API Blueprint, as I do Swagger, but Swagger is in my consciousness because I use it, and depend on it every day. I believe in what Jakub and gang are up to at Apiary, and highly support you using their tools and services, and will always work to showcase what they are up to.

Hopefully this line in the sand will help me feel a less guilty in this area, because I’m reducing the amount bullshit claims in my writing and stories. (minimum viable bullshit) The Swagger and API Blueprint example, is just one of many conflicts I am struggling with each day, so I figured just being as honest as I can, will be the only way I'll stay sane in all of this.

Photo Credit: Ricardo Moreira



from http://ift.tt/1wxqY0Z

Sunday, September 14, 2014

Building The Type Of Audience I Really Want

I used to work hard to write blog posts on API Evangelist that would have broad appeal with the Hacker News community, and at first I didn't have any luck, after trying to engage with readers on posts, I found myself blacklisted, where nothing I submitted showed up. I lived in some kind parallel universe, all because I argued with a couple influential HN users, who didn't like what I had to offer.

I started a new account for API Evangelist, and began playing the game with a little different approach. I didn't engage with users, and wrote posts with titles that would bring in readers, kept things short and superficial, and had some front-page exposure, which would result in thousands of pageviews, and then would dissipate. This type of storytelling ever really turned into meaningful traffic, an engaged audience, conversations, or brought any value to my overall mission.

Early last year I stopped posting to HN, only occasionally posted a story, but never really used it in the same way that I had before. I was worried my traffic would be hurt, but I went back to work, trying to write meaningful posts, that brought value to my target audience, and supported my mission. In the last year and a half, I've seen my sustained monthly traffic go from 500 page views a day to almost 2000 a day, all by just my sticking to my mission.

The audience that does visit my blog, for the most part engages with me, shares posts on Twitter, Facebook, LinkedIn and other channels, and I see much of what I write echoed on other blogs, and in conversations I see on social media, and in person at events. This approach to building my audience, and ultimately traffic to my site has been very healthy in helping me obtain my objectives. My goal is not pageviews for advertising sake, it is to build an awareness in the average business person, and the everyday individual, about the importance of APIs.

I’m writing this post because see echoes of HN in another blog DZone, which I don’t actually syndicate to, but because of the history behind my kin lane.com blog, some of my posts still get hand selected by the DZone staff, and syndicated to the blog. Many of these blog posts get some pretty good comment activity, and the other week a blog post I wrote on Google’s hiring process, which got quite a bit of comments, including some pretty trollish ones.

I made the mistake of feeding the trolls, something I don't usually do, but I can’t help myself occasionally, and it made me think of this same illness that many advertising driven technology sites possess. I’m so happy to have my blog, something I know that reaches a wide range of people, not just because of the page views, but also because of the online and in-person feedback I get. The alpha geek crowd is not my audience, and I don't care what they think about what I’m saying, but the trollish comments still get to me sometimes. i quickly shrug them off, but writing about these emotions is one way I do that—resulting in this post.

I’m stoked to have a mission driven blog, that goes beyond monetization through advertising. My audience may be small compared to DZone or Hacker News, and what I do may not matter to a lot of their users, but at least I have purpose that involves helping educate people, and I don’t feel the need to tell people how stupid they are, and that what they do is worthless. I can’t imagine being so lost, that doing that makes you feel better. It makes me sad, but then I get back to work, and move on, keeping on with my mission.

Photo Credit: Jonathan C. Dietrich



from http://ift.tt/X29sVG

Saturday, September 13, 2014

Moving Beyond Server Side Code And Hosting

I remember all the pain and suffering I used to go through in the old days looking for a place to park my server side code, leading me to eventually invest in my own servers, and rack at a datacenter. All of this changed with Amazon S3 & EC2. After 2008 I migrated everything to the cloud, selling all my servers, and never looking back.

As I complete two stories, one one an innovative API deployment platform called Blockspring, and the other on automation platform Temboo’s new JavaScript SDK for the 100+ API platforms Temboo connects with. Both of these evolutions in technology, and evolution in cloud computing, reflect one possible future where the concept of “server side code” will fade away, bringing us closer to a more programmable web.

While there will always be robust server side frameworks, I’m seeing a shift to where the need to have server side coding skills to deploy websites, mobile apps, and single page apps will go away. I envision containerized solutions like Wordpress, that allow us to deploy anything we need to support app deployment, and allow us to configure, tweak, and evolve without being aware of what the backend is up to.

I know these thoughts will drive many developer crazy, thinking that I will open up the gates to a much more shittier web, but I think if developers build high quality, very configurable, and modular APIs, we can help mitigate the trash that gets deployed. Whether you like it or not WordPress runs over 65M websites, and I think we can do even better with the next generation of online apps, and the APIs that drive them.

I’d love to see the concept of hosting evolve into allowing anyone to park the apps they need anywhere they want, even on their Facebook account, or via their Dropbox. I think APIs and containers will go a long way into moving us towards this future. It is something that won’t happen overnight, but eventually hosting, and much of the server side code wrangling we’ve done in the past will go away.



from http://ift.tt/1AL91fV

Monday, August 25, 2014

Checkout This Lineup Of Speakers At Defrag, Including Myself

Check out this lineup of the first round speakers at Defrag this year! I recently got an email from the event queen Kimberly Norlin, and I'm pretty stoked about some of the people I will be sharing the stage with in Colorado this year.

The Norlins rock, whien it comes to bringing together some of smartest folks in the space to Broomfield, CO each year.

My presentation will be about containers and APIs, borrowing from John Sheehan, when he said "containers will do for APis what APIs do for companies". Which is a pretty prescient comment, but not surprising from someone like John is on the leading edge with his API integration startup Runscope.

Make sure and get registered for Defrag. If you aren't familiar with what Defrag is all about, read one of my earlier posts about the Defrag experience--in short, Defrag is where all the tech leaders come together in Colorado once a year, to discuss what is going on in the space, and drink a lot of beer!



from http://ift.tt/1vJ4o53

6,482 Datasets Available Across 22 Federal Agencies In Data.json Files

It has been a few months since I ran any of my federal government data.json harvesting, so I picked back up my work, and will be doing more work around datasets that federal agnecies have been making available, and telling the stories across my network.

I'm still surprised at how many people are unaware that 22 of the top federal agencies have data inventories of their public data assets, available in the root of their domain as a data.json file. This means you can go to many http://ift.tt/1zweO8m and there is a machine readable list of that agencies current inventory of public datasets.

I currently know of 22 federal agencies who have published data.json files:

Consumer Financial Protection Bureau
Department of Agriculture (USDA)
Department of Defense (DOD)
Department of Energy (DOE)
Department of Justice (DOJ)
Department of State
Department of the Treasury
Department of Transportation (DOT)
Department of Veterans Affairs (VA)
Environmental Protection Agency (EPA)
General Services Administration (GSA)
Institute of Museum and Library Services (IMLS)
Millennium Challenge Corporation (MCC)
National Aeronautics and Space Administration (NASA)
National Archives and Records Administration (NARA)
National Institute of Standards and Technology (NIST)
National Science Foundation (NSF)
National Transportation Safety Board (NTSB)
Nuclear Regulatory Commission (NRC)
Office of Personnel Management (OPM)
Social Security Administration (SSA)
United States Agency for International Development (USAID)

You can click on the logo or name, and view the full data.json files. You can also visit my Federal Agency Dataset Adoption work to see all of the datasets listed for each agency. There is stil one bug I notice in the adoption process, so don't adopt anything quite yet.

The goal of this just to highlight again, that there is a wealth of open data resources just waiting for all of us open gov hackers to take advantage of, and work make sense of. Federal agencies need our help, so get involved, there is a lot of work to be done.



from http://ift.tt/1lt8jma