Posts Tagged ‘openfest’

2015-01-20 записи от OpenFest 2014

Tuesday, January 20th, 2015

И най-накрая сме готови с (почти) всички видеа от OpenFest 2014, може да се свалят от архива, или да се гледат в тубата. Липсва ни само едно видео (“I reject your reality and substitute my own”), което самите хора ще си го редактират и ще качат.

OpenFest 2014 – малкият streaming setup

Monday, November 10th, 2014

И ето едно описание на малкия ни streaming setup (използван по турнето и на OpenFest в по-малките зали).

Като за начало, ето картинката, по която ще се движим, в pdf и vsd формат.
На картинката имаме следните означения:
– червените линии са безжична връзка;
– светлосините – стерео по кабел;
– тъмнозелените – mono по кабел;
– тъмносините неща са бележки;
– бележката “OPT” значи нещо, без което можем да минем.

В бележките където има отбелязани жакове значат следното:
6.35мм, 3.5мм – моно/стерео, големи и малки жакове;
RCA, известни при нас като чинчове;
– firewire – IEEE1394, още го ползваме да си връзваме камерата.

Компонентите са следните:
– аудио миксер;
– безжични микрофони, брошка и дръжка (AKG и HED в тая схема);
– слушалки (headphones) за наблюдаване и дебъгване;
– лаптоп за encode-ване и пускане на музика (опционално);
– озвучаване на залата (Room PA or speakers);
– камера
– amphony L1500 за безжично пренасяне на звук
– проектор
– лектор, с лаптоп
– мрежа

Идеята на цялото нещо е следната – в аудио-миксера се събира целият звук – лектор, въпроси, лекторски лаптоп, музика, и се пуска към озвучаването на залата и отделно към камерата. Не се използва атмосферния микрофон на камерата, понеже тя много често не е на място, което може да слуша добре звука (последният такъв опит беше първата VarnaConf, където звукът беше толкова зле, че записите в общи линии не стават).

За stream-ване звукът влиза в камерата от пулта, и през firewire се дърпа от encoding лаптопа. Задължително е да има слушалки на камерата, за да може да се прецени как е звукът, който влиза в нея.
Със звука на камерите има следния проблем – доста от тях имат AGC (automatic gain control) и когато е тихо, усилват до невероятна сила фоновия шум (тих брум от миксера или просто шума в залата). За това е важно на всичките камери да се намери къде е и да се спре, и да се настрои нивото на входа.

Setup-ът на лаптопа е доста забавен, и изглежда по следния начин:
Избира се някаква директория, в която ще се записва видеото, и в нея се създава named pipe, който да се казва av.m2t (разширението е донякъде важно). След това в два терминала (note to self – да го направя на един скрипт) се пускат следните неща:

dvgrab –format raw –size 0 – | ttee av.m2t log.`date +%s`.m2t
(ttee може да се свали от github, като там трябва един fix, ако се ползват 32битови машини да се компилира с 64-битов file offset, за да не гърми на 4GB файлове).

avconv -i av.m2t -v:c copy -a:c copy -f mpegts udp://10.99.0.1:2500
(вместо avconv може да се ползва ffmpeg, то реално е същото)

С малко patch-ване може трите да се сложат едно след друго (ако ttee плюе на stdout), но тогава трябва да му се спре output-а на stderr, че терминала се напълва с глупости.
avconf/ffmpeg изпраща stream-а до един централен encoder, който да го encode-не и прати до restreamer-а. Правим го, за да decouple-нем записа от encode-ването (щото записващите лаптопи са слабички, а и като спре stream-а да не се чупи записа), описано е в предишния пост.

На някои лекции трябва да се пуска звук от лаптопа на лектора. За целта този звук трябва да се закара от лаптопа на лектора (който е отпред) до пулта (който най-често е най-отзад в залата). По принцип една опция е да се пусне дълъг кабел (който обаче може да направи проблем с брум и като цяло да няма откъде да мине или да няма такъв), за това ползваме най-често едно Amphony L1500, което може да носи звук цифрово през ефира. То си има малки бъгове (понякога някакви неща на 5ghz му шумят, и също така трябва да има активност, иначе спира да предава и трябва да минат 3-4 секунди със звук, преди да започне да предава пак), но като цяло за тази цел върши много добра работа.
Най-крайният вариант (който много много много избягваме) е лекторът да си сложи микрофона на колонките на лаптопа.

На картинката има няколко опционални неща:
– звукът за лектора (не на всички им трябва);
– мрежата за лектора (пак така, някои са оптимисти и ползват wifi);
– слушалките на пулта – по принцип се чува достатъчно добре от озвучаването в залата.

Setup-ът, въпреки голямото описание е доста прост и отнема половин час за сглобяване и 10-15 минути за събиране. Използвахме го в този му вид за повечето конференции тази година, а подобен на него – за последните 3-4 години.

OpenFest 2014 – restreaming

Friday, November 7th, 2014

(мислех да oпиша първо как правим записите и stream-а в малките зали на Interpred, но там ще трябва да чертая схеми и ще ги оставя за по-нататък)

За да можем да гледаме събитието локално и по Internet, тази година направихме следния restream setup:

Навън (в delta.bg) имахме сложена една машина, наречена grendel, която имаше 10gbps порт и достатъчно свързаност, че да може да ни бута трафика (още ме е яд, че не минахме 1gbps, догодина може нарочно да пуснем fullhd 1080p stream само за това). На него имаше пуснат nginx с nginx-rtmp модула, който приемаше stream-а и пускаше на потребителите rtmp и HLS. Имахме също страничка, която можеше да показва видеото директно в browser-а и я показвахме в iframe на сайта на OpenFest.

Графика на трафика на restreamer-а.

Същият restreamer с nginx имахме и на router-а в самия Interpred, и там препращахме потребителите, които искаха да гледат локално (и overflow телевизорите/лаптопите). Препращането ставаше чрез split DNS, т.е. за stream.openfest.org връщах локалният ip адрес вместо този на grendel.
Нямам графика на тоя трафик отделно, в общи линии би трябвало да е разликата между външния интерфейс и вътрешния интерфейс на router-а.

