Posts Tagged ‘събития’

2014-12-26 31c3 ден 0

Friday, December 26th, 2014

Нулев ден на 31C3.

Станах си нормално в 9-10, добрах се спокойно до летището, летях (и в двата полета) с пищящи деца и се чудех защо изобщо хората се размножават, след което на Мюнхен за 30 минути се изсипа едно весело количество сняг и полета ми го забавиха с час и половина (който иска, може да гледа снимки).

(В Хамбург още не вали)

Изсипах си нещата в хотела и се добрах до CCH, откъдето пиша това. Отворили са още повече място от миналата година, ние имаме една малка маса, дето се надяваме да ни събере (assembly-то ни се казва Eastern-European Hackerspaces и сме набутани в “international” частта, малко като зоопарк за странни видове (което тук нищо не значи, “странно” е най-простото определение за почти всичко)).

Намерихме се с всякакви хора (македонци, сърби, хора минавали през initlab и кой ли не още), като на всички им е лудница. Аз съм си направил приблизителна програма, според която трябва да съм на няколко места едновременно, да видим как ще успея.

Утре се почва в 11:00, да видим колко човека ще побере голямата зала и колко ще оцелее wireless-а…

(моята предварителна програма:

27.12
11:00 saal1 opening/keynote
12:45 saalG aluminum casting
14:00 saal1 scada | saalG reproducible bulids | saal6 textile
16:00 saal1 emv
17:10 saal1 SS7
18:30 saal1 mobile self-defense
20:30 saalG code pointer integrity
21:45 saal1 ecchacks | saalG cloud consp | saal6 banking
23:00 saal2 rocket kitten
24:00 saal1 citizenfour
00:00 Hall13 ripe atlas workshop

28.12
11:00 hall13 ripe morning tea
11:30 saalG gpg
12:45 saal1 PNR | saal2 telecoms/nsa
13:00 hallC tor operators meetup
14:00 saal1 estonia voing
16:00 sall6 automobiles
16:45 saalG crypto needle
17:15 DIYISP anycast vpn
17:30 saal1 information control
18:15 saal2 privacy and markets
19:00 saal6 blow stuff with your brain
20:30 saal1 reconstructing narratives | saalG bug hunting
21:45 saal1 fernvale | saal2 field station
23:00 saal2 sources

29.12
11:00 hall13 ripe morning tea
11:30 saal1 RMS | saalG scanner
12:45 saal2 quantum computer
14:00 saal6 file formats
16:00 Saal2 emet | saalG caesar and norx
17:15 saal2 nuclear weapons
18:30 saal2 maker movement
19:30-21:30 hallB whisky workshop
20:30 saal6 agri-tech
21:15 saal2 cs in DPRK
22:00 saal1 perl expoloit
22:45 saal2 megacode
22:30 saal1 infocalypse

30.12
11:00 hall13 ripe morning tea
11:30 saal6 internet voting in norway
12:45 saal1 why computers are bad and what to do
14:00 saal1 state of the onion | saal6 lets encrypt
16:00 saal2 crypto dust | saalG infrastructure review
17:15 saal2 tor hidden svc
18:30 saal1 closing event
)

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-вайт
е :)

2014-09-07 Balccon ден 3

Sunday, September 7th, 2014

Мина и третия ден на Balccon 2014. В момента хората са на afterparty, а аз пиша това и заспивам, че съм съвсем скапан.
(Снимка от ракия workshop-а).

Успях да слушам малко от лекциите, но определено се забеляза, че workshop-на Мич Алтман има голям успех – беше пълно, някакви хора размахваха поялници и бяха щастливи (даже в twitter някой беше написал два реда стихотворение). Боян присъства и беше много щастлив, не знам дали от нещата за дебъгване там или от изпаренията…
(около това и debug-вахме някакъв проблем с avr-gcc-4.8.1 и const за някакви структури)

