Add schedules for the other halls

This commit is contained in:
Petko Bordjukov 2014-08-22 08:55:42 +03:00
parent 038b8099fc
commit efdab41b1a
6 changed files with 561 additions and 3 deletions

View File

@ -129,6 +129,7 @@
{{/eventCount}}
<section>
<h2>Tweet</h2>
<h1>#yapceu</h1>
</section>
</script>

140
musala.html Normal file
View File

@ -0,0 +1,140 @@
<html>
<head>
<title>YAPC::EU Interlude</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/css/reveal.css">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/css/theme/night.css">
<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Condensed:300italic,300,400italic,400,700italic,700&subset=latin,cyrillic">
<link rel="stylesheet" type="text/css" href="styles.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/lib/js/head.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/js/reveal.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.6.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ractive.js/0.3.7/ractive.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.6.0/underscore-min.js"></script>
<script src="schedule-musala.js"></script>
</head>
<body>
<div class="reveal">
<div class="slides">
</div>
</div>
<script id="agenda_template" type="text/ractive">
<section id="agenda">
<table class="reveal">
<tbody>
{{#pastEvents}}
<tr class="past_event">
<td>{{startTime.format('HH:mm')}}</td>
<td>{{title}}</td>
<td>
{{#speakers}}
{{name}}
{{/speakers}}
</td>
</tr>
{{/pastEvents}}
{{#nextEvent}}
<tr class="next_event">
<td>{{startTime.format('HH:mm')}}</td>
<td>{{title}}</td>
<td>
{{#speakers}}
{{name}}
{{/speakers}}
</td>
</tr>
{{/nextEvent}}
{{#futureEvents}}
<tr class="future_event">
<td>{{startTime.format('HH:mm')}}</td>
<td>{{title}}</td>
<td>
{{#speakers}}
{{name}}
{{/speakers}}
</td>
</tr>
{{/futureEvents}}
</tbody>
</table>
</section>
</script>
<script id="current_talk_template" type="text/ractive">
<section id="current_talk">
<h3>At the Moment</h3>
<h1>{{currentEvent.title}}</h1>
<p>{{currentEvent.description}}</p>
</section>
</script>
<script id="current_speaker_template" type="text/ractive">
<section>
<h3>Speaker</h3>
<h1>{{name}}</h1>
<p>{{description}}</p>
</section>
</script>
<script id="next_speaker_template" type="text/ractive">
<section>
<h3>Next Speaker</h3>
<h1>{{name}}</h1>
<p>{{description}}</p>
</section>
</script>
<script id="next_talk_template" type="text/ractive">
<section id="next_talk">
<h3>Next</h3>
<h1>{{nextEvent.title}}</h1>
<p>{{nextEvent.description}}</p>
<h4>({{nextEvent.startTime.fromNow()}})</h4>
</section>
</script>
<script id="slides_template" type="text/ractive">
<section data-state="update-safe">
<h1>YAPC::EU</h1>
<h2>Sofia 2014</h2>
</section>
{{#eventCount}}
<section>
{{> agenda_template}}
{{#currentEvent}}
{{> current_talk_template}}
{{/currentEvent}}
{{#currentEvent.speakers}}
{{> current_speaker_template}}
{{/currentEvent.speakers}}
{{#nextEvent}}
{{> next_talk_template}}
{{/nextEvent}}
{{#nextEvent.speakers}}
{{> next_speaker_template}}
{{/nextEvent.speakers}}
</section>
{{/eventCount}}
<section>
<h2>Tweet</h2>
<h1>#yapceu</h1>
</section>
</script>
<script type="text/javascript" src="ractive-init.js"></script>
<script type="text/javascript" src="reveal-init.js"></script>
</body>
</html>

140
rodopi.html Normal file
View File

@ -0,0 +1,140 @@
<html>
<head>
<title>YAPC::EU Interlude</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/css/reveal.css">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/css/theme/night.css">
<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Condensed:300italic,300,400italic,400,700italic,700&subset=latin,cyrillic">
<link rel="stylesheet" type="text/css" href="styles.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/lib/js/head.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/js/reveal.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.6.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ractive.js/0.3.7/ractive.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.6.0/underscore-min.js"></script>
<script src="schedule-rodopi.js"></script>
</head>
<body>
<div class="reveal">
<div class="slides">
</div>
</div>
<script id="agenda_template" type="text/ractive">
<section id="agenda">
<table class="reveal">
<tbody>
{{#pastEvents}}
<tr class="past_event">
<td>{{startTime.format('HH:mm')}}</td>
<td>{{title}}</td>
<td>
{{#speakers}}
{{name}}
{{/speakers}}
</td>
</tr>
{{/pastEvents}}
{{#nextEvent}}
<tr class="next_event">
<td>{{startTime.format('HH:mm')}}</td>
<td>{{title}}</td>
<td>
{{#speakers}}
{{name}}
{{/speakers}}
</td>
</tr>
{{/nextEvent}}
{{#futureEvents}}
<tr class="future_event">
<td>{{startTime.format('HH:mm')}}</td>
<td>{{title}}</td>
<td>
{{#speakers}}
{{name}}
{{/speakers}}
</td>
</tr>
{{/futureEvents}}
</tbody>
</table>
</section>
</script>
<script id="current_talk_template" type="text/ractive">
<section id="current_talk">
<h3>At the Moment</h3>
<h1>{{currentEvent.title}}</h1>
<p>{{currentEvent.description}}</p>
</section>
</script>
<script id="current_speaker_template" type="text/ractive">
<section>
<h3>Speaker</h3>
<h1>{{name}}</h1>
<p>{{description}}</p>
</section>
</script>
<script id="next_speaker_template" type="text/ractive">
<section>
<h3>Next Speaker</h3>
<h1>{{name}}</h1>
<p>{{description}}</p>
</section>
</script>
<script id="next_talk_template" type="text/ractive">
<section id="next_talk">
<h3>Next</h3>
<h1>{{nextEvent.title}}</h1>
<p>{{nextEvent.description}}</p>
<h4>({{nextEvent.startTime.fromNow()}})</h4>
</section>
</script>
<script id="slides_template" type="text/ractive">
<section data-state="update-safe">
<h1>YAPC::EU</h1>
<h2>Sofia 2014</h2>
</section>
{{#eventCount}}
<section>
{{> agenda_template}}
{{#currentEvent}}
{{> current_talk_template}}
{{/currentEvent}}
{{#currentEvent.speakers}}
{{> current_speaker_template}}
{{/currentEvent.speakers}}
{{#nextEvent}}
{{> next_talk_template}}
{{/nextEvent}}
{{#nextEvent.speakers}}
{{> next_speaker_template}}
{{/nextEvent.speakers}}
</section>
{{/eventCount}}
<section>
<h2>Tweet</h2>
<h1>#yapceu</h1>
</section>
</script>
<script type="text/javascript" src="ractive-init.js"></script>
<script type="text/javascript" src="reveal-init.js"></script>
</body>
</html>

133
schedule-musala.js Normal file
View File

@ -0,0 +1,133 @@
function Schedule() {
var events = [];
this.addEvent = function(event) {
events.push(event);
events = _.sortBy(events, function(event) {
return event.startTime.unix()
});
}
this.upcomingEvents = function() {
return _.select(events, function(event) {
return event.startTime.isAfter(moment());
});
}
this.nextEvent = function() {
return _.first(this.upcomingEvents());
}
this.currentEvent = function() {
var latestEvent = _.last(this.pastEvents());
var nextEvent = this.nextEvent();
if (typeof nextEvent != 'undefined' && moment(nextEvent.startTime).subtract('minutes', 10).isAfter(moment())) {
return latestEvent;
} else {
return undefined;
}
}
this.futureEvents = function() {
return this.upcomingEvents().splice(1);
}
this.pastEvents = function() {
return _.select(events, function(event) {
return event.startTime.isBefore(moment());
});
}
this.allEvents = function() {
return events;
}
this.addDelay = function(time) {
_.each(this.upcomingEvents(), function(event, index, agenda) {
event.startTime.add(time);
});
}
}
var schedule = new Schedule();
schedule.addEvent({
title: 'Auditing and toughening as part of the Security Development Lifecycle',
startTime: moment({hour: 11, minute: 30}),
speakers: [
{
name: 'John Lightsey',
description: ''
}
]
});
schedule.addEvent({
title: 'Lunch 🍔',
startTime: moment({hour: 12, minute: 20})
});
schedule.addEvent({
title: 'Geocoding the World (in Perl)',
startTime: moment({hour: 13, minute: 20}),
speakers: [
{
name: 'Alex Balhatchet (Kaoru)',
description: 'CTO at Lokku Ltd. Their main brand is the property search engine Nestoria (http://www.nestoria.com/) which operates in nine countries. They\'ve made numerous contributions to CPAN, check them out: https://github.com/lokku. They also have a developer blog which you can read here: http://devblog.nestoria.com/'
}
]
});
schedule.addEvent({
title: 'Adventures in civic hacking - FixMyStreet\'s Open311 support',
startTime: moment({hour: 13, minute: 50}),
speakers: [
{
name: 'osfameron',
description: 'mySociety, DoES Liverpool (coworking/hackspace), co-author of Designing the Internet of Things'
}
]
});
schedule.addEvent({
title: 'A geo search engine in a few lines of perl',
startTime: moment({hour: 14, minute: 20}),
speakers: [
{
name: 'Ervin Ruci (eruci)',
description: ''
}
]
});
schedule.addEvent({
title: 'Running Slovenian national video and audio archive on Perl Dancer.',
startTime: moment({hour: 14, minute: 50}),
speakers: [
{
name: 'Simun Kodzoman',
description: ''
}
]
});
schedule.addEvent({
title: 'Perl in Automotive Logistics',
startTime: moment({hour: 15, minute: 20}),
speakers: [
{
name: 'Luboš Kolouch (kolcon)',
description: 'He\'s an IT Manager who loves to find balance between technical, people and commercial aspects of projects. He like IT Security, Linux and coding in Perl.'
}
]
});
schedule.addEvent({
title: 'Coffee Break ☕',
startTime: moment({hour: 15, minute: 40})
});
schedule.addEvent({
title: 'Official conference dinner 🍸‎',
startTime: moment({hour: 19, minute: 00})
});

144
schedule-rodopi.js Normal file
View File

@ -0,0 +1,144 @@
function Schedule() {
var events = [];
this.addEvent = function(event) {
events.push(event);
events = _.sortBy(events, function(event) {
return event.startTime.unix()
});
}
this.upcomingEvents = function() {
return _.select(events, function(event) {
return event.startTime.isAfter(moment());
});
}
this.nextEvent = function() {
return _.first(this.upcomingEvents());
}
this.currentEvent = function() {
var latestEvent = _.last(this.pastEvents());
var nextEvent = this.nextEvent();
if (typeof nextEvent != 'undefined' && moment(nextEvent.startTime).subtract('minutes', 10).isAfter(moment())) {
return latestEvent;
} else {
return undefined;
}
}
this.futureEvents = function() {
return this.upcomingEvents().splice(1);
}
this.pastEvents = function() {
return _.select(events, function(event) {
return event.startTime.isBefore(moment());
});
}
this.allEvents = function() {
return events;
}
this.addDelay = function(time) {
_.each(this.upcomingEvents(), function(event, index, agenda) {
event.startTime.add(time);
});
}
}
var schedule = new Schedule();
schedule.addEvent({
title: 'Perl Secret',
startTime: moment({hour: 11, minute: 30}),
speakers: [
{
name: 'Mihai Pop',
description: ''
}
]
});
schedule.addEvent({
title: 'Translation with context',
startTime: moment({hour: 12, minute: 30}),
speakers: [
{
name: 'Mark Overmeer (markov)',
description: 'Perl, Perl and UNIX'
}
]
});
schedule.addEvent({
title: 'Lunch 🍔',
startTime: moment({hour: 12, minute: 20})
});
schedule.addEvent({
title: 'Some Dist::Zilla::Plugin:: best practices',
startTime: moment({hour: 13, minute: 20}),
speakers: [
{
name: 'Olivier Mengué (dolmen)',
description: '15 years of Perl programming (6 years as a full time Perl developer). Worked as a professional Perl developer on a portable (various Unix, Linux, Windows) daemon application built with POE. Currently working with Perl in an embedded environment for home automation with AnyEvent, Dist::Zilla...'
}
]
});
schedule.addEvent({
title: 'Video and audio with Perl and DLNA (and Chromecast)',
startTime: moment({hour: 13, minute: 50}),
speakers: [
{
name: 'Max Maischein (Corion)',
description: ''
}
]
});
schedule.addEvent({
title: 'Home Automation With Perl',
startTime: moment({hour: 14, minute: 20}),
speakers: [
{
name: 'Maroš Kollár (maros)',
description: ' Perl aficionado since 1998 and one of the YAPC::EU 2007 organizers.'
}
]
});
schedule.addEvent({
title: 'Open source deep sky images using perl',
startTime: moment({hour: 14, minute: 50}),
speakers: [
{
name: 'StrayTaoist',
description: 'Rarely seen in public, and even then only from behind. Willing to tell you how and why you are wrong.'
}
]
});
schedule.addEvent({
title: 'Get Me to the Pub Please',
startTime: moment({hour: 15, minute: 20}),
speakers: [
{
name: 'Sue Spence (virtualsue)',
description: ' Perl programmer, currently working at UK2 in London.'
}
]
});
schedule.addEvent({
title: 'Coffee Break ☕',
startTime: moment({hour: 15, minute: 40})
});
schedule.addEvent({
title: 'Official conference dinner 🍸‎',
startTime: moment({hour: 19, minute: 00})
});

View File

@ -62,12 +62,12 @@ schedule.addEvent({
});
schedule.addEvent({
title: 'How The Camel Is De-Cocooning',
title: 'Perl 6 in context',
startTime: moment({hour: 11, minute: 30}),
speakers: [
{
name: 'liz',
description: 'Made some interesting modules, to be found at CPAN. Co-organiser YAPC::Europe::2001 in Amsterdam. Chairman of YAPC::Europe::Foundation (YEF)'
name: 'Herbert Breunung (lichtkind)',
description: ' Perl Artist since 2003. Main project: Kephra, Perl 6 Tablets. Main Interests: Wisdom, also Gui programming with Wx and Perl 6.'
}
]
});