A* Interview #15: Jeff Lindsay, Creator of Flynn, Co-Founder of Hacker Dojo, Executive Producer of “Indie Game: The Movie”

Check out Flynn, an open source Heroku. And Docker, a container-based deployment system. And use Jeff’s new employer DigitalOcean for some cheap, fast cloud servers.

For more Jeff, follow him on Twitter or check out his personal site.

Read about (one of) Jeff’s favorite musicans Animals as Leaders here.

Watch Indie Game: The Movie here or on Netflix. Buy Kevin Kelly’s What Technology Wants here.

Learn about the A* Series and see more interviews here.

/* change only these */
var youtubeID = “Gpqs-tU29kU”;
var postID = “Jeff Lindsay”;
/* change only these */

// DON’T CHANGE BELOW
$(“.video”).html(“

“);
var tag = document.createElement(‘script’);
tag.src = “http://www.youtube.com/player_api”;
var firstScriptTag = document.getElementsByTagName(‘script’)[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

function onPlayerStateChange(event) {
if (event.data ==YT.PlayerState.PLAYING) {
mixpanel.track(“Video played”, {
“youtubeID”: youtubeID,
“postID”: postID

});
}
if (event.data ==YT.PlayerState.ENDED || event.data==0) {
mixpanel.track(“Video ended”, {
“youtubeID”: youtubeID,
“postID”: postID
});
}
}

var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player(‘player’,
{
videoId: youtubeID,
events: {‘onStateChange’: onPlayerStateChange}
});
}

mixpanel.track(“Post viewed”, {
“id”: postID
});

A* Interview #14: Rob Ashton, Hacker / Soon-To-Be-Erstwhile Peripatetic

Follow Rob on Twitter or on Github or on his personal site.

Read about (one of) Rob’s favorite musicans Mark Knopfler here

Learn about the A* Series and see more more interviews here.

/* change only these */
var youtubeID = “XKFoNNavh2I”;
var postID = “Rob Ashton”;
/* change only these */

// DON’T CHANGE BELOW
$(“.video”).html(“

“);
var tag = document.createElement(‘script’);
tag.src = “http://www.youtube.com/player_api”;
var firstScriptTag = document.getElementsByTagName(‘script’)[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

function onPlayerStateChange(event) {
if (event.data ==YT.PlayerState.PLAYING) {
mixpanel.track(“Video played”, {
“youtubeID”: youtubeID,
“postID”: postID

});
}
if (event.data ==YT.PlayerState.ENDED || event.data==0) {
mixpanel.track(“Video ended”, {
“youtubeID”: youtubeID,
“postID”: postID
});
}
}

var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player(‘player’,
{
videoId: youtubeID,
events: {‘onStateChange’: onPlayerStateChange}
});
}

mixpanel.track(“Post viewed”, {
“id”: postID
});