Имаше интересна лекция за свободата на словото online в Сърбия, например за някакъв случай с пародия на видео на политик, която разни хора сваляли от youtube, DoS атаки и такива неща. След нея говориха за генералния случай на следене на torrent-и и потребители, както и за конкретни моменти от законите за авторско право (пак не особено интересно).

Лекцията, която ми направи впечатление беше за метод за генериране на пароли за brute force (някакво количество код има в github), който може да анализира съществуващи пароли и да намира в тях pattern-ите, чрез които хората са ги измислили (комбинации от речникови думи, pattern-и на клавиатурата, смяна на символи (например l33t)), и на база на това да може да се справя с по-дълги пароли/passphrase-и, като инструментариума се използва основно да дава входни данни на john the ripper, за чупене на съществуващите пароли. Като цяло нещата изглеждат доста интересни, и вероятно може да им се намери приложение (за сега е сложно да се мислят да се ползват за проверка на сила на парола, понеже базата отзад била около 20G и не всеки ще може да я deploy-не).

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

Утре минаваме през един манастир за ракия, и се прибираме.

2014-09-07 Balccon ден 2

Sunday, September 7th, 2014

Мина втория ден на Balccon 2014.
(оказа се, че “балкон” е същото на сръбски и даже дизайнера им бил кръстил директорията с техните неща “тераса”)

Успях да ида на няколко лекции.

Лекцията за “android vaccination” се оказа описание на един приятен инструмент за вкарване и изпълняване на код в работещо андроидско приложение, което много улеснява дебъгването, доста повече от простото декомпилиране. Използвали са и нещата, дето разни хора разказаха на CCC, за динамичното инструментиране, и като цяло се получава нещо много удобно за reverse-engineer-ване.

Лекцията за scada в общи линии беше “а тия хора използват криптография и security неща от вашето детство и са тривиални за чупене”.

Лекцията за heapbleed беше странна, основно научих за dynamorio (което трябва да проуча), иначе имаше идея за изследване на поведението на memory allocator-ите чрез краен автомат, така че да се прецени как се пише exploit през тях, т.е. къде и какво трябва да се намаже, за да сработи. Нямаше много директно приложими идеи, но беше добър увод.

“Linux kernel attack surface” беше интересно, бяха намерили начин чрез trace-ване на ядрото да разберат какви неща в него се ползват и на база на това да генерират kernel-ска конфигурация, от която да се build-не с правилните неща, или просто да ги изключат като функции динамично (което все още има някакви проблеми). Като цяло изглежда като опит да се заобиколи големия проблем с гигантския source на ядрото и хилядите проблеми в него, но поне е стъпка в правилната посока.

Лекцията за ipv6 measurements with RIPE atlas беше интересна и хората стояха и повече време (с риск да закъснеят за ракиения workshop). Весна разказа за доста интересни неща, които правят (и за които сме поканили и лектор на OpenFest, да ни разкаже за backend-а им), за разни измервания колко видими са помежду си различните части на ipv6 internet-а (накратко, не са добре нещата), и как една от мерките им е да дават тениски на LIR-овете, които са подкарали определено количество v6 неща. Споменаха http://visibility.it.uc3m.es/, което мисля да разгледам по-подробно.
(и да си отбележа, трябва да сложа една ripe atlas probe и в офиса)

Денят завърши с ракиен workshop. Нямаше достатъчно пиене да се убием, но стигна достатъчно да се насмучем и да обсъдим всякакви неща, например как и сърбите са същите пияници като нас (един човек обясняваше как дядо му пиел по две малки сутрин, на обед и вечер и това било съвсем в реда на нещата). Определено пиенето помага за социализацията…

Около всичкото успях да си поговоря с един от TOR хората и има шанс да допиша нещо тривиално за тях, както и да се опитам да пробутам достъпност на нашите услуги през тяхната мрежа, да видим…

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