На restreamer-ите нямаше ipv6, понеже така и не успях да накарам някой от моите клиенти да работи по v6 за rtmp и мисля, че щеше само да създаде странни проблеми.

В настройките на nginx-а няма нищо, което да го няма в default-ната конфигурация, та ще ги пропусна. Единственият по-куц момент е, че явно модула не е дописан и на повече от един worker нещата се чупят, т.е. реално трябва да се праща по един stream на всеки worker, което не е ясно как може да се направи, или да се допише така, че м/у worker-ите да може да се дели един stream (което значи да му се добави shared memory и да се пише внимателно).

Самите потоци с видео влизаха на eagle, и от там биваха пуснати до двата сървъра. От по-малките зали пращахме директно по UDP raw HDV потоците, а от зала София, поради възможностите на restreamer-а – RTMP.
Причината за UDP-то (което беше една много добра идея на Петко) е, че така се получава decouple-ване на софтуера, който изпраща и записва от този, който приема, т.е. ако умре restreamer-а в който и да е момент, записващата част няма да има проблем, и ако restreamer-а се върне, ще може директно да продължи да чете потока от мрежата.

За encode-ването използвахме ffmpeg, ето как (с някои дребни промени по url-тата):

ffmpeg -re -i 'udp://@10.3.0.1:2600?overrun_nonfatal=1&buffer_size=81921024&fifo_size=178481' \
	-c:v libx264 -s 1280x720 -profile:v high -level 4.2 -preset ultrafast -filter:v yadif -g 60 \
	-b:v 2000k -acodec aac -ar 44100 -ac 2 -bsf:a aac_adtstoasc \
	-flags +global_header -strict -2 -threads 2 \
	-f tee -map 0:v -map 0:a "[f=flv]rtmp://localhost/of/g1|[f=flv]rtmp://1.2.3.4/of/g1" \
	-c:v libx264 -s 854x480 -profile:v high -level 4.2 -preset ultrafast -filter:v yadif -g 60 \
	-b:v 500k -acodec aac -ar 44100 -ac 2 -bsf:a aac_adtstoasc \
	-flags +global_header -strict -2 -threads 2 \
	-f tee -map 0:v -map 0:a "[f=flv]rtmp://1.2.3.4/of/g1-low|[f=flv]rtmp://localhost/of/g1-low"

Тук има няколко интересни неща:
– Вдигнали сме буферите на UDP-то за приемане на пакети (и имаме същото нещо от другата страна, за изпращане). В първоначалните тестове (по време на setup-а YAPC::EU 2014) открихме, че UDP е наистина unreliable на default-ните буфери (около 256к) за толкова много трафик и губи достатъчно пакети, че картината да се намазва почти постоянно. Съответно след като с тестове се видя, че при TCP проблемът го няма, лесно се стигна до правилния извод и от тогава тия неща ни работят като слънце.
(интересното е, че на VarnaConf правихме тоя setup без да вдигаме буферите и работеше, и едното съмнение беше, че щото е бил прав кабела м/у двете машини и без никакви switch-ове нещата са били ок. По-вероятно ми се вижда просто някой буфер да е бил по default по-голям на тогавашния ни encoder (един лаптоп на Петко), но няма как да го проверим).
(тази опция изисква и да се пипнат едни sysctl-та по kernel-а, имайте го предвид)

– ffmpeg-а може да създава няколко потока от един вход, и да ги пуска на няколко различни места. Така от един поток можехме да пуснем low и high quality потоци и към двата restreamer-а, без да се налага да се слага нещо по пътя, което да копира пакети или потоци. Наложи се да компилирам една последна версия, че да работи добре, но не беше особен проблем.

– “-g 60” е keyframe интервала, което в общи линии определя колко бързо ще се покаже нещо при потребителя, след като събере някакви данни.

– “-flags +global_header” се налагаше, за да може да бълва rtmp като цяло през тия разчеквания. Не помня как го намерих :)

Като цяло, всичкото това ми отне около два-три часа четене.

За зала София се наложи да направим малка добавка – понеже ffmpeg-а не можеше да слуша на rtmp (т.е. за половин час с Guru не можахме да го накараме), засилихме потока от залата директно в локалния restreamer, и с ffmpeg си го взимах от там и го пращах нататък. Така вкарвахме още 20-тина секунди латентност в излъчването, но пък си решихме доста приятно проблема.

Като цяло този setup не направи никакви проблеми и си работи двата дни като слънце, eдинствено в overflow залите в началото пускахме големия stream от зала София (1080p на 5mbps) и това създаваше малко проблеми на декодерите.

(благодаря на Яна за корекциите по текста)

2014-11-05 мрежата на openfest

Wednesday, November 5th, 2014

И ето го описанието на мрежата на openfest. Като цяло изглежда като проект за някой студентски курс по мрежи, няма нещо особено сложно или странно в него, описвам го основно за любопитните хора. Аз ще разкажа за жичната мрежа и топологията, Петко за wireless-а (като намери време и му писне да му мрънкам).

Като за начало, ето генералната схема, в pdf и vsd. Правих схемата на visio, понеже съм му свикнал и още не мога да му намеря еквивалент (а се оказва, че libreoffice вече го отваря).

Топологията беше следната: в “ядрото” (никаква идея защо се казва така) на втория етаж в Interpred влизат кабели до всички нужни зали. Там по принцип има switch на mtel/spnet/каквото-е-там, в който влиза връзката навън и самите зали.
Ние си сложихме там сървъра и един гигабитов switch (core-sw, cisco 3750). В него преместихме кабелите до всички нужни зали, а сървъра (който ни играеше и router) свързахме към техния switch за uplink, и към нашия switch по два порта за streaming vlan-а и за клиентите. В залите, където имахме wi-fi access point-и слагахме managed switch, така че да можем да си занесем дотам двата нужни vlan-а (management и този за потребителите), където имахме камери – също.

Имахме следните vlan-и в мрежата:
600 – management (за нашите си устройства), 10.0.0.0/16
601 – wifi, 10.1.0.0/16 и 2a01:288:4000:32::/64
602 – wired (потребителски портове по switch-овете), 10.2.0.0/16 и 2a01:288:4000:33::/64
603 – streaming (наша техника, пускаща суровите потоци с видео), 10.3.0.0/16
604 – TV (overflow-ове – телевизори и т.н.), 10.4.0.0/16

