WiFi wo-guest / Big Society
#soh
#railsbridge
@jsoxford
Schedule
- 10:00 😣 boring stuff
- 10:15 🐎 start
- 13:00 🍴 lunch
- 16:30 🕟 retrospective
- 17:00 🎉 finish
THE END
Thanks to our sponsors
.jo-standard-horse {
transform: translate(-300px, 0);
}
.jo-standard-horse.on {
transform: translate(0);
}
/* white bars */
.jo-wbar-1,
.jo-wbar-2 {
transform-origin: 0 800px;
opacity: 0;
}
.jo-wbar-1.on,
.jo-wbar-2.on {
transform: none;
opacity: 0.9;
}
.jo-wbar-1 {
transform: rotate(-30deg);
}
.jo-wbar-2 {
transform: rotate(30deg);
}
/* color bars top */
.jo-cbar-1,
.jo-cbar-2 {
transform-origin: 257px 175px;
opacity: 0;
}
.jo-cbar-1.on,
.jo-cbar-2.on {
transform: none;
opacity: 1;
}
.jo-cbar-1 {
transform: rotate(-40deg);
}
.jo-cbar-2 {
transform: rotate(10deg);
}
/* color bars bottom */
.jo-cbar-3,
.jo-cbar-4,
.jo-cbar-5 {
transform-origin: 257px 175px;
opacity: 0;
}
.jo-cbar-3.on,
.jo-cbar-4.on,
.jo-cbar-5.on {
transform: none;
opacity: 1;
}
.jo-cbar-3 {
transform: rotate(-40deg);
}
.jo-cbar-4 {
transform: rotate(10deg);
}
.jo-cbar-5 {
transform: rotate(-10deg);
}
.jo-nodebot {
opacity: 0;
transform: translate(0, 0) scale(1);
}
.jo-nodebot.on {
opacity: 1;
transform: translate(50px,50px) scale(2.5);
}
.jo-github {
opacity: 0;
transform: translate(0, -100px) scale(1);
}
.jo-github.on {
opacity: 1;
transform: translate(50px,50px) scale(1.2);
}
.jo-grunt {
opacity: 0;
transform: translate(100000px, 0);
}
.jo-grunt.on {
opacity: 1;
transform: translate(50px,50px);
}
.jo-html5 {
opacity: 0;
transform: translate(50px, 50px);
}
.jo-html5.on {
opacity: 1;
transform: translate(50px,50px);
}
.jo-gulp {
opacity: 0;
transform: translate(-50px, -50px) scale(0.8);
}
.jo-gulp.on {
opacity: 1;
transform: translate(50px,50px) scale(0.8);
}
.jo-nodejs {
opacity: 0;
transform: translate(50px, 50px) rotate(180deg);
transform-origin: center;
}
.jo-nodejs.on {
opacity: 1;
transform: translate(50px,50px) rotate(-360deg);
}
.jo-unicorn {
opacity: 0;
transform: translate(50px, 50px);
}
.jo-unicorn.on {
opacity: 1;
transform: translate(50px,50px) scale(2);
}
.jo-handlebars {
opacity: 0;
transform: translate(50px, -500px);
}
.jo-handlebars.on {
opacity: 1;
transform: translate(50px,50px);
}
.jo-react {
opacity: 0;
transform: translate(-150px,-150px) rotate(180deg) scale(0.5);
transform-origin: center;
}
.jo-react.on {
opacity: 1;
transform: translate(-150px,-150px) rotate(-360deg) scale(0.5);
}
.jo-angular {
opacity: 0;
transform: translate(-150px,-150px);
}
.jo-angular.on {
opacity: 1;
transform: translate(50px,50px);
}
.jo-ember {
opacity: 0;
transform: translate(-150px,-150px);
}
.jo-ember.on {
opacity: 1;
transform: translate(50px,50px);
}
.jo-backbone {
opacity: 0;
transform: translate(-150px,-150px);
}
.jo-backbone.on {
opacity: 1;
transform: translate(50px,50px);
}
.jo-nodeschool {
opacity: 0;
transform: scale(0.1) translate(-400px,0px);
transform-origin: center;
}
.jo-nodeschool.on {
opacity: 1;
transform: scale(0.6) translate(-400px,0px);
}
.jo-members {
opacity: 0.6;
}
var icons = [
'.jo-nodebot','.jo-github','.jo-grunt','.jo-html5', '.jo-gulp', '.jo-nodejs', '.jo-unicorn',
'.jo-handlebars', '.jo-angular', '.jo-ember', '.jo-backbone', '.jo-nodeschool'
];
var waitTimeout = 5000;
// Allow for overriding
if(window.location.search){
waitTimeout = 10000;
icons = [window.location.search.replace('?','.')];
}
function each(selector, on){
[].forEach.call(document.querySelectorAll(selector), function(el){
el.classList[on ? 'add' : 'remove']('on');
});
}
function clearAll(){
each('.on', false);
}
function show(selector){
each(selector, true);
}
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
function showRandom(){
var num = getRandomInt(0,icons.length+4);
if(num > icons.length){
showMembers();
}else if(num === icons.length){
show('.jo-standard-horse');
setTimeout(function(){
show('.jo-bars');
next();
}, 1000);
}else{
show(icons[num]);
next();
}
}
function next(){
setTimeout(function(){
clearAll();
setTimeout(function(){
showRandom();
}, waitTimeout);
}, waitTimeout);
}
setTimeout(function(){
showRandom();
}, waitTimeout);
function showMembers(){
var positions = [];
var clip = document.getElementById('members-clip');
var count = 0;
clip.innerHTML = "";
function positionExists(position){
var exists = false;
positions.forEach(function(pos){
if(pos.x === position.x && pos.y == position.y){
exists = true;
return;
}
});
return exists;
}
function getPosition(){
var loopCheck;
var position = {
x: (75 * getRandomInt(0,15)),
y: (75 * getRandomInt(0,15))
}
while(positionExists(position)){
if(++loopCheck >= 10){
return;
}
position = {
x: (75 * getRandomInt(0,15)),
y: (75 * getRandomInt(0,15))
}
}
positions.push(position);
return position;
}
var memberInterval = setInterval(function(){
var position = getPosition();
if(position){
clip.innerHTML += '<rect id="clip_'+count+'" x="'+position.x+'" y="'+position.y+'" width="75px" height="75px" />';
}
var removeFunc = (function(id){
return function(){
if(document.getElementById('clip_'+id)){
document.getElementById('clip_'+id).remove();
}
}
}(count));
setTimeout(removeFunc, 5000);
if(++count >= 225){
clearInterval(memberInterval);
}
}, 10);
setTimeout(function(){
next();
}, 5000);
}
WiFi wo-guest / Big Society
#soh
#railsbridge
@jsoxford