Update: Забравил съм да отбележа, отсрамихме се на workshop-а, като занесох една бутилка от малиновата ракия (и мисля, че хората я харесаха).

2014-09-05 Balccon 2014 първи ден

Friday, September 5th, 2014

В Сърбия сме, на Balccon 2014 и зверски ми се спи.

В четвъртък по обяд тръгнахме, и с бавенето на митницата и разните toll booth-ове стигнахме за 8 часа до Нови Сад. Добрахме се до хотела си с малко въртене и гледане на 2 различни gps-а (да живее backup-а), който се оказа последните два етажа на жилищна сграда…

Мястото на събитието се оказа много интересно – текущият музей на модерно изкуство, преди това бил музей на революцията – като се ползват две зали. Едното е кино-зала, за вероятно около 100 човека, другото е едно мазе, в което на едно място са наслагали много стара техника (някакви atari-та, някакви древни сръбски компютри) и в което се провеждат и workshop-ите. Цялото нещо прилича на един голям hackerspace и усещането е такова – особено като човек види с колко duct tape са налепили кабелите и wireless AP-тата…

В петък (първия ден на събитието) успях да ида на две лекции (освен моята). Едната беше за post-quantum cryptography, която беше доста уводна, но се споменаха интересни неща (например трябва да проверя какво точно е казал Schneier по темата за ECC и кривите, които NIST препоръчва). Като цяло май няма много развитие от времената на “Post-Quantum Cryptography” на Bernstein и компания, но лекторът спомена, че в момента Wau Holland фондацията работи с някакви университети да се работи по някакви нови схеми/шифри за шифриране/подписване с публични ключове и за обмяна на ключове.

Другата лекция беше Open Source Hardware на Mitch Altman, която в общи линии беше на темата “Life is too short to do things you hate”. Звучеше много интересно и правилно, трябва да видим дали има шанс да го доведем на OpenFest…

Моята лекция мина доста добре (или поне доста по-добре, отколкото очаквах, особено при условие, че бях си забравил едни лекарства в София и трябваше да си говоря с локални аптеки, които ме гледаха като изпаднал наркоман). Събрах се добре във времето, имаше интересни въпроси и в крайна сметка я submit-нах за CCC. Не знам дали ще ме харесат (имат високи и странни критерии), но па може и да им се види интересно…

Имаше и интересни lightning talk-ове, например един човек, дето си сглобил arcad
e машина (която стои горе и направо си спомних като малък колко съм висял по такива).

(след като блогна това, смятам да ида да спя)

2014-08-25 YAPC – Europe

Monday, August 25th, 2014

Бях тия дни на YAPC Europe (“Yet Another Perl Conference”), като част от техническия екип.

За мен конференцията беше осново репетиция за stream-ването за openfest – всичко мина много добре, дори с малкия екип, който бяхме (Guru, Петко, аз, както и няколко доброволци за от време на време, от които май само EXo познавам). Открих поредния проблем с ffmpeg (четенето от UDP socket се оказва, че не му е сила), но като цяло всичко сработи добре и нямаше неочаквани проблеми.
(очаквани имаше, заради проблеми с HDMI/VGA входове и конвертори)

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

Не мисля, че мога да разкажа добре за лекциите, винаги ми е трудно да ги следя, като имам някакви такива занимания, но определено имаше супер забавни неща, вкл. видях как се прави “Hello World” на perl6 чрез викане през .so файл на някаква функция от perl5, или чрез inline python…

А от техническа страна най-гадното нещо бяха lightning talk-овете, където в общи
линии бяхме като екипите на формула 1, дето сменят гуми, мисля, че се справяхме
за 10-20 секунди да сменим лектора.

(аз все още съм адски уморен, и постигнахме консенсус, че 3 дни събитие е убийствено и никога няма да удължим openfest. Не ми се мисли как ще преживеем EuroBSDCon-а, който е 4 дни…)