Толкова голяма мрежова маска за ipv4 при rfc1918 адреси е ок, понеже фоновия трафик от сканирания от internet-а го няма, че да бълваме broadcast трафик постоянно. Имаше проблем с друго, който ще опиша по-долу.
Имахме ipv6 само за потребителските мрежи, по мои наблюдения доста от нашата техника има проблем да си говори с тоя протокол все още, а мотото на setup-а беше “минимални рискове”.
Използвахме нормално per-vlan STP, като беше спряно за VLAN-а на wifi-то, а всички портове бяха в portfast (или какъвто-е-там-еквивалента-извън-cisco) режим. Радвам се, че не ни се наложи да борим цикли или каквото и да е, свързано с него…

Адреси се раздаваха по DHCP за ipv4 и по RA за ipv6.

За да намалим натоварването на външната връзка, със split dns заявките за ip адреса на stream.openfest.org им се отговаряше с адреса на локалния сървър, където имаше същите потоци.

Самия restreaming setup изглеждаше по следния начин:

Трите камери/streamer-и изпращаха до сървъра потоци на голям bitrate/разделителна способност – двете по-малки камери директно HDV потока по UDP, 1080p на 25mbps, setup-а от зала София – 1080p на 5mbps, H.264. На сървъра се reencode-ваха до два формата и се пращаха до големия restreamer (който имаше 10gbps порт) и до локалния сървър, от който също можеха да се гледат. За да няма смесване на този трафик с каквото и да е, всичката A/V техника си имаше отделен VLAN, който беше отфилтриран, така че да не може да влиза в него чужд трафик.

Понеже нямах много вяра и на overflow техниката (и е тривиално да се DoS-не raspberry pi) всичките телевизори бяха в собствен VLAN. На практика, имаше firewall който казваше, че трафик от потребителските мрежи може да излиза само от eth0, не можеше да ходи по нашите vlan-и (600,603,604).

Няколко думи за мрежовата ни техника:
core-sw и sof-pocket бяха две гигабитови cisco-та от netissat (любими switch-ове са ми това, работят идеално, ако се ползват правилно);
quanta беше домашният switch на Мариян, 48-портов гигабитов manageable;
reception-sw беше linksys SWR224G4, който заедно с един SRW2016 (двата от Благовест) ми изпили нервите – не му работеше web контрола, менюто, дето се виждаше по telnet не можеше да настройва VLAN-и, и накрая се оказа, че ако човек се логне, натисне ctrl-z и пусне lcli, там се появява едно доста използваемо cisco-подобно cli, от което всичко става лесно (думи не могат да опишат колко съм благодарен на тоя човек);
Няколко switch-а по залите бяха TP-Link SG-3109 (дойдоха от Unex през StorPool), и направо ми спасиха живота – малки 8-портови manageable, със сериен порт, със същото cli като lcli-то на linksys-а, направо песен за подкарване (чак ми се иска ако намеря такива на нормална цена, да купя 5-6, ще са незаменими за някои събития);
още едно 3750 (от Леков), което отиде за една от залите, понеже дойде в последния момент;
един DLink (от Благо), който замести linksys SRW2016 (пак от Благо), като unmanaged switch за стаята на екипа.

Като цяло крайни потребители се закачаха само в стаите за workshop-и и в team стаята, както и лектора в зала G1 (а трябваше и в другите, ще знаем за догодина).

Следват малко картинки, след което ще разкажа как протече работата на мрежата и какво трябва да направим догодина:

grendel (restreamer-а ни, който ни дадоха Delta.bg):
eth9 – сумарен трафик на порта, през който се stream-ваше за света;

router (eagle):
CPU;
eth0, uplink навън;
connection tracking – статистика по типове връзки;
Power – колко мощност е дърпало захранването на сървъра (не е много смислено, но е забавно);

И от два switch-а, понеже за другите не ми остана време да пусна cacti:
core-sw:
Gi1/0/1, вътрешен порт за потребителския трафик;
Gi1/0/2, streaming VLAN;
Gi1/0/3, зала Пловдив;
Gi1/0/4, зала София (джоб);
Gi1/0/6, зала Бургас;
Gi1/0/7, зала G1;
Gi1/0/8, зала G2;
Gi1/0/9, зала G3;
Gi1/0/10, зала Варна;

sof-pocket-sw:
Gi0/2, рецепция на зала София;
Gi0/3, зала София, десен access point (OFAP02);
Gi0/4, зала София, ляв access point (OFAP00);

Уникални MAC адреси:
1 ноември – 557;
2 ноември – 553;
Общо за двата дни – 769;

MAC адреси по производител, първите 10 (благодарение на Точо, който го изсмята):
Apple 121
Samsung 108
Intel 93
LG 75
HTC 49
Murata 38
Sony 38
Hon Hai 32
Motorola 27
Nokia 24

Вдигането на мрежата мина нормално, само с няколко грешки (основно мои, липсващи vlan-и по switch-ове и някакви промени в последния момент). Кабелите бяха пуснати сравнително лесно, като за това помогна, че не ни беше за пръв път (Явор беше опъвал част от тях по същите места в предишните поне две години), а за останалите имахме достатъчно помощници и клещи. Само един switch беше конфигуриран там на място, тоя за зала Бургас, понеже тогава ни го дадоха (Пешо седя в един ъгъл с кратък списък изисквания от мен и го човърка). Въпреки някои забавяния, мисля, че самата мрежа беше съвсем по график и беше пусната най-лесно, въпреки относително многото хамалогия. Единствените неща, което настроих в петък вечерта в заведението, в което ядохме, бяха IPv6 (понеже не беше толкова приоритетно) и да добавя останалите устройства в icinga-та (която така и не гледахме).

Имахме няколко проблема по време на събитието:

Имаше доста broadcast трафик от arp пакети, за клиенти, които са били асоциирани, после са се разкачили и изчезнали от arp cache, но отвън още се опитват да им пратят нещо. Решението, което сглобих, беше да вадя списък на всички изтекли dhcp lease-ове (чрез някакъв perl скрипт, който намерих в github), и за всички тях чрез conntrack tool-а да трия всичкия им съществуващ state. Не съм сигурен доколко помогна, вероятно тоя broadcast не е бил толкова много така или иначе.

