From efdab41b1adb75cc7a2ec1e923d28240c74755c9 Mon Sep 17 00:00:00 2001 From: Petko Bordjukov Date: Fri, 22 Aug 2014 08:55:42 +0300 Subject: [PATCH] Add schedules for the other halls --- index.html | 1 + musala.html | 140 +++++++++++++++++++++++++++++++++++++++++++ rodopi.html | 140 +++++++++++++++++++++++++++++++++++++++++++ schedule-musala.js | 133 +++++++++++++++++++++++++++++++++++++++++ schedule-rodopi.js | 144 +++++++++++++++++++++++++++++++++++++++++++++ schedule.js | 6 +- 6 files changed, 561 insertions(+), 3 deletions(-) create mode 100644 musala.html create mode 100644 rodopi.html create mode 100644 schedule-musala.js create mode 100644 schedule-rodopi.js diff --git a/index.html b/index.html index 2f88c57..7a26002 100644 --- a/index.html +++ b/index.html @@ -129,6 +129,7 @@ {{/eventCount}}
+

Tweet

#yapceu

diff --git a/musala.html b/musala.html new file mode 100644 index 0000000..e127caa --- /dev/null +++ b/musala.html @@ -0,0 +1,140 @@ + + + YAPC::EU Interlude + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + diff --git a/rodopi.html b/rodopi.html new file mode 100644 index 0000000..98303c2 --- /dev/null +++ b/rodopi.html @@ -0,0 +1,140 @@ + + + YAPC::EU Interlude + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + diff --git a/schedule-musala.js b/schedule-musala.js new file mode 100644 index 0000000..2b37e28 --- /dev/null +++ b/schedule-musala.js @@ -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}) +}); diff --git a/schedule-rodopi.js b/schedule-rodopi.js new file mode 100644 index 0000000..8991da0 --- /dev/null +++ b/schedule-rodopi.js @@ -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}) +}); diff --git a/schedule.js b/schedule.js index 8d05571..084f6c4 100644 --- a/schedule.js +++ b/schedule.js @@ -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.' } ] });