2014-08-11 Ходене на Balcccon 2014

Monday, August 11th, 2014

Идва Balccon 2014, Балканският Комюптърен Конгрес 2014 (второ издание). На мен даже ми приеха лекция (която усилено пиша), на Мариян също (който също предполагам ще пише усилено, като се сети какво предложение е пратил), та ще ходим натам.

Вероятно ще е забавно, съдейки по разказите от миналата година – в Speakers може да се види кои ще говорят (обърнете внимание на ракиения workshop).

Събитието ще се проведе на 5-6-7 септември в Нови Сад, Сърбия (490км, изглежда по-близо от Варна), та има ли още желаещи да идват? Може да помогнем с настаняването (говоря си с организаторите, иначе има описани хотели на accomodation страницата.

2014-07-22 cryptobg

Tuesday, July 22nd, 2014

(за Варна ще пиша после)

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

Бях тия два дни на криптографска конференция в Оряховица. Добре, че Титов си спомни, че имаме да ходим, щото аз тотално бях изключил и в неделя вечер събирах спешно багаж… Пристигнахме към 12 вечерта, пихме с хората до 1-2 и станахме сутринта в 7. “I’m too old for this shit”, както е казал народа.

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

Гледах да не пропускам от лекциите, като някои от тях ми дойдоха много (нещата за дискретния логаритъм съдържаха твърде много математика за заспалата ми глава), но имаше и доста интересни неща. Едното беше e-voting-а и една примерна система („a href=”https://vote.heliosvoting.org”>Helios) – там забавното е, че позволява да сумираш криптирани числа, без да виждаш какви са числата всъщност (лекцията има втора част, но е в ранната сутрин утре, та ще пропусна). Друго беше иде
ята за proxy re-encryption и методите за делегиране на тая възможност, като това
и предното ме накараха да се замисля да проуча ElGamal, понеже и двете се базир
ат на него.

Третото и най-интересно за нас беше searchable encryption, който би имал приложе
ние и при нас. Лошото е, че текущите варианти leak-ват доста информация при заяв
ки, но вероятно схемите подлежат на подобрение.

Имаше и забавление – един introductory CTF с 4 задачи – разделиха ни на два отбора и ни дадоха да решим задачите и да видим кои ще се справят по-бързо. Задачите бяха елементарни (като за увод) – едно декриптиране, една програмка за reverse-engineering (да се извади един ключ), една за exploit-ване (супер лесна) и един
pcap файл, от който да се извади telnet парола.
(около тоя CTF вече съм сигурен, че не мога да чета асемблер, та за reverse-ването си търсих C декомпилатор, с който да я обърна до нещо, което мога да чета. Силно ме е срам).

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

(а самото място е много приятно, сравнително тихо (като няма спорещи математици наоколо:) ) и доста чисто и хубаво направено. Аз очаквах да изглежда древно и по
социалистически и бях доста приятно изненадан.)

2014-07-02 иде ВарнаConf

Wednesday, July 2nd, 2014

Идва VarnaConf (за трети път), имаме и CfP.
Имаме и fb event.

(ако някой има проблеми с CfP-то, да ми пише директно на мен)

2014-06-29 разни

Sunday, June 29th, 2014

Записите от БургасConf.

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

От другите интересни работи – започнал съм да изчитам събраните съчинения на Оруел, за момента съм приключил с първия от 11те тома журналистика/есета (I have tried to tell the truth) и е доста и интересно. Отнема обаче доста време,
понеже редовно човек трябва да спре да помисли, а книгите са дебели, с не-особен
о-голям шрифт.

А на мен постоянно ми се спи.

2014-06-21 мина БургасConf 2014

Saturday, June 21st, 2014

И мина BurgasConf.

Проведе се в хотел “Аква” (в доста по-добре проветрена зала от миналия път) и тоя път bulstream (т.е. Guru) правиха streaming-а и ползвахме доста други камери, та има сериозна разлика от стандартните неща.
(Guru и Елена правиха режисурата, хвалбите по темата са за тях).

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

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

И понеже вече в Бургас имам две депресиращи лекции, измислих вече трета за догодина, като темата е малко изнервяща и за мен самия – hack-ове на ниво хора (нещата от “Невидимата горила”, “Мисленето” на Канеман и т.н.). Да видим дали ще събера желание да я направя.

(записи и т.н. не зависят от мен, но ще пусна информация като излязат)

2014-06-13 БургасConf 2014

Friday, June 13th, 2014

Ще има BurgasConf. Данни за събитието има на самия сайт, аз ще водя лекция за странни неща от security-то в реалния свят (ключалки и такива работи).

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

2014-05-05 PlovdivConf 2014 – CfP и т.н.

Monday, May 5th, 2014

Почваме “турнето” тази година с PlovdivConf (2014), на 17ти май, повече подробности (ще) има на страницата. Също така от тази година пускаме тестово frab, та сега всеки може да подаде заявка за лекция.

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

2014-05-01 how to cryptoparty

Thursday, May 1st, 2014

Утре (2ри май 2014, от 14:00) ще има How to Cryptoparty workshop/лекция в initLab, дошъл ни е на гости един младеж от Берлин да ни сподели опит. Това ни приближава още малко към по-генералната идея за такова събитие.

(ще се записва)

(от 13:00 ще правим setup-а за записа и ще обяснявам как се прави, ако на някой му е интересно)

HackFMI 3 – представянето на отборите

Tuesday, April 29th, 2014

И така, да напиша за представянето на отборите, което продължи 6-7 часа (издържани само заради няколкото чаши Lagavulin).

(списък на отборите и source код)

Отбор 1 – FMI free time (отборът се състоеше само от един човек – Атанас Керезов, който в момента ми е на върха на класацията за дразнещи хора). Беше започнал система, която да може да се ползва за уговаряне на време за посещение на администрацията (като системата на КАТ), но не беше стигнал до никъде.

Отбор 2 – Old school – бяха написали система за тези, които могат да получават стипендии, да си попълнят данните и да могат да следят къде са в класирането. Не можах да си задам въпросите, че бързо ги изгониха, но се зачудих колко лесно ще е някой да смени IBAN-ите, които се подават, и да получи на хората стипендиите.

Отбор 3 – voltron – тук ми се губи и бележките не казват много, беше някаква система за дарения и следенето на развитието на кампаниите.

Отбор 4 – hackfmi_se – отбелязал съм, че са имали ужасна презентация. WordPress plugin, който да помага на за документите на докторантите, който и се оторизира през СУСИ (което прозвуча като перфектния backdoor да се събират user-и и пароли и да се използват за системата на втория отбор да се сменят IBAN-и).

Отбор 5 – noex1t – plugin за chrome, който може да разпознае encoding-а на даден текст и да го визуализира както трябва да е. Това беше една от малкото сериозни теоретични разработки – ползва речников метод, и може да разпознава дори прекодиран през две кодировки текст (например UTF8, закаран до cp1251 и после пак до UTF8). За това ползваше външен service (за което аз го питах дали не е privacy concern, хората да си пращат части от личната кореспонденция на трети лица, и той отговори, че за до две прекодирания може да го прави от plugin-а и няма да се налага). Човекът до мен имаше въпрос, който не успя да зададе, дали ако има текст на два езика в подаденото нещо, няма да се обърка системата.

Отбор 6 – hack Bulgaria, в който беше и Радорадо – бяха разработили интересна идея, API, чрез което може да се събират задачи (да речем по програмиране) и от тях да се генерират контролни. Към тях имаше мета-данни, та да може да се направи приложение, което приема отговорите и ги проверява. Изглеждаше доста добро и удобно, интересно дали ще намери приложение.

Отбор 7 – СМГ11 (хора от СМГ, 11-ти клас :) ) бяха направили система, която даваше възможност на кандидат-студентите на едно място да видят и сравнят различни специалности в различни университети, доколкото биха им били интересни/полезни. Имаха и система за рейтинги, т.е. можеше да се отбелязва коя специалност е хубава и коя не (по няколко признака). Цялото нещо беше работещо и това беше отбора, за който гласувах с 3 точки.
Питах ги как решават следния проблем – решавам, че някоя специалност е много трудна за влизане, та пускам един ботнет да гласува против нея усилено, хората виждат, че е с нисък рейтинг и се отказват да кандидатстват, което ми дава доста по-голям шанс. Нямаха решение, но ако я пуснат, с удоволствие ще се включа с нещо. Не ми се мисли колко ще ги мразят някои ВУЗ-ове…