Имаше няколко случая на arp spoof, до които не се добрахме (срам);

В един момент решихме да вдигнем worker-ите на nginx-а на restreamer-а и се оказа, че просто rtmp модула не се оправя с повече от един worker. Това е нещо, което трябва да debug-на за в бъдеще.

И най-идиотския проблем – спираше ни ipv6. По някаква причина от време на време просто сървъра и спираше да отговаря на ipv6 пакети, и да ги route-ва, като все още нямам обяснение защо и не е проблем, който съм виждал където и да е другаде, но със сигурност поне 80% от оплакванията, че не работи wireless-а идваха от android телефони, които просто се опитваха да минават по v6. В списъка ми е да го проверя от какво може да е било, обмислям да изтормозя някой от съществуващите ми v6 router-и и да видя дали мога да го репродуцирам.

За следващия път съм си отбелязал следните неща:

Работещ ipv6 :) (Петко предлага да сме само по v6, но това не звучи като добра идея);
Да отделим хора за NOC, които да следят мрежата и да хващат проблеми (arp spoof-ове и т.н.);
По-подробен monitoring (който да го гледа NOC-а);
Никакви switch-ове и подобни, които отнемат над половин час, за да се подкарат;

успяхме да направим openfest 2014

Monday, November 3rd, 2014

(чувствам се адски изморен, добре, че пих два големи lagavulin-а да се освестя, и след тоя post отивам да спя)
(също така, планирам подробен post за как сме направили мрежата и ще изтормозя Петко да напише нещо за как направихме wifi-то, което имаше учудващо малко проблеми/оплаквания)

Искам да напиша една голяма благодарност до доброволците на OpenFest 2014. Екипът си го знае, ние в това сме били бая години и сме тренирани, но тук си говорим за хора, които нямаха идея в какво нещо се забъркват, издържаха два дни юркане, тичане, викане (основно от моя страна) и всякакви странни проблеми, които се появяваха. Routing-а на хората към overflow залите всъщност се получи идеално, в доста случаи и без да се налага някой да тормози – просто екипът доброволци уговаряше и насочваше потока както трябва (нещо, което досега не бяхме правили, нямахме добър опит и тренинг и импровизирахме през половината време).
(сещам се за определението на братя Стругацки, че добрата книга е за обикновеният човек, набутан в необикновени ситуации…)

Утре ще допълня списъка, ето една начална версия:

== Оператори за зала София ==
* Юлия
* Пешо
* Павлина
* Димитър

== Overflow ==
* Росен
* Димитър

== 2ри етаж ==
* Neter

== Мрежов екип ==
* Явор
* Точо

== g1 ===
* Иван
* Благовест

== Varna ===
* Марио
* Владо младши
* Олег

== представяния
* Стефан Кънев

== Unconference хора
* Иван Димитров
* Митьо
* Тони Стойчев
* Божо
* Емануил

== misc
* vloo
* Мюмюн
* Исмаил
* (чичо) Данчо
* Захари
* vloo
* Нейчо
* Доби
* Вальо

== рецепция
* Камелия
* Сияна
* Елеонора

И основен екип (който искрено се надявам да е пиян вече, че имат нужда):
Яна
Мариян
Петко
някакъв зелен идиот
Христина
Стефан Леков
Ирина
Стефан Вартоломеев
Християн (Guru)
Горица

OpenFest 2014 иде

Tuesday, October 14th, 2014

Иде OpenFest 2014.

Имаме някаква програма, която трябва да допълним, и си търсим още доброволци.

2014-09-09 зов за лектори за OpenFest 2014

Tuesday, September 9th, 2014

Иде OpenFest 2014.

По случая имаме пуснато CfP (т.е. зов за лектори), на което може да се подават заявки за лекции и workshop-и.

Разликите от предишни години са, че понеже във feedback-а от миналата имаше оплаквания, че лекциите били много сложни и много елементарни, сме разделили техническия поток на technical и advanced technical, така че хората да могат да си избират.
(вече имаме няколко достатъчно извратени неща за advanced потока, и събираме още)

Има планове тази година най-накрая да подкараме сериозно openart потока (което все не успявахме предишни години), има идеи дори за няколко art инсталации на самото място.

Добавили сме и civic hacking – има доста интересно развитие в областта, и трябва да и обърнем малко повече внимание.

Та, ако имате добра идея с какво искате да се изложите пред публика, submit-вайт
е :)

2013-11-09 записи от OpenFest 2013

Saturday, November 9th, 2013

Вече са качени записите от OpenFest 2013. Има малко проблемни (имат _err в името), но по принцип са се получили добре, приятно гледане :)
(тия дни някой ще ги сипе и в тубата, за хората, дето не им се точи)

за openfest2013, объркано

Monday, November 4th, 2013

Мина Openfest 2013. Аз днес легнах да дремна следобяда и сънувах правене на конференция…

Имаше много интересни лекции, които не можах да слушам, и ще гледам от записи:

Civic Hacking на Антон Стойчев (слушах съкратения вариант в Търново);
GSM 101 на Мартин Райков;
Boost.mixin на Борислав Станимиров (слушал съм обяснения няколко пъти, ама в това май имаше разни интересни добавки);
Garbage Collection на Стефан Кънев;
Представяне на Човешката Библиотека на Димитър Стефанов (била е доста добра лекция, а имаше малко публика);
Debugging the linux kernel на Борислав Петков;
Command-line курс в офиса на Ива Канева (слушах и репетицията, ама това се е получило по-добре, доколкото разбрах);
I Know Kung Fu – Juggling Java Byte Code на Александър Шопов;
Rubbernose: Creating a plausible deniability filesystem; reviving one of Julian Assange’s projects на Merlijn Wajer (така и не намерих време да го разпитам);
Право и неутралност на мрежата на Венета Донова (и на нейната репетиция бях, но пак е била доста update-ната);
Защита на източниците на информация: анонимно получаване на документи на Атанас Чобанов (той не се появи на afterparty-то, поне докато аз бях там, беше в СУ да говори на студентите в 272ра);
… и може би още една-две.

