interlude/schedule.js

132 lines
8.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.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: 'Откриване',
startTime: moment({hour: 10})
});
schedule.addEvent({
title: 'За смъртта на TDD',
startTime: moment({hour: 11}),
lecturer: {
name: 'Стефан Кънев',
description: 'Стефан се занимава с програмиране откакто се помни. Сред любимите му неща са Ruby, Vim, автоматизирани тестове, папийонки, Apple продуктите и всевъзможни екзотични езици за програмиране. В заетото си време програмира на Rails, а в свободното - води един-два курса във ФМИ към СУ, пише много код, който после трие и се опитва да не се нарани с планинското си колело. Никак не обича PHP и е амбивалентен към Java.'
}
});
schedule.addEvent({
title: 'Компютърни игри за независими разработчици',
startTime: moment({hour: 10, minute: 10}),
lecturer: {
name: 'Стефан Ставрев',
description: 'Собственик и управител на TRI Soft. С над 3 години опит в проектирането и разработването на интелигентни системи и игри, и трудов стаж в научната компания TNO - основен партньор на Холандското министерство на отбраната. Понастоящем Стефан се занимава с разработката на иновативни автономни системи, компютърно зрение, разпознаване на лица и разработване на игри и интерактивни архитектурни визуализации в реално време. Изкуствен интелект и модерните технологии за него са не просто академични дисциплини, а и начин на мислене. В свободното си време обича да преподава. Води избираеми курсове в Пловдивския университет „Паисий Хилендарски“.'
}
});
schedule.addEvent({
title: 'Angular JS',
startTime: moment({hour: 11, minute: 50}),
lecturer: {
name: 'Радослав Станков',
description: 'Организатор на VarnaConf. Работи като developer от повече от 10 години. В момента основно разработва с Ruby, JavaScript и Objective-C. Участвал е в доста open-source проекти. Голяма част от тях могат да бъдат намерени в неговия Github акаунт.'
}
});
schedule.addEvent({
title: 'Обяд',
startTime: moment({hour: 12, minute: 30})
});
schedule.addEvent({
title: 'Lightning Talks',
startTime: moment({hour: 13, minute: 30})
});
schedule.addEvent({
title: 'Защо трябва да обичаме Haskell?',
startTime: moment({hour: 14, minute: 30}),
lecturer: {
name: 'Радослав Георгиев',
description: 'Радо, по-известен като РадоРадо, е предприемач-програмист (това е като warrior-mage), който се интересува от всичко свързано с технологии, разработка на софтуер, преподаване, автоматизиране и подобряване на образованието. Организатор на HackFMI - ежесеместърен хакатон във ФМИ (София), където млади и надъхани студенти и ученици, заменят комфорт и сън в името на създаване на софтуерни продукти, в рамките на 3 дни. В свободното си време се занимава с езици за функционално програмиране.'
}
});
schedule.addEvent({
title: 'Тенденции в потребителското изживяване',
startTime: moment({hour: 15, minute: 20}),
lecturer: {
name: 'Теодор Лазаров',
description: 'Теодор е управител маркетинг и реклама в TRI Soft. С над 9 години опит в областа на дизайна и рекламата. Интересува се постоянно от новите тенденции и добри практики в тази област. Работи усилено за потребителското изживяване ( UX ). Перфекционалист в работата си, обича да изпипва детайлите до съвършенство. Работил е с големи компании като Българо-Американска кредитна банка, Пампорово - АД, Корпоративна Търговска банка, адвокатска кантора SV-lawyers, рекламна агенция Megaboards и др. Теодор има и много голям интерес към продуктовия дизайн - нещо, на което производителите рядко обръщат внимание в България.'
}
});
schedule.addEvent({
title: 'Кафе пауза',
startTime: moment({hour: 16, minute: 00})
});
schedule.addEvent({
title: 'IT инфраструктура - що е то',
startTime: moment({hour: 16, minute: 30}),
lecturer: {
name: 'Боян Кроснов',
description: 'Собственик на Правец 82 (1987). Състезател - BOI, IOI. CCIE. Живял и работил в 5 държави. Съосновател на StorPool. Силни страни: Мрежи, x86 неща, datacenter неща, разпределени архитектури, мениджмънт на софтуерни продукти и предприемачество. Текуща изследователска дейност: екзотични системи и програмни езици, статии и лекции на тема съхранение на данни и стартъпи. Поведение на твърди дискове и SSD, оценяване на производителността на системи.'
}
});
schedule.addEvent({
title: 'Клъстеризация и Класификация',
startTime: moment({hour: 17, minute: 20}),
lecturer: {
name: 'Екатерина Михайлова',
description: 'Катя се занимава с програмиране от училище, като състезател по информатика. Била е стажант в Google, а в момента се занимава с компютърна лингвистика. Интересите ѝ включват машинно самообучение, лингвистика.'
}
});
schedule.addEvent({
title: 'Закриване',
startTime: moment({hour: 18, minute: 00})
});