Отбор 8 – VPR (на които бях ментор) – бяха направили система за помощ с бърз response, т.е. хората казват “трябва ми помощ за едно контролно утре”, дават краен срок, да речем половин час, след което чакат някой да влезе в системата, да хареса въпроса им и да се свържат. Системата им предлага свързване по някакъв chat в реално време (планираха да направят и видео/аудио разговори, но не им е стигнало времето), както и търсене по тагове на търсещи.
Демонстрираха работеща система, въпреки проблемите с internet-а.

Отбор 9 – full metal team – бяха едно количество деца от ТУЕС, които даже в началото в представянето си доста добре се избъзикаха с всички фирми, които се бяха представили (“имаме много офиси, навсякъде по света…”). За съжаление така и не схванах какво им прави системата, и съм си отбелязал да ги питам, но не стигнах до там.

Отбор 10 – #чичковитечервенотиквениковчета – бяха реализирали една идея по задание от реална организация, сайт за дистрибуция на книги. В общи линии има вариант да се задава търсещите организации (детски домове например) какво търсят, или някой да каже “ей-тука имам тия книги”, или “имам два кашона, дето искам да се отърва от тях” (т.е. конкретно моят случай :) ), и системата да се погрижи да свърже който с когото трябва и да улесни организирането на пренасянето. Ще чакам да кажат къде ще е deploy-ната и ще ги ползвам с удоволствие…