Аз изкарах повечето време в тичане и оправяне на проблеми. За някои от тях сам си бях виновен – например записът в зала Варна умираше от време на време, и най-накрая се оказа, че съм забравил диска, на който записваме с fat32 и той спира на всеки 4GB (което са го имали като проблем и миналата година, ама кой да се сети да говори по темата…). Имаше и проблеми със streaming-а – relay-а (live.justin.tv) се resolvе-ва към 20тина ip адреса, от които доста имаха проблеми да приемат с достатъчна скорост нашия stream, та накрая имаше няколко забити в hosts, за да сме сигурни, че нещата работят. Поради това ще има дупки в записите, за което се извинявам.
(записите се encode-ват, ще отнеме известно време да са готови)
Говорих с тримата лектори, които си правиха репетиции в initLab, и ще кача и записите на репетициите, след като са готови официалните. Надявам се догодина да успеем да привлечем повече хора за тестове, мисля, че доста помага.

Тая година май Интерпред почна да ни става тесен (не само защото имаше няколко грешки коя лекция колко човека ще привлече (за което приемам и аз вината и ракиятa)), може би догодина ще се местим.

Почти официално от догодина Яна ще се занимава с феста, на Мариян му дойде много, сега остава да видим тя колко ще издържи.

Ще търсим още доброволци, вероятно по някое време догодина ще пусна roll call и ще се организираме по-добре. Тази година много помогнаха и много добре се справиха (като може би трябва да им се извиня колко ги юрках…).
(излизането на всички доброволци на сцената под звуците на imperial march-а мисля да го направим традиция)

Също така от догодина – pentabarf или нещо подобно, за да може най-накрая хората да си виждат лесно програмата и по телефоните и да имаме някаква нормална система за подреждане.

п.с. май си търсим ново място за afterparty догодина, може да дадете предложения.

2013-10-21 Идва Openfest 2013

Monday, October 21st, 2013

В програмата има доста интересни неща, тази година и ще сме през двата дни в три зали (има оплаквания, че интересни неща се засичат, ама май няма спасение). Елате, мисля, че ще ви е забавно :)

Също така, събирам доброволци да помагат по техническата част двата дни. Задачите са от типа да се казва на лекторите колко време им остава, да се закачат микрофони и проектори, и да да се наблюдават нивата на звука, т.е. нищо особено сложно, ако сте заинтересувани – пишете :) Може да ни трябват и още хора, които да помагат със setup-а в петък, та ако ви интересува и това, може да кажете.
(Ще имаме подробен инструктаж на доброволците в петък вечер, така че никой няма да бъде оставен на произвола на съдбата неинформиран)

Update: Забравил съм да спомена, че тази година планираме и да stream-ваме на живо събитието.

2012-11-27 видео запис от лекцията ми за сървърите

Tuesday, November 27th, 2012

Може да се гледа в тубата, или да си го свалите. Текстът го има тук.

2012-11-08 “Депресията, проблемите в главата ни и други весели работи” от OpenFest 2012

Thursday, November 8th, 2012

Има вече запис от втората ни лекция, може да се свали от va.ludost.net/files/20121104depression.mp4, hades.erihon.com или да се види в тубата. Презентацията може да си свалите в odp или pdf.

Откриването, където си говорим с Кънев може да се гледа тук.

Препоръчвам също така да гледате depression panel-а от 28C3, който беше големият тласък изобщо да направим тая лекция.

Текстът ще отнеме малко повече време да се появи.

До тук имаше много положителен feedback, включително от един професионалист (което в общи линии made my day), много хора ми писаха, за да кажат, че и те са имали/имат проблем и в общи линии има и желаещи да слушат другите: Стефан Кънев, iffi, Нейчо Михов, аз и Яна. Още работя по идеята как да го организирам това, надявам се скоро да пиша нещо.

Преди това обаче имам да наваксам с работата, че някои неща взеха да се трупат (не-админски дейности).

Update: И Комитата е в групата на слушащите (аз бях говорил с него на феста и бях забравил, та той ми напомни на ТББ снощи).

2012-11-04 Openfest 2012 предварителен recap

Sunday, November 4th, 2012

Свърши Openfest 2012, и въпреки че не бях в организацията пак съм скапан.
(дължи се на работа и участие в 4-5 лекции (2 мои))

Вероятно ще напиша нещо по-дълго тия дни, включително двете си лекции (Яна ще напише нейната част от лекцията за депресията).

И двете лекции се получиха доста добре, въпреки че втората не успяхме да я репетираме изобщо (и я дописвахме в неделя на обяд). Ето презентацията от първата (odp,pdf) и втората (odp, pdf). Мисля да помоля организаторите да ми дадат записа на втората да го пусна по-рано.

Специално за втората аз и Яна си бяхме дали адресите накрая, за хора, които имат нужда да си говорят с някой (vasil(at)ludost.net, yana(at)ludost.net), също така се включи и Нейчо Михов (neycho.mihov(at)gmail.com), ще добавя в тоя post (и като измисля някакъв сайт за целта – и там) адресите на всички останали желаещи да слушат другите.
Може би най-хубавото и неочаквано нещо беше колко много хора след това ми благодариха, казаха колко е била хубава лекцията и казаха, че сериозно са се замислили. Искам да благодаря на всички от “програмния комитет”, които бяха на моя страна за правенето на тая лекция, и най-вече на Стефан Кънев.

Също така мисля, че този openfest затвърди традицията аз и Стефан Кънев да се ебаваме един с друг. Той ми провежда “интервюта” и в предишните си презентации намираше къде да ме добави (в последната ме нямаше), а след историята със снимането обяви, че ако с мен се снимат 50 човека, ще направи продължение на intro клипчето от openfest.
(историята със снимането е как като бях отишъл на една лекция от курса по Python и си говорех с него в почивката дойдоха при нас няколко студента, той ги пита какво искат да питат и те му казаха – нищо не искаме да питаме, искаме да се снимаме с крокодила… Кънев много обича да я разказва тая история…)
След като с мен се снимаха много хора, аз в последния slide на лекцията за депресията сложих една снимка на Кънев, допипната от Лъчко, на която да изглежда депресиран и приканих хората да се снимат с него, за да го ощастливят. Погледнете, мисля, че Лъчко страхотно се е справил :)