Отбор 11 – Едногор – пак хора от ТУЕС, в общи линии опростен web клиент за youtube, който да може да се ползва и на по-слаби машини. Филтрира реклами, всякаквите глупости от страни и показва само заглавие и самото клипче. Няма и autocomplete (за което хората питаха).
На въпроса “ако си сменят api-то, така че тоя клиент да не работи, т.е. ако тръгнат да го спират той какво ще направи” отговорът беше “това отне ден и половина да се напише, за следващото ще е пак толкова” (и цялата зала ръкопляска).

Отбор 12 – ПодайМонстъраТам – търсачка за къде може да се спортува, в общи линии overlay на карта и географско търсене или такова по думи. Данните вътре те си ги въвеждаха/минаваха някаква модерация.

Отбор 13 – ДГ – беше система за организиране на дарения, базирана на wordpress. Идеята им беше хората през сайта да се уговарят, и даващите получаваха код, чрез който да си изпратят исканите неща. Имаха няколко метода за транспорт.
Питах ги тоя код, който се ползва как го генерират и могат ли 1) да го опростят или 2) да сложат в него някакъв error correction, понеже хората доста грешат, когато преписват.

Отбор 14 – recaro (бях им ментор) в общи линии имаха да решават traveling salesman проблема, но това, което показаха беше най-вече хардуер, който се връзва в колата и показва на шофьора какво има да разтовари, както и праща нагоре колко му е пълен резервоара, така да може от централната система да се следи какво се случва и да се праща към бензиностанция.
Имат възможност да вържат системата към CAN bus-а в колата, както и да сложат сензор в резервоара (ако е много стара), иначе частта в колата беше правена/писана с някакъв PIC18. Като цяло беше недовършен проекта и ми се стори леко странен.

Последва почивка за торта, оправяне на звука, няколко глътки уиски и леко разтъпкване.

Отбор 15 – madeinbg – търсачка за продукти, правени в България. Пак стандартна снабдителна задача, производителите попълват, хората търсят, като има и някакви chat-ове вътре, с които хората могат да задават някакви въпроси и т.н.

Отбор 16 – УТ (обратното на ТУ, понеже са от там) – модулна платформа за всякакви приложения, свързани с благотворителност, заедно с едно примерно, за размяна на дрехи. Питах ги какво им е API-то и как може да се пише нов модул, казаха, че още не е документирано.

Отбор 17 – оркестър без име – бяха направили система за отбелязване по карта на интересни събития, които се случват в момента, например улични музиканти. Даваха възможност да се правят снимки (и в бъдеще – клипчета) и да се качват заедно със събитието, като нямаха идеята за live streaming. Цялото нещо беше хибридно мобилно приложение (т.е. html и js), което беше още по-учудващо (повечето такива неща работят с огромен зор).
За да го демонстрират, си доведоха един младеж с китара на сцената да посвири и да го снимат и качат. Това си беше малко hack в/у журито, нещо от типа на замайване с bells and whistles, и май мина, щото доста хора гласуваха за тях и спечелиха втора награда.

Отбор 18 – Осем – мобилно приложение за дарителски sms-и (които и спечелиха първа награда) – в общи линии агрегатор на всички съществуващи кампании в телефона, като те събират на едно място базата и тя се пресипва на телефона и човек може да си гласува за каквото си хареса (дори да няма internet, така и така гласуването е със sms-и). Оказа се, че на всяка проверка си точат целите данни наново, та ми се искаше да намеря време да им дам идеи как може да си организират синхронизиране само на промените и да пестят доста трафик на потребителите (текущата им база е около 4MB).

Отбор 19 – панда (на които бях ментор) – бяха направили благотворителна система за продаване на content. Създателя на съдържанието го качва, описва го, системата генерира thumb-ове и т.н., след което казва и за кои каузи да отиват парите от продажбите. Имаха реализирани и плащания през един payment процесор.
Имаше въпроси дали пазят кредитни карти (щото се въвеждат на техния сайт) – не, дали правят обработката на content-а в отделен процес/с друг user id – могат, въпрос на deployment, и дали става ясно какви са таксите и къде отиват – може да се expose-не.
Най-учудващото беше, че наистина са успели да го сглобят за два дни, може би трябваше да спечелят повече от трето място :) (вероятно им помогна, че няколко човека от екипа си работят професионално и пишат сериозно)

Отбор 20 – план бе – бяха направили нещо като kickstarter за благотворителност, като интересната част към него беше, че може да се дари обещание за нещо. Идеята на обещанието е, аз казвам – ако някой дари X лева, аз ще му направя курс по програмиране, Александър Тодоров ще му сготви конски кюфтета или нещо такова. Идеята е доста ценна, надявам се да се появи някъде.

Отбор 21 – el romantico, на които бях ментор и които в петък имаха 4 идеи, в събота работеха по пета – бяха направили система за намиране на курсове (т.е. пак снабдителния проблем). Дава се възможност някой да предложи курс, да даде минимален брой хора, които да дойдат, и останалите да се записват. Системата им работеше :) Питахме ги дали имат филтриране по географска локация – казаха, че са го махнали, и нямат също така идея дали курсът в крайна сметка се случва или не.

Отбор 22 – RQ – бяха написали система за резервации в ресторанти и подобни заведения (и не беше ясно дали това има много връзка с благотворителната тематика на hackaton-а). Собствениците на заведения можеха да качват архитектурни скици на заведението си и да обработват заявки за резервации, като поставят хората на определени места. Скиците се работеха като bitmap-и, и резервациите се маркираха просто с правоъгълници, т.е. нямаше анализ и разпознаване на картинки, но бяха докарали пълна работеща система. Нямаха и автоматично разполагане на резервации. Имаха допълнителни бележки към всяка резервация, като metadata как да се разположат хората.