В крайна сметка обаче той води – с мен се снимаха толкова хора, че в един момент ми беше трудно да гледам от всичките светкавици. Чудя се как да му организирам flash mob.

(а колко хубаво си допихме и куфяхме на afterparty-то, думи не могат да опишат, та оставям на някой друг да разкаже :) )

Update: iffi също се включи в списъка на слушащите.
Update 2: Стефан Кънев също се включи в списъка на слушащите.

2012-10-29 OpenFest 2012

Monday, October 29th, 2012

Идва OpenFest 2012, ще правя там две лекции.

Едната ще е за това колко по-лесно се поддържат 700 сървъра, отколкото 3 – според разни хора това би било интересно (за мен голяма част от нещата са твърде стандартни и ги пише по всичките книги). В последните 2-3 години насъбрах много забавен опит около това и се надявам да не се получи много скучно. Ще бъде от 17:00 в събота в зала София.

Другата ще е по любимата ми в последната една година тема за депресията, самоубийствата, проблемите в главата и други такива весели неща. Отдавна мисля, че е нужна подобна лекция – проблемът е голям в цялото IT общество, но всички се опитват да не го забелязват (при това доста успешно). Ще я водя заедно с Яна Петрова. Ще бъде в неделя в галерията от 14:00.
(имаше сериозен вой и отпор против лекцията, но и доста хора, които се заинтересуваха и бяха за)

Иначе, има още няколко интересни неща. Едното е лекцията на Венета Донова за юридическите моменти около поддържането на сайт и предлагане на услуги през него, от 12:00 в събота в зала София (за която поемам част от вината, аз я навих да я прави), другото е лекцията на Владо Василев за hackerspaces на балканите, в България и какво се случва в последната една година, от 15:20 в събота в галерията(където имам някакво минимално участие и третата (с която нямам нищо общо) е лекцията на Стефан Кънев за парадигмите в програмирането, от 11:15 в събота в зала София (поставя си много висока цел с тая лекция, да видим как ще се справи :) ).

(а мен ме чака още доста писане и редактиране, особено за втората ми лекция)

2012-06-09 Архив на va.ludost.net

Saturday, June 9th, 2012

Крайно време беше да седна да органзирам архивите на различни записи, които имаме от всякакви конференции. Днес пуснах va.ludost.net – wiki и файлове, достъпни по http, ftp и rsync (rsync://va.ludost.net/va).

(Кодовото име на проекта е “Гогортолоз”, което според един sms от Кънев значело “крокодил” на арменски. Дори да не е вярно, думата радва.)

Изрових всичките неща, които имах на ludost.net, разните видеа от vasil.ludost.net/netsec от мрежовата сигурност, linux курса в ТУ, както и всякакви архиви на openfest (вкл. някакви raw записи от 2005, понеже ги нямам нарязани и ще се наложи едно бая сложно упражнение да ги подредя и синхронизирам, а тия, дето нарязах едно време са леко неоткриваеми, както и тия от 2006та).

Качих там и лекцията на Кънев за програмирането и тази на Лари от лаба. Очертава се да записваме все повече и повече неща, ще се качват там. Приемам идеи какво още да кача там.

2012-02-06 стига с тоя openfest

Monday, February 6th, 2012

След като снощи Кънев в прилично насмукано състояние почти ми се обясни в любов, докато ме навиваше да се занимавам с Openfest се сетих, че има нещо, което съм пропуснал да обясня:

1) За мен участието в организацията на Openfest е изнервящо и уморително
2) Не си струва да пия антидепресанти или огромни количества алкохол само заради това
3) Мога да свърша много други полезни неща
4) Няма каквото и да е, за което да съм наистина нужен (лесно може да се провери, питайте хората какво точно съм направил аз и ще видите, че просто няма такова)
5) Каквото и да съм правил, в техническия екип има някой, който да го поеме (и който по принцип го е вършил, а аз съм му се пречкал например).

Единственото, което може да направя е да си измисля лекция за тая година. Така и така имам няколко интересни идеи, все някоя от тях може и да избутам до края.

(Кънев, следващия път ще ти разтворя някакви транквиланти в питието, превантивно)

OpenFest 2011

Sunday, November 6th, 2011

Мина OpenFest 2011. Половин ден setup, два дни ставане в 8 (с много мъка, не го бях правил в последните поне 6 месеца). Това го пиша в силно скапано състояние и може би ще го довършвам на сутринта.

Мисля, че поставихме рекорд в сглабянето на целия setup (около 4 часа) и в разглабянето (около 30 минути). Този път на по-малката зала (реално галерията на Интерпред) си правехме сами почти цялото озвучаване. Благодарение на Олег имахме и хубави камери, така че трябва да имаме нещо-като-HD видео записи, като се сетим да ги encode-нем, нарежем и качим.
(тая година записите са безотговорност на Стефан Леков, ругайте него)
Оказа се, че един-два клипа на Вика Ермолева са добрия начин да се тества звука в голямата зала.

Ползвахме забавен хардуер. Щеряна в багажника си носеше един switch, който ползвахме за отвън, който освен дизайн като за армейски приложения и прилично количество портове имаше прекрасното свойство, че като го изключехме и ставаше приятно тихо. Мишо па беше направил един router с малко patch-ване на една кутия, в която освен дъно с atom процесор беше набил един малък switch заедно с кутията.
(има някъде снимка как ядем втория ден в/у тая кутия от баницата, която па Владо от ФМИ беше направил през нощта. Много хубава баница, спаси ни от гладна смърт)

Докато правехме мрежата, успях да строша едни клещи. Може да се види снимка на самите клещи и на останалото парче от ножа им, забито в кабела. Държа да отбележа, че аз ги стиснах съвсем нормално, те просто казаха “прас”.
(те не можеха и един жак да кримпнат както трябва, та поради липса на други клещи Владо от ФМИ трябваше да прави единия жак използвайки малка отвертка и тия клещи като чук)
Друг весел гаф беше как в неделя на баптистите, които имаха някаква служба точно под нас единия им микрофон се оказа точно на честотата на един от нашите и слушахме малко неща на английски за Господ, докато намерим какво точно да изключим от наша страна. Хората в залата бая се смяха, а аз се радвам, че се падна в почивката основно.