Отбор 23 – парчетата – бяха направили система за следене на заетостта на залите в университета, в общи линии улеснител на учебния отдел, който и работеше. Интересно дали вече няма нещо такова.

Отбор 24 – 42 (на които бях ментор) бяха направили визуализатор на произволни данни в/у карта чрез csv файлове. Ползваха за основа OpenStreetMap. Питахме дали може да комбинират няколко вида данни или да изобразяват функция от два вида (например брой училища на глава от населението за даден регион), нямаха го.
(те имаха доста по-мащабна идея, но явно не бяха успели да я доработят)

Отбор 25 – супер герои – бяха направили “мобилен app за доброта”, в общи линии като контролния дисплей на някой супер герой. Хората подават заявка за помощ през някакъв вариант на приложението, след което всеки докато си върви по улицата може да види къде наблизо има някакви проблеми и да се включи, ако иска. Примерът, който бяха дали е как можем да видим, че някой има проблеми с компютъра и е от нашия вход, и да идем да помогнем.
Планираха да сложат ACK за всеки, който е реших да иде да решава даден проблем, за да не се получава slashdot-ване на някой проблем.
Нямаха добро решение за случая ако някой използваше системата като honeypot, т.е. или да примамва хора, или да гледа къде има пострадали хора и да ходи да лешоядства – казаха, че оставят решението за пускане на заявка за помощ на самите крайни потребители.
Не беше съвсем ясно и какъв точно е target-а на приложението.
(работеше)

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

Отбор 27 – repl5 (бях им ментор) – бяха направили система за генериране на тестове (от тия, дето печатаме, за да изпитваме студентите). Един от менторите им беше помогнал с написването на разпознаването на изображения, за да може да се проверяват по-лесно тестовете.
Имаше бая въпроси към тях: как валидират генерираните тестове, т.е. как знаят, че не са повторили въпрос, или отговор (щото това винаги е бил първия бъг на всичките генератори, които съм виждал) – ще си напишат тестове към алгоритъма; възможност за повече от един верен отговор – имат; схемата им с табличката за попълване на факултетния номер (5 реда с числата от 0 до 9, и човек на всеки ред отбелязва поредната си цифра от факултетния номер) беше лесна за объркване – имат и друга; какво става, когато човек си коригира отговор на листа – разпознаването би трябвало да се справи (това не го вярвам).
Ще е хубаво най-накрая да има унифицирана система за това, но не е ясно дали ще е тази (иначе работи като приложение директно в browser-а на потребителя, само на javascript и генерира pdf-и, т.е. е доста portable, за разлика от много други, дето сме правили).

Отбор 28 – бащата на Кнут Хамсун (проверих в wikipedia, Педер Педерсен) – бяха направили проста система с QR кодове за информация за статуите из ФМИ, на кого са, какво е направил и т.н..
Оказа се, че те пишат в QR-а директно URL (а самия QR е на лист, залепен за статуята), което значи, че ако подменя листа с някакво друго url, хората ще отварят него. Решението им за в бъдеще е, че ако QR кодът е издълбан на статуята, то няма да работи номера с фалшификацията (а самия код е супер издръжлив на опити за промяна).

Отбор 29 – Оги самотния войн – беше нещо за предизвикателства/challenges, но нямам много бележки по него и не беше особено ясен (и не беше стигнал много далече, основно имаше някаква идея).

Отбор 30 – placeholder – бяха направили lock screen, който показва реклами, от които приходите по принцип да отиват за благотворителност. Единствената ми бележка е “ужасна идея”.

(приемам корекции и допълнения, сигурен съм, че имам доста грешки и пропуски)