Владо също така получи титлата “Рицаря на поялника”, защото освен, че в петък прави единия кабел за озвучаването на място, в събота оправяше на Нейчо connector-а на захранването на лаптопа – бяха се скрили в единия джоб (малката стая до залата) и пояха в/у един стар хард диск.

Лекторите бяха… трудни за описване.

Червото беше насмукан прилично двата дни (за което бях обвинен напълно несправедливо аз и малиновата ракия, дето си носех за подкрепа – той пие само бира), като първия ден мисля, че успя да уплаши всички в залата, като зададе въпрос на английски с такава сила, че го чуха извън Интерпред.

Пейо си направи лекцията за електронните пари, като времето в общи линии не му стигна, въпреки че бързаше и прескачаше разни забавни подробности (които е разказвал на бира, например за задачата за византийските генерали). Обеща да блогне нещо по темата, с многото link-ове, от които е чел, чакам го с нетърпение.

В lightning talk-овете имаше весели моменти.
Сашо Шопов говори за преводите на gnome и започна по следния начин:
– Кой в залата мрази Gnome3?
(гора от ръце)
– Имаме останали малко балони от партито, ще ви дам после да духате.

Боян Кроснов разказа за тяхната проста хеш функция, базирана на AES инструкциите в новите процесори (подходящо кръстена aesaes). Полезна е за всички, които трябва бързо да пълнят хеш таблици.

Получи се един забавен момент с лекциите на Наков и Кънев. Почна се с това, че Кънев представяше Наков с изрази от типа “ако имаше бог на програмистите, той (Наков) щеше да е неговия пророк”, “ако хората си кръщаваха децата на програмисти, то повечето момченца щяха да са му съименници” и т.н. (препоръчвам на всички да гледат тоя запис, като ги изкараме). Преди това аз бях навил Наков да сложи тая снимка (която може да бъде описана само като “Владо Василев опъва Стефан Кънев”) в презентацията си (той така и така говореше за курсове), което доведе до бурен смях в залата и въпрос от Кънев дали аз съм организирал тоя момент (за което си признах).
(Наков беше най-гръмогласния лектор от всички, като изключим някои моменти на червото)

Очакваше се империята да отвърне на удара, което и се случи в лекцията на Кънев. Първо се започна с един заговор (в който и аз участвах), той реши да си води лекцията в костюма, в който си беше на сватбата на iffi, с папионката и т.н.. Съответно подредихме нещата така, че да се пусне theme от James Bond, и той да влезе някъде по средата. Крайният ефект беше, че той беше единственият лектор, на който ръкопляскаха преди да си започне лекцията :)
Съответно той започна лекцията си с обяснение, че преди е слагал картинки с нарисувани мустаци на Мариян, ама тая година вместо това просто е решил да се облече по-добре. Също така показа една снимка от сватбата, включваща мен, него и приятелката му, обяснявайки със стрелки/балони как човек като види тази снимка си мисли за него “какъв добре облечен човек”, а за мен “кой е тоя просяк и какво прави там”…
(определено ще си струва да се види и този запис)

Владо Василев па направи много хубаво описание на initLab, и май доста хора научиха за мястото, да видим дали някой нов човек ще се вясне.

Мартин Райков направи лекция за RFID research-а и технологията като цяло, които беше правил с малко мое участие в initLab. За перипетите преди да направим лекцията май трябва да пиша отделно, но имаше всякакви хора, които се чудеха колко добра идея е да се говори за тия неща, колко нещастни хора и фирми ще има, как някой може да брои разказването на тая информация за престъпление и т.н..

За лекцията на червото се носеха разкази и слухове, как щял да падне докато говорел и т.н., но аз поне не видях нищо такова няколкото пъти като минах от там. Определено си беше пийнал (2л бира преди да дойде още) и говореше на английски (пак признак за насмуканост при него), ама си беше разказал всичките технически неща, не беше паднал (въпреки очакванията) и не всички хора избягаха от залата, докато говореше. И това ще е запис, който трябва да се гледа.

Организацията дойде тежко на някои хора. Пазя си сметката от близкия магазин, щото се смяхме като излезе – беше точно за 10.24 (касиерката определено ни изгледа странно като обяснихме, че е хубаво кръгло число). Не мисля, че много други хора и на феста ни разбраха…

В антрето през двата дни reprap хората печатаха разни странни неща от пластмаса и разказваха на всички заинтересувани какво точно представлява цялото нещо. В неделя Радо седна и от логото на openfest направи един модел, който към края на вечерта вече бяха успели да отпечатат, беше се получил доста добре :)
(заради reprap хората също така оправях wireless мрежата на един windows-ки лаптоп, гадна работа)

И двата дни напълнихме Кривото, пихме веселихме се, а на втория ден аз включително си демонстрирах закуската на Мишо (който я намира за ужасно гнусна) – поръчах си едно сурово яйце, счупих го, изсипах жълтъка в една чаша, посолих го леко и си го изпих. Вкусно си беше (така и така последните две сутрини не бях успял да закуся).

Щандът с книги беше доста приятен, тая година си напазарувах две книги – Network Warrior, която е доста добра за начинаещи да си допълнят знанията по мрежи (въпреки че е доста cisco ориентирана) и една “hackers – heroes of the computer revolution”, леко историческа.

Вероятно пропускам нещо друго забавно, което се е случило, допълвайте.

(също така – Сашо Станев, забравеният ти калъф за очила е в мен, измисли кога да ти го дам)

OpenFest 2011 – предварителна програма

Thursday, October 6th, 2011

И така, имаме предварителна програма на OpenFest 2011. Това са по три-четири лекции от поток, които най-вероятно ще влязат в програмата, избрани като достатъчно забавни и сигурни.

Все още приемаме желаещи да говорят :) Намират се още няколко свободни слота в програмата, има и достатъчно за lightning talks, а и винаги можем да измислим начин да ви вместим някъде.

(също така, ако случайно е останал някой, на който не съм отговорил на заявката за лекция, да ми пише – по принцип не виждам някой изпуснат mail, но се случва)

OpenFest 2011 – зов за лектори

Monday, September 19th, 2011

И така, ще има OpenFest – 5-6 ноември, в Interpred, както миналата година.

По случая се търсят лектори – желаещите може да се запишат на http://openfest.org/call-for-papers/. Програмният комитет (аз и още няколко идиота) обещава внимателно да прегледаме всички предложения :)

2010-11-26 v6sux

Saturday, November 27th, 2010

Понеже не ми стигна времето на lightning talk-а на OpenFest, ето едно по-подробно разписване на темата ми, “Защо мразим IPv6”.
Презентацията може да се свали от тук.

Ще започна със следната статистика по темата за IPv4 адресите:
Percentage of available address space announced: 62.1
Percentage of allocated address space announced: 65.4
Percentage of available address space allocated: 95.0
(weekly routing table report от 20ти ноември 2010)
Счита се, че някъде около април 2011та година IANA ще раздаде последните си останали /8 мрежи и изведнъж ще стане страшно. Това не значи, че RIR-овете нямат още достатъчно за раздаване, а и както виждате по статистиката от раздадените адреси още не всички се announce-ват, което ни дава още съвсем прилично количество време.
Дори обаче да свършат тотално за раздаване адресите, има съществуващи решения от типа на LSN (large-scale NAT) или CGN (carrier-grade NAT), две имена за почти същото, които ще помогнат да продължи растежа на мрежата, най-вече защото повечето трафик така и така е HTTP, който минава прекрасно през всякакви NAT-ове.
И, дори и да го нямаше това, пак Internet няма да спре, защото са свършили адресите, небето няма да падне, колкото и човека да се изредят да го кажат. Така че, аман от паника и натиск да се въведе нещо, което е пълно с глупости.

Разбира се, във IPv6 има и някои неща, които (може би по случайност) са хубави:
– прилично голямо адресно пространство, което позволява и да се отдели network locator-а в първите 64 бита
– премахната фрагментацията от router-ите и PMTUD е задължителна част от протокола, т.е. няма да има начин вече (малоумни) security експерти да казват “спрете всичкото ICMP”
– Няма (нужда от) NAT. Малко хора обичат NAT-а, и при подходящи stateful firewall-и спокойно ще може да се постигне същата функционалност.
– По-добра интеграция на IPSec (което трябва да се види доколко ще е полезно/работещо)

Като почнем с проблемите обаче става интересно:
– четейки документацията, човек остава с впечатлението, че са се старали (на принципа на Intercal) да направят нещата максимално различни от IPv4, точно като проява на синдрома “Not invented here”. Вместо ARP се използва ND (протокол, който работи върху ICMPv6), по подразбиране се прави stateless address autoconfiguration и по принцип в началната конфигурация на host-овете има добавен един още един елемент – router-а, който да раздава разни неща. Т.е. началния setup изглежда по следния начин:
машината тръгва
генерира си по някакъв начин 64 бита и с тях си прави link-local адрес, който през ND проверява дали е уникален, вдига го и се join-ва в multicast група
(навсякъде broadcast-а е заменен с multicast, да се чуди човек защо)
в multicast групата чува локален router пак по ND протокола (т.нар. router advertisement), който дава prefix и още няколко параметъра, вкл. дали да си говори с dhcp сървър (два бита, дали да иска адрес от него, и/или да иска и други параметри)
нататъка според двата бита решава как да си говори с dhcp сървър

Понеже dhcp-то се счита от IPv6 хората за нещо срамно, поддръжката му и работата му са бая странни и даже има разширение (още експериментално) да се раздава и DNS сървър от router-а (т.е. нека да омажем нещата колкото ни е възможно). Поради всичките тия неща на HAR миналата година открихме как най-лесно се раздават IPv6 адреси на nameserver-и чрез писането им на листи и лепенето им по разни стени.

Изобщо като цяло поне за мен го няма principle of least surprise. Би трябвало да се вземе в предвид как много хора са правили IPv4 мрежи, имат идея как работят и че принципите в тях не случайно са станали такива след прилично дебъгване и доизпипване.

– стари грешки – бяха направили задължителен т.нар. Type 0 routing header (т.е. source routing), добре, че преди около година се сетиха да го махнат. Source routing-а е прекрасен начин за реализация на tcp spoofing атаки.

– Като цяло има малко свързаност все още, особено в България – ако сте краен клиент е почти невъзможно да получите IPv6 свързаност вкъщи директно от доставчика си, не само защото те не са го подкарали навсякъде, а и защото крайните router-чета, които повечето хора ползват вкъщи просто не го поддържат. Всъщност има две причини да има IPv6 свързаност в България – едната е ентусиазма на разни хора, другата е, че в изискванията на Софийския Университет за Internet доставчик това е задължително условие и така бяха успели да накарат БТК да подкарат някаква такава свързаност.

– Липсва v6-only съдържание, с малки изключения (някои академични неща).

– IPv6 свързаността в почти всички случаи е с по-ниско качество от IPv4 – разчита се твърде много на тунели, тези тунели минават през всякакви странни места и винаги имат някакъв overhead. Всъщност, знам само за един случай, в който е валидно обраното – един доставчик, дето по една и съща тръба доставял v4 и v6 и за v6 нямало shaper-и. Като добавка, повечето router-и (особено тия, които Cisco прави) имат по-ниска производителност на IPv6 пакети.
Тази причина е основната да не виждам смисъл да подкарвам за моя проект IPv6 свързаност.

– Има и разни други неща, които слава богу (на сървърите) бяха преборени от здравия разум (например да няма PI адреси и multihoming да се прави като на всяка машина се дават по един адрес от всяка мрежа, към която сте свързани и чрез SHIM6 и черна магия машините да избират от кой адрес с кого да си комуникират, т.е. да изнесем routing-а от router-ите).

Като цяло, deployment-а на IPv6 се дължи на една сериозна група ентусиасти и на маркетингов натиск от тях и техни сподвижници. За момента нито е лесно и удобно, нито е особено смислено за повечето хора. Когато стане достатъчно лесно и удобно да се подкара и стане достатъчно нормална част от internet-а, може да се мисли по въпроса, но дотогава просто не си струва.

бележка: още съм скапан от openfest и разни други работи, така че може да не съм обяснил нещо достатъчно точно, ако имате въпроси/изяснявания, коментирайте.