Tag Archives: събития

2025-10-31 OpenFest 2025 се случи

Post Syndicated from Vasil Kolev original https://vasil.ludost.net/blog/?p=3518

Случи се OpenFest 2025.

(аз в момента режа видеата и трябва тия дни да почнем да ги качваме)

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

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

Програмата например се случи много в последния момент – отворихме CFP-то в края на май (от тогава е и първата подадена лекция), но в обявения срок (1 септември) имаше нещо като 34 подадени лекции, workshop-и и щандове, от които повечето в последните три дни. В крайна сметка имахме 74 с две удължавания на срока и ръчкане, но по принцип срок до 1 септември в държава, в която никой не работи през август не беше смислена идея. Та имахме програма по-малко от месец преди събитието, което ми се искаше да не се случва 🙂

(и има още доста неща, от които мога да се оплача, ама те са за postmortem-а)

Но, усещането да идеш в 8 сутринта в събота и да видиш как се върти видеото на телевизорите пред залата, да знаеш, че ей-сега започва и това е резултатът от всичкото това занимаване, или след цялата лудница да влезеш на афтърпартито и да видиш екипът колко се радва на свършената работа (е, и някои от тях да се опитат да те убият с пиене на шотове, вие се знаете кои сте)… Усещах как се ухилвам без да се усетя даже 🙂
(всичко това прави много по-лесно да ходя при доброволците и да питам “Догодина пак?” 🙂 )

От нещата, които много ме зарадваха, че сработиха е новия ни video setup, който ползвахме в голямата зала – изцяло open-source video mixer (има си repo), който успяхме да подкараме в сравнително кратки срокове, с усилията на няколко човека. Имаше малко додебъгване на неща в петък вечер, но двата дни работеше перфектно. Догодина ще гледам всичките ни setup-и да са без proprietary неща.
(бях поканил Марк от FOSDEM да удари едно рамо за видеото, и имаше толкова малко проблеми с цялото нещо, че в крайна сметка той успя да посвири прилично количество време на контрабаса, който бяхме замъкнали в залата)

Организирахме и един music tech jam – Алекс Миланов се сети в последния момент, че можем да направим нещо такова, и събота вечер разни хора се насъбрахме и пробвахме да свирим заедно и да си разменяме инструментите. От там ми е и любимата ми моя снимка от тоя фест.

Също така, имахме нов вариант за запазване/купуване на тениски, през online магазин, който сглобихме заедно с init Lab – избегнахме древните google форми, имахме доста по-добър поглед върху всичко, и успяхме да го навържем с POS терминал и дори да приемаме карти. Имаше някакви количество проблеми, но много по-малко, отколкото очакваме, което се дължи на всички, които участваха в това (и някои даже не спаха една нощ).

(и много много много други неща, дето дори ми е трудно да изброя, все подробности и все важни,

И разбира се, имаше оплаквания, мисля да адресирам няколко от тях:

Едното беше, че сме дали сцена на политическа фигура. Мога много лесно да се оправдая с програмният комитет (в който нямах никакво участие), но това да не се съгласим Божидар Божанов да говори, само заради това е просто тъпо – той е бил лектор по събития и на OpenFest отпреди да я има партията, на която в момента е лидер, свършил е много и полезни неща в и извън политиката, и беше подал лекция, която е важна за OpenFest публиката. Което си личи и от това, че беше много посещавана, мисля и най-гледана на stream-а, и една от най-гласуваните в системата. Та, това е бил съвсем правилен избор.
(по същата тема, хората казват “ама не се политизирайте”. Не съм сигурен как да кажа най-добре “what a load of crap” на български, защото това, че държим на отворени технологии, това, че сме отворени за всякакви хора без значение пол, раса и квото-е-там са си политически позиции, които всъщност защитаваме. Няма да приемем лекция на някой, който иска да забрани open source или да избеси всички бежанци или там каквито е модерно да не се харесват, например.)

Другото беше какви спонсори сме допуснали тази година, т.е. такива, които разработват софтуер за хазарт. Имам съвсем прост отговор на това, който е, че имаше избор между това да се случи и да не се случи OpenFest, мисля, че е очевидно какво избрахме. Ще се радвам много ако не трябва да правя такива избори, но по ред причини се налагаше.

И да приключа с любимата ми снимка от събитието. Двамата Ивановци и някакви хора липсват, че имаше малко объркване с програмата, та чакаме някой да ги photoshop-не в снимката…

2025-10-03 OpenFest 2025 програма и тениски

Post Syndicated from Vasil Kolev original https://vasil.ludost.net/blog/?p=3517

OpenFest 2025 се движи с пълна сила.

Вече имаме програма (която може да се види и в pretalx). Има забавни неща за всички, или поне се надявам – три пъти удължавахме срока за подаване на предложения 🙂

За тази година имаме малко по-различна система за запазване на тениски – заедно с init Lab (така де, то е тяхна инициатива) правим online магазин за merchandise на всякакви добри хора, като хакерспейсове, отворени събития и т.н.. За момента сме пуснали само запазването, но финалната цел е да си работи като истински магазин, с плащания и т.н..

(също така, има още малко време ако някой желае да доброволства или да спонсорира, пишете ми 🙂 )

ConfConf 2025 (English)

Post Syndicated from Vasil Kolev original https://vasil.ludost.net/blog/?p=3508

The zero edition of ConfConf passed (a month ago).

For several years we have been talking to the people from FOSDEM that it would be nice to have some kind of gathering/conference for people who, like us, organize open-source and similar conferences. Some time ago, the same idea was for an event only for video-streaming/recording (with the working title “vocconf”), but we got nowhere.

So this year, after we had FOSDEM and went to the FOSSASIA summit in Bangkok, we decided to move things forward. We decided to call it ConfConf, we made a simple website, and started inviting people. Our idea was for it to be invite-only, a small un-conference somewhere relatively cheap and central, so that we could get by with a minimal budget. Sofia turned out to be a suitable place – we managed to reserve the conference rooms at the Hemus Hotel, half of the visitors stayed there, and so the 40 or so people who gathered were together almost the entire time.

People came from Sweden, Belgium, the Netherlands, France, Germany, Serbia, Bulgaria, Vietnam, South Korea and Taiwan (we should write somewhere on the website which events they attended).

There was some concern that people wouldn’t want to talk, would be shy, etc. It turned out to be completely unfounded – this is a topic that most organizers have no one to talk to, and very shy people don’t organize conferences (and don’t go to conferences to organize them). I don’t think we stopped talking for two and a half days, during the event, at breakfast, dinner, lunch or even on the way somewhere. My head can’t digest all the conversations yet, but we have notes from all the sessions and we will organize them somewhere.

We started a bit chaotically, our wiki-type software broke (hedgedoc is cool, but definitely not for 20 people writing on the same page at the same time), so we switched to flipcharts, but in the end, with people who are always organizing things, we didn’t encounter anything that could stop us. We did a number of group sessions, some with everyone present, and somewhere we have a recording of the opening and closing, which might be good for publication.

(Organizationally, the event was made to be simple, on purpose – so that even the organizers could participate, and not think about the details of the organization. We had rented the conference rooms of the Hemus Hotel, had lunch there, had reserved tables for dinner at the hotel (for Friday), at CoKitchen and at Kolovoz 41, and basically that was almost everything. There was no planning of streaming and recording, no preparation of a program, or anything else time-consuming)

I can safely say that these were about 40 of the coolest people I have ever met. No matter where they were from, they were interesting conversationalists, they did interesting things and had something to tell.

After some rest, we will plan the next one – there are talks about whether it could be somewhere in Asia, or some other more central place that more people can easily reach (if a local team is found in Istanbul, for example, it would be interesting). Who knows, maybe it’ll be in Vietnam…

The whole event also gave me an interesting perspective. In Bulgaria and in a decent part of Europe in general, many of these events were started at by infrastructure people (mainly system administrators), as the main ones in need of such software and with the desire to get involved in getting it up and running and adding to it. This doesn’t seem to have been the case in most of Asia – there, infrastructure people seem to be only at large telecoms, where problems were solved with a lot of money, buying software or some big development department. There was no idea of a neighborhood ISP, someone to roll out servers/forums and other such things.
(I’m still collecting and reading literature on the history of the Internet in Asia, something else may pop up)

Another interesting thing about my explanations about how a decent part of the event organization and all the things like videobox were done in our free time was “in India people don’t have free time”. I’ve noticed this in countries with various clients and what time they write to us – I work for a company of workaholics, and we still don’t write over such a wide range of hours as some people in India. For South Korea it was “people have jobs and hobbies, but they do both putting in their all”, so it might be better there 🙂

ConfConf 2025 (български)

Post Syndicated from Vasil Kolev original https://vasil.ludost.net/blog/?p=3507

Мина нулевото издание на ConfConf (преди месец).

От няколко години си говорим с хората от FOSDEM, че би било хубаво да има някаква сбирка/конференция за хората, които като нас организират open-source и подобни конференции. Преди време същата идея беше за събитие само за videostreaming/recording (с работното заглавие vocconf), но там не стигнахме до никъде.

За това в крайна сметка тази година, след като случихме FOSDEM и ходихме на FOSSASIA summit-а в Банкок, решихме да придвижим нещата. Решихме да се казва confconf, направихме един прост сайт, и започнахме да каним хора. Идеята ни беше да е invite-only, малка un-конференция някъде на сравнително евтино и централно място, за да можем да минем с минимален бюджет. София се оказа подходящо място – успяхме да запазим залите в хотел Хемус, половината посетители и отседнаха там, и така 40-тината човека, които се събрахме бяхме заедно през почти цялото време.

Дойдоха хора от Швеция, Белгия, Холандия, Франция, Германия, Сърбия, България, Виетнам, Южна Корея и Тайван (някъде на сайта би трябвало да напишем кои събития присъстваха).

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

Започнахме малко хаотично, счупи ни се wiki-тип софтуера (hedgedoc е готин, но определено не става за 20 човека да пишат в същата страница по същото време), та минахме на flipchart-ове, но в крайна сметка при хора, които все организират неща не се сблъскахме с нещо, което да успее да ни попречи. Направихме някакво количество сесии по групи, някакво с всички присъстващи, и някъде имаме запис от откриването и закриването, които може и да стават за публикуване.

(Организационно, събитието беше направено да е просто, съвсем целенасочено – така дори организаторите да могат основно да участват, а не да мислят подробности около организацията. Бяхме наели залите на хотел “Хемус”, обядвахме там, запазили бяхме маси за вечеря в хотела (за петък), в CoKitchen и в Коловоз 41, и в общи линии това беше почти всичко. Нямаше планиране на streaming и recording, нямаше събиране на програма, или каквото и да е друго много времеемко)

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

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

Цялото събитие също така ми даде интересна перспектива. В България и изобщо в прилична част на Европа много от тези събития бяха започнати едно време от инфраструктурни хора (основно системни администратори), като основни нуждаещи се от подобен софтуер и с желанието да се занимаваме да го подкараме и допишем. Това не изглежда да е бил случая в по-голяма част от Азия – там инфраструктурните хора изглежда да са само по големи телекоми, където проблемите са се решавали с много пари, купуване на софтуер или някакъв голям отдел за разработки. Нямало е идеята за квартален доставчик, някой да търкаля сървъри/форуми и други такива неща.
(още събирам и чета литература за история на интернета в Азия, може да изскочи още нещо)

Друго интересно около моите обяснения за как някаква прилична част от организацията на събития и всичките неща като videobox-а сме ги свършили в свободното си време беше “в Индия хората нямат свободно време”. Това съм го забелязал и от страни с разни наши клиенти и по кое време ни пишат – аз работя във фирма от работохолици, и ние пак не пишем по толкова голям диапазон от часове както някои хора в Индия. За Южна Корея беше “хората имат работа и хобита, но правят и двете влагайки всичко от себе си”, та там може и да е по-добре 🙂

2025-03-24 HackTues 11

Post Syndicated from Vasil Kolev original https://vasil.ludost.net/blog/?p=3502

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

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

По правилата тази година, отборите си избираха менторите. Мен ме избра екип W-BT. Според тях основно заради python-а, който бях написал, че знам, според neter, понеже проектът им бил свързан със стари хора и им трябвал някакъв такъв.
(чак пък стар, само три пъти по-възрастен съм от тях)

Бяха (учудващо, поне за мен) добре организирани – бяха измислили какво точно ще правят още преди да се видя с тях, имаха сравнително добро разпределение на задачите, и дори за да избегнат забраната за всички под 9ти клас да стоят по цяла нощ/спят в залата, бяха си взели едно airbnb наблизо, от което да работят през нощта (което ми се видя като много добър hack).

Аз изкарах с тях двата дни и гледах да не им се меся много, и определено да не им решавам аз нещата (мисля, че се гледа криво на това менторът да ти напише кода), но debug-вах някакви неща, помагах с git и setup на работни среди, оправяне на текст и с измислянето на въпроси, които могат да очакват от журито.

(in other news, чудя се дали има смисъл да направя лекция “debug чрез print”, за нея имам страхотна история, която включва Алан Тюринг и Клод Шанън)

Не знам обаче как работеха всичките в тоя шум. В “Джон Атанасов” бяха наредени маси за всички отбори, бяха им докарали ток, и всички си работеха, но имаше много разговори и около 50-55db фонов шум (според калпавия измерващ app на телефона ми). Аз имах и някаква друга работа и определено ми пречеше, та по средата на хакатона се прежалих и си поръчах свестни слушалки (които ще дойдат съвсем навреме, следващата седмица…). Мисля си, че това беше основната причина да съм толкова уморен събота следобед и да не остана за финалната част, прибрах се и си легнах.

Та след като си направиха последните commit-и в 6:50 сутринта (при 6:59 краен срок), моите хора се явиха пред журито в 10:39. Това не беше най-лошия вариант де, имаше хора пред журито в 08:00, т.е. съвсем да не могат да поспят. Мисля, че бяха едни от най-добре справилите се с тази част, въпреки шума (част от полуфиналите бяха отстрани в “джобовете”, където на OpenFest-а слагаме детския кът и щандове, и нямаше начин да се ограничи шумът), ранния час и средно подлите въпроси от журито.

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

От нещата, които ми направиха неприятно впечатление (както и на колегите) беше начинът на използване на AI нещата и цялостното очакване, че те “знаят” какво правят. Имаше не само “дай chatgpt-то да ни изгенерира еди-какво-си”, но и в самите проекти имаше “и това го подаваме на OpenAI и то ни отговаря” (любимият ми пример беше при един проект, който анализираше извлечения от банкови сметки, как един член на журито пита “Добре, аз ей-сега му дадох един PDF от някакъв курсов проект, и то от него си измисли някакво голямо количество транзакции, това очаквано ли е?”). Мисля, че трябваше да има награда за не-използващи AI, или поне ползващи го по смислен начин.
(фирмената награда я дадохме на отбор, който това го беше направил както трябва)
Изобщо, тоя стохастичен папагал не е достатъчно добре разбран, и се струва магия на всички, както blockchain-а (който беше “тук нещо се случва и ставаш богат”). Чудя се дали мога да намеря някой да го обясни правилно.

Обаче най-важното беше, че всички бая се забавляваха, въпреки че подобно събитие по дефиниция си е напрегнато (и всичкият му график беше твърде оптимистичен, например почти без почивки между представянията за полуфиналите). Настроението се беше пренесло и върху журито – тяхната работа на практика е да се заяждат с участниците, но се усещаше един такъв тон на забавление в цялото нещо.
На финалите в журито имаше един член (който заслужава отделна награда), който изнамираше паролите, които хората бяха commit-нали и влизаше по админските и контролни системи на повечето проекти (един отбор си беше забравил AWS (или GCP?) token-ите в някакви commit-нати файлове и можеше да им се спре всичко). При един от отборите беше питал “Ама тук сте оставили админската парола на keycloak-а (през който минава всичката автентикация на приложението им) в един файл, то така не може ли всеки да влезе да вижда тия неща” и от отбора сравнително бързо успяха да отговорят “Ами то ние сме я сложили там, за да може да я види журито и по-добре да разгледа проекта”.
(5 минути смях в залата и ръкопляскания)

Ако мога да участвам догодина, едно от нещата, които бих направил/помогнал биха били някакви допълнителни workshop-и преди събитието, особено за по-младшите участници, за неща “как да работим по-ефективно” (сега е имало някакви, провеждани от предишни участници, но не мисля, че нещата, дето ми се иска са били засегнати). Това ми беше с доста участници наблюдението, че можеха да си спестят прилично време, ако ползваха alt-tab, разни други клавишни комбинации и като цяло някаква по-ясна организация на работното пространство. Мога даже да цитирам един разговор от при мен,
“Ползвай стрелката нагоре, защо се мъчиш да го пишеш наново”
“Уф, и баща ми все това ми казва”

FOSDEM 2025 – на български

Post Syndicated from Vasil Kolev original https://vasil.ludost.net/blog/?p=3495

Случихме FOSDEM 2025.

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

Нещата започнаха още на предишното издание, където в NOC-а дойде да ни види Martijn Braam и да ни каже “беше ми скучно по едно време и тука си направих аудио миксер със сравнително проста платка и едно Teensy 4 за контролер”…
(пак от при него, нашата версия на миксера и ethernet switch-а)

И се започна нов дизайн на кутията (неофициално версия 2.5). Версия 2 беше една 4-портова мрежова карта на USB със switch в нея, една capture карта, базирана на MS2131 чип (с вграден loop-out) и един USB hub, на който да се закачат. Всичко останало се вършеше от един лаптоп, който ползвахме за encoder, да показва статус и всякакви такива неща.

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

Съответно, Martijn и Ангел от наша страна се заеха с дизайн на платки.
(около това аз осъзнах колко мразя хардуера)

Не знам дали мога да разкажа всичко случило се в рамките на годината. Най-лесно е е да се види history-то на video repo-то.

Малко интересни моменти:
cursor.c, нещо малко, което като се preload-не, прави всяко ползване на SDL да крие курсора. Защото иначе ако човек прави с ffmpeg изход към HDMI порта на компютъра, поне в Debian остава един курсор в горния ляв ъгъл (написването и тестването на цялото нещо отне по-малко време от rebuild на ffmpeg, та за това е в такъв вид);
Инструкции за сглобяване, заедно с план за поточна линия/workshop за сглобяване на много кутии от много хора;

Martijn направи много хубаво видео за кутията, и с Ангел я представиха в една от лекциите на FOSDEM, записът вече е качен.

За основен компютър вътре в кутията избрахме Radxa x4. Изискванията ни бяха да е x86-64, да има Intel-ско GPU (защото за тях има mainline support за хардуерен encoding), и да е достъпна/налична. Има един много полезен сайт на Martijn, hackerboards.com, в който човек може да търси каквото компютърче му трябва. Първоначално тествахме с Raxda X2L, но заемаше доста място, и имаше проблем със захранването (оправен в по-новите версии, но все пак). В крайна сметка се оказа, че за подобни пари можем да вземем 110 X4-ки, с вграден eMMC flash и всякакви екстри (вкл. bluetooth/wifi, които не ползвахме), и се спряхме на тях.

Ще отделя малко повече време на историята на вентилаторите, понеже имаше много въпроси защо звучат така. Без да изпадам в подробности, които не разбирам, ситуацията е следната:
– на power board-а си имаме чип, който може да контролира вентилаторите, по документация или със стойност на PWM, или на база обороти;
– контролът на база обороти не работи. След като написах една реализация, която следваше дословно datasheet-а и не свърши никаква работа, отидох да видя source за същото нещо в linux kernel, и се оказа, че и там не го ползват на база обороти;
– поради някакви неща с навързването, чипът може и да поддържа един байт за PWM, но на практика има разлика само при 3-4, при всички останали или спира, или е на максимална скорост;
– Въпреки, че сме купили еднакви, хубави вентилатори, различните стойности на PWM-а имат различен ефект върху тях. Също така, различна температура/влажност в стаята, фаза на луната и т.н. също влияят различно. Което води до това, че понякога вентилаторите спират и трябва да им се вдигне стойността да развъртят, което води до виене;
– Което виене вероятно се чува на прилична част от лекциите;
– Понеже на дъното на кутията имаме 2 мм метална пластина, която го покрива цялото и я ползваме за радиатор, имаше разговор дали да не ги спрем изобщо (понеже по време на тестовете не успяхме да го прегреем), но не ни се рискуваше.

За съжаление, в много от лекциите ще се чува звукът на тези вентилатори. Ако някой измисли филтър да го махнем, да пише…

Металната пластина на дъното се оказа невероятно добра идея. Всичко дойде от там, че ако бяхме следвали стария принцип на закрепяне, трябваше да проектираме и 3d-принтираме много много различни и дребни части, които някакси да закрепим за малкото дупки на кутията многото платки. Идеята да направим една голяма платка отпадна много бързо, понеже две от платките изобщо не бяха правени от нас (Radxa x4 и HDMI capture картата), и щеше да затрудни много процеса на дебъгване и правене на нови ревизии. В един момент си казахме “а защо не просто едно желязо и да завиваме в него”, което почти като страничен ефект се оказа невероятно ефективен радиатор (преди него Radxa x4-ката прегряваше и забиваше в рамките на 10 минути, а Radxa X2L си смъкваше процесора на 500MHz, и обмисляхме всякакви варианти за охлаждане).

Октомври и ноември около други неща бяхме поприключили дизайна, и започна поръчването на всички части. Добрите хора от МиНоЛаб ни услужиха с място, където да струпаме всичко, да можем лесно да товарим и разтоварваме и да сглобяваме. Събрахме части за 70 кутии и организирахме sweatshop по Коледа, в който да ги сглобим, с допълнителна стъпка малко след нова година да инсталираме екраните.
(първоначалният план беше да сглобяваме в initLab, но щеше да ни е трудно да се съберем, и съвсем не ми се мисли как щяхме да носим кашоните с неща нагоре-надолу по ония стълби. За това в initLab беше повечето тестване и разни други разработнически дейности)

Не знам дали мога да обясня какво невероятно преживяване беше сглобяването. 10-15 човека, в дните между Коледа и нова година и после първия weekend на януари, от купчина части и джунджурии направихме 70 работещи, инсталирани и тествани кутии, с които преценихме, че може да се случи FOSDEM (60 за залите и 10 резервни). Ако се бяхме забавили с още една седмица, можеше да направим още, но твърде много приближаваше събитието, и щеше да е сложно да ползваме мястото за сглобяване.

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

За да се справим изобщо, махнахме следните функционалности:
– loop-out през портовете на Radxa-та, вместо през capture картата. Така щяхме и да можем да показваме нещо различно на екрана, докато няма нищо включено. Основната причина да го няма беше, че не можахме да намерим 110 бр. къси microHDMI-HDMI кабели;
– Да избегнем един кабел и да носим аудиото между двете кутии по мрежата. Подкарах един proof of concept с AES67, но не остана време да го направя production ready;
– Горното беше спряно и от това, че поради някакъв синхронизационен проблем audio mixer-a crash-ва, ако му ползваме USB audio-то. Има няколко идеи за как да го оправим, но сравнително късно намерихме, че причината е една промяна, която го прави да работи на 48KHz вместо на 44.1KHz, и води до разсинхронизация на USB-то и четене на грешна памет;
– Пак заради липса на един кабел и време не довършихме функционалността да може да се пуска звук от презентацията на лектора. В някои зали няма озвучаване, та това нямаше да е полезно, но за други щеше да е, а все повече лектори искат да пускат звук;
– Единият ни USB порт на кутията трябваше да ходи директно в Radxa-та, за да можем да правим разни интересни неща. И за него нямахме подходящ кабел, но и донякъде по-добре, понеже това си е жив backdoor в кутията и не сме доизмислили как някой да не пъхне клавиатура и да почне да прави мизерии…

Но, имахме цялата функционалност от предишни години, заедно с аудио миксер, който беше вграден (едно нещо по-малко за носене), и чиито нива можеше да следим в реално време и да променяме, когато се налага (без да трябва да пращаме някой на място). Като допълнителен бонус, не можеше random хора да променят настройките по звука, понеже кутията копчета няма :). Изобщо, аудио миксера и нещата около него заслужават отделен post, който Алберт (който написа повечето код) написа 🙂

В последната седмица успях да оправя още няколко неща, като да имаме и 480p stream (не само за хората на гаден DSL, но за хората на Wi-Fi в самия университет, които не успяваха да влязат в залите).

И така, започнахме FOSDEM 2025 с хардуер, приготвен преди 3 седмици, с известни проблеми и не-достатъчно-тестван. Ако имахме толкова проблеми, колкото очаквах, щях да използвам цялата тая история като пример за децата ми какво да не правят.
Отидохме около 30 човека от България, и бяхме голямата част на видео екипа. Въпреки всичките ми планове да съберем доброволци от други места, не ми се получи – успях да направя един online инструктаж точно една седмица преди FOSDEM, а нямах как по-рано (поради приключването на сглобяването в началото на януари, след което се разболях така, че все още кашлям). Надеждата ми е, след като сглобим останалите кутии, да видим дали разни hackerspace-ове няма да им харесат (щото с тях може да се правят доста интересни неща) и така да съберем още желаещи.

Имахме учудващо малко проблеми.

Основният ни проблем дойде от известния проблем с memory leak-овете на Voctomix – бяхме планирали да мигрираме към Voc2mix, който беше release-нат лятото, но не ни остана време да го преборим (той щеше да ни даде и още възможности, като например повече от 2 аудио канала и съответно начин да носим backup аудио). Това доведе до дупки в някои лекции, и за догодина има няколко идеи как да се оправи.

Другият по-често срещан проблем (3-4 пъти) беше, че определен входен сигнал в capture картата успява да я ошашка, и да и спре loop out-а. Не е ясно защо е, нямаме source на firmware и не можем да намерим документация на чипа (Macrosilicon MS2131, ако на някой му се намира, няма да откажа).
(има предположение, че определени macbook M1-та го правят това с побъркването на capture картата, накрая ще вземем да ги забраним)

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

Успяхме дори да пренапишем начина за визуализация на нивата на звука (разделихме двата канала), с изнасяне на цялото смятане на нивата в отделна машина и база (за да освободим процесорно време на видео миксерите).

А аз направих грешката в събота вечер да ида на едната вечеря, която доста се проточи и заедно с умората от всичко останало доведе до там, че трябваше да седна и подремна някъде неделя следобед. Или съм изгубил форма, или просто не успях да се възстановя от боледуването…

Накрая дадохме назаем 2 кутии и един mixing laptop на FOSSASIA, има шанс да ги ползват скоро 🙂

От новите неща тази година – наслагахме стационарни телефони по VOC-овете и на разни други места, да видим как ще се получи. Закачихме и малко мобилни телефони на SIP към същата централа, за който желаеше. Експериментът беше успешен, ползваха се прилично (и вече има желаещи да има на още места). Може дори донякъде да заместят walkie-talkie-тата (дето още не мога да ги заобичам).

За самия FOSDEM не мога да кажа много – пак беше голяма лудница и пълно с хора, доколкото знам тази година доста по-добре са поддържали залите да не се препълнят. За мен най-интересното беше отделният “junior” track, за деца да ходят на workshop-и и да им разказват полезни неща. Това е нещо, което при нас май в момента го няма (едно време hackconf беше ориентиран към ученици, ама вече го няма), и би било хубаво да се появи.

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

FOSDEM 2025 – in English

Post Syndicated from Vasil Kolev original https://vasil.ludost.net/blog/?p=3494

We did FOSDEM 2025.

I think this was the event where we put the most effort into by the most people. It went very well (or, well, with less problems than expected)

Things started at the previous edition, where Martijn Braam came to see us at the NOC and said “I was bored at one point and I made an audio mixer with a relatively simple board and a Teensy 4 as a controller”…

(also from his blog, our version of the mixer and the Ethernet switch)

So a new design of the box began (unofficially version 2.5). Version 2 was a 4-port USB network card with a switch in it, a capture card based on the MS2131 chip (with built-in loop-out) and a USB hub to hook them up to. Everything else was done from a laptop that we used as an encoder, to show status and all that sort of stuff.

The plan for the new design was:
– to remove the laptop
– to put a screen on the box
– to save on any other hardware, respectively
– to build an audio mixer
– to have a way to charge the microphone batteries on the go
– (quite brazenly, bit it failed) to build a receiver for the microphones in the mixer

Accordingly, Martijn and Angel from our side started designing the boards.
(this is where I realized how much I hate hardware)

I don’t know if I can tell you everything that happened within the year. The easiest way is to look at the history of the video repo.

A few interesting points:
cursor.c, a small thing that, when preloaded, makes every use of SDL hide the cursor. Because otherwise, if you output to the HDMI port of the computer with ffmpeg, at least in Debian there is a cursor in the upper left corner (writing and testing the whole thing took less time than rebuilding ffmpeg, so that’s why it’s like this);
Assembly instructions, along with a plan for a production line/workshop for assembling many boxes by many people;

Martijn made a very nice video about the box, and with Angel they presented it in one of the FOSDEM talks, the recording is already uploaded.

For the main computer inside the box we chose a Radxa x4. Our requirements were that it be x86-64, have an Intel GPU (because they have mainline support for hardware encoding), and be affordable/available. There is a very useful site by Martijn, hackerboards.com, where you can search for any computer you need. Initially we tested with Raxda X2L, but it took up a lot of space, and there was a problem with the power supply (fixed in newer versions, but still). In the end, it turned out that for a similar amount of money we could get 110 X4s, with built-in eMMC flash and all sorts of extras (including bluetooth/wifi, which we didn’t use), and we settled on them.

I’ll spend a little more time on the history of the fans, because there were a lot of questions about why they sound like that. Without going into details that I don’t understand, the situation is as follows:
– on the power board we have a chip that can control the fans, according to the documentation either with a PWM value or based on RPM;
– the RPM-based control doesn’t work. After I wrote an implementation that followed the datasheet verbatim and didn’t do anything, I went to see the source for the same thing in the Linux kernel, and it turned out that they don’t use it based on RPM there either;
– due to some details with the wiring, the chip can support one byte for PWM, but in practice there is only a difference at 3-4, with all the others it either stalls or is at maximum speed;
– Although we bought the same, nice fans, different PWM values have different effects on them. Also, different temperature/humidity in the room, moon phase, etc. also have different effects. Which leads to the fact that sometimes the fans stop and their value has to be increased to spin, which leads to whining;
– Which whine is probably heard in a decent part of the lectures;
– Since we have a 2 mm metal plate on the bottom of the case that covers the whole case and we use it as a radiator, there was a discussion about whether to stop them altogether (because during the tests we were not able to overheat it), but we didn’t feel like taking the risk.

Unfortunately, the sound of these fans will be heard in many of the lectures. If someone comes up with a filter to remove it, please send it to us…

The metal plate on the bottom turned out to be an incredibly good idea. It all came from the fact that if we had followed the old principle of fastening, we would have had to design many different and small parts to be 3D-printed, which we can somehow attach to the few holes of the case so they can hold all the boards. The idea of making one big board was dropped very quickly, because two of the boards were not made by us at all (Radxa x4 and HDMI capture card), and it would have made the process of debugging and making new revisions very difficult. At one point we said to ourselves “why not just make one piece of iron and screw it in”, which almost as a side effect turned out to be an incredibly effective radiator (before that, the Radxa x4 would overheat and crash within 10 minutes, and the Radxa X2L would throttle its processor to 500MHz, and we were considering all sorts of cooling options).

In October and November, we had finished the design and started ordering all the parts. The good people at MinoLab provided us with a place to get all the pieces, so we could easily load and unload and assemble. We built 70 boxes out of parts we had by organizing a sweatshop at Christmas to assemble them, with an additional step shortly after the new year to install the screens.
(the original plan was to assemble at initLab, but it would have been difficult for us to fit there, and I can’t imagine how we would have carried the boxes of stuff up and down those stairs. That’s why most of the testing and various other development activities were at initLab)

I don’t know if I can explain what an incredible experience the assembly was. In the days between Christmas and New Year and then the first weekend of January, 10-15 people made 70 working, installed and tested boxes from a pile of parts and gadgets we had. We estimated that FOSDEM could happen with that many (60 for the rooms and 10 spare). If we had delayed another week, we could have built more, but the event was getting too close, and it would have been complicated to use the assembly site.

In the end, on January 7th we managed to send everything to Belgium, and it arrived there a week later.
This was very much on the verge, and we were about to activate the backup plan (which was to rent a truck and drive it there ourselves, and in extreme cases we could assemble some of the boxes on the way, in the back of the truck)

To be able to have something working, we removed the following functionalities:
– loop-out through the Radxa HDMI ports, instead of through the capture card. This way we could show something different on the screen while nothing was on. The main reason it wasn’t there was that we couldn’t find 110 pcs of short microHDMI-HDMI cables;
– To avoid one cable and carry the audio between the two boxes over the network. I ran a proof of concept with AES67, but there was no time left to make it production ready;
– The above was also stopped by the fact that due to some synchronization problem the audio mixer crashes if we use USB audio on it. There are several ideas on how to fix it, but relatively late we found that the cause was a change that makes it work at 48KHz instead of 44.1KHz, and that leads to USB desynchronization and reading the wrong memory;
– Again due to the lack of one cable and time we didn’t finish the functionality to be able to play sound from the lecturer’s presentation. Some rooms don’t have sound, so this wouldn’t be useful, but for others it would be, and more and more lecturers want to play sound these days;
– One of the USB ports on the box had to go directly to the Radxa, so we could do some interesting things. We didn’t have a suitable cable for it, but it was the better thing to do, because this is a live backdoor into the box and we haven’t figured out how to prevent someone from sticking a keyboard in and starting to make trouble…

But, we had all the functionality from previous years, along with an audio mixer that was built in (one less thing to carry), and whose levels we could monitor in real time and change when necessary (without having to send someone in the room). As an added bonus, random people couldn’t change the sound settings, because the box doesn’t have any controls :). In general, the audio mixer and things around it deserve a separate post, which Albert (who wrote most of the code) wrote 🙂

In the last week I managed to fix a few more things, like having a 480p stream (not only for people on crappy DSL, but for people on Wi-Fi at the university itself, who couldn’t get into the rooms).

So, we started FOSDEM 2025 with hardware that was prepared 3 weeks ago, with some problems and not-tested-enough. If we had as many problems as I expected, I would use this whole story as an example for my children of what not to do.
About 30 of us went from Bulgaria, and we were the majority of the video team. Despite all my plans to gather volunteers from other places, it didn’t work out – I managed to do an online briefing exactly one week before FOSDEM, and I couldn’t do it any earlier (due to the assembly finishing in early January, after which I got so sick that I’m still coughing). My hope is that after we assemble the rest of the boxes, we can see if various hackerspaces won’t like them (because you can do some interesting things with them) and that way we would gather more people who want to play with them and help at FOSDEM.

We had surprisingly few problems.

Our main problem came from the famous problem with Voctomix memory leaks – we had planned to migrate to Voc2mix, which was released in the summer, but we didn’t have time to test and integrate it (it would have given us more options, such as more than 2 audio channels and a way to carry backup audio). This led to holes in some lectures, and for next year there are a few ideas on how to fix it.

The other more common problem (3-4 times) was that a certain input signal in the capture card manages to screw it up and stop its loop out. It’s not clear why, we don’t have the firmware source and we can’t find documentation for the chip (Macrosilicon MS2131, if anyone has it, I won’t refuse).
(there is an assumption that certain macbook M1s do this with the capture card going crazy, eventually we will ban them)

Otherwise, a couple of boards died, the power went out in one room, nothing flooded, despite delays due to the network being deployed on Friday, we were ready at a relatively normal time, so we could go to bed on time, and the tear-down was also completed calmly enough so that everyone could eat normally.

We even managed to rewrite the way to visualize the sound levels (we separated the two channels), by moving the entire calculation of the levels to a separate machine and database (to free up processor time for the video mixers).

And I made the mistake on Saturday night of going to the staff dinner, which dragged on for a long time and, together with the fatigue from everything else, led to the fact that I had to sit down and take a nap somewhere on Sunday afternoon. Either I’ve lost my form, or I just haven’t been able to recover from my illness…

We also lent 2 boxes and a mixing laptop to FOSSASIA, there’s a chance they’ll use them soon 🙂

Some of the new things this year – we’ve been putting fixed phones on the VOCs and in various other places, to see if they’d help. We also hooked up some SIP mobile phones to the same PBX, for those who wanted them. The experiment was a success, they were used quite a bit (and there are already people who want them in more places). They might even replace walkie-talkies to some extent (which I still can’t get used to).

I can’t say much about FOSDEM itself – it was still very large and full of people, but as far as I know this year they’ve kept the rooms from getting crowded much better. For me, the most interesting thing was the separate “junior” track, for kids to go to workshops and be shown useful things. This is something that seems to be missing here in Bulgaria (hackconf used to be student-oriented, but it’s gone now), and it would be nice if it re-appeared.

And to end with a big thank you to all the volunteers who helped and didn’t strangle me (because the whole exercise wasn’t easy at all) – without you this wouldn’t have had a chance to happen, so thank you very much. And I’d be happy if you joined again next year 🙂

2024-10-19 “Self-hosting workshop” в initLab

Post Syndicated from Vasil Kolev original https://vasil.ludost.net/blog/?p=3487

В initLab се случват доста събития, но рядко има записи (или не се откриват, трябва да проуча малко).

Вчера с Благо направихме self-hosting workshop, и има запис. Ще се постарая да намерим начин останалите неща, дето се случват там да се записват и да ходят във видео архива.

2023-12-09 OpenFest 2023

Post Syndicated from Vasil Kolev original https://vasil.ludost.net/blog/?p=3471

Голяма лудница ми е, та все не стигам да напиша тия няколко реда (и щяха да останат за равносметката), но държа да кажа:

OpenFest 2023 се случи без мен.

Правих някакви дребни неща, но не съм бил в организацията, нещата се случиха някакси, аз бях там само за да си тествам setup-а за FOSDEM. Да съм честен, най-трудното ми беше да не давам нареждания, щото навикът е страшна работа…

Та, по някое време догодина като направим събрание на фондацията да я предам, ще съм приключил с тая си част от живота. Екип се намира да движи нещата, та съм спокоен 🙂

п.с. по предишната тема за junior администраторите ще пиша отделно.

2023-02-28 video-streaming (“видео-наблюдение”) на изборите

Post Syndicated from original https://vasil.ludost.net/blog/?p=3465

Тия дни от Дневник ме разпитваха някакви неща за видео streaming-а (“видеонаблюдението”) на изборите и решиш да доразкажа някакви подробности, ако на някой му е интересно.

Моят опит с тези неща идва от няколко места – генералното ми занимаване със сервиране на файлове и видеа, streaming-а на конференции (OpenFest и най-вече FOSDEM), и накрая – инфраструктурата и схемата, която сглобявах за tibroish.bg за излъчване на предишните избори.
(предишните видео-наблюдения бяха саботирани там, където вероятно ще бъдат и тези, на ниво секция, и на практика имаше твърде малко stream-ващи, може би около 1%. Съответно, цялостната схема не е минала пълен тест в production, но не успявам да намеря причина да не работи.)

(код на всичкото на tibroish)

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

Ще тръгна по потока на данните и ще обясня моето виждане (и как в общи линии работеше системата за streaming в tibroish, която за тези избори е спряна).

Самото заснемане се прави с телефон.
– Хардуерът на модерните телефони е доста добър, и като качество на картината, и като звук;
– в тях има хардуерен encoder за видео, който може да го сдъвче доста добре на хубаво качество;
– два варианта за свързаност (мобилна мрежа и wifi, като в този случай само мобилната мрежа вероятно ще се ползва);
– място за събиране на записи – на повечето телефони 6-часовия, 2.7GiB запис на 1mbps ще се събере във вътрешната памет и няма да има нужда от SD карта;
– самия телефон си има поддържаща операционна система и готови библиотеки;
– вграден UPS;
– ако трябва да се осигурят 12000 устройства за нещо и да се изпрограмират, телефоните нямат равни, понеже като цяло имат подобно производство.

Конкретно в tibroish нямахме особен избор, и задачата беше допълнително затруднена от това, че трябваше да поддържаме random телефони, което ако някоя фирма прави цялостното решение, няма да е проблем.

Приложението на tibroish има в себе си и video streaming, и е open-source, съответно може да се използва тази му част като основа.

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

След като получи информацията, приложението започва да записва и ако може, да stream-ва. Ако може, понеже в някакво количество секции internet няма и няма достатъчно мобилно покритие, за да излъчи 1Mbps видео.

Стойността 1Mbps идва от някакъв опит и проби/грешки, за повечето нужди в 1Mbps на 1280×720 (720p) може да се смести картина с четим текст и като цяло всичко да е добре различимо, при подходящ H.264 профил. Не съм успявал да докарам поносимо видео на по-малка разделителна способност, а 2Mbps ще е доста сложно за мобилната мрежа. Като опция, вероятно може да се записва на различен bitrate, но това ще увеличи доста натоварването на телефона.

Stream-ването го бяхме реализирали по RTMP. В момента опциите за подобно нещо са:
– WebRTC базирано – генерира UDP/RTP трафик и като цяло губи пакети, понеже е ориентирано за комуникация с ниска латентност. Голямото му предимство е сериозната поддръжка в телефоните и като цяло, понеже се използва много, но е доста по-сложно и като цяло неподходящо.
– Нещо файлово-базирано – например да генерира на телефона HLS фрагменти и да ги качва директно един по един – това би било страхотно решение и изисква най-малко от инфраструктурата, но не съм виждал такова.
– RTMP(S) – стандартен протокол в/у TCP, от ерата на Flash-а. Все още стандартът за stream-ване (всичките платформи като twitch, youtube и facebook май само него поддържат) и има добра open-source поддръжка. Аз все още ползвам nginx-rtmp за повечето streaming и стига да не се подава странно видео, работи добре.

Тук задачата в крайна сметка е да има видео и да изглежда добре, латентност от 5-10-30 секунди е поносима.

Този поток от данни с всички останали се праща до приемащ сървър. Сметките всеки може да си ги направи, при 1Mbps на поток и като цяло 12Gbps, ако се раздели на 50 виртуалки (както аз го бях направил), натоварването става поносимо и се издържа от и събира на почти всякаква машина в някаква cloud услуга. Единият път за tibroish използвах Hetzner, но има и други, които могат да свършат работа. За конкретния случай дори комбинация от няколко български доставчика ще свърши работа, и вероятно дори самите мобилни оператори могат да предоставят подобна мижава инфраструктура.
(по моя опит, нужната инфраструктура за това не стига размерите дори на среден cloud provider, може би е като един малък такъв. 12 Gbps и 30 TiB данни за записите би трябвало да не са нещо особено за когото и да било)

От гледна точка на сигурност, адресът на приемащия сървър се дава на приложението от централния, малко преди да е започнал streaming-а. Това се прави да се ограничи периодът, в който ще може да се подготви и засили DDoS атака, понеже такава ще има, както всяка година има спрямо сайта на ЦИК. Доколкото знам, ИО са отработили система за защита, и поне според мен може да се направи уговорка с мобилните оператори точно този трафик да не излиза никъде от мрежите им и да върви по трасета, които няма как да се DDoS-нат отвън.

След като трафикът стигне на приемните машини, от там те могат да генерират HLS потоци (за които няма нужда от reencode-ване, т.е. просто се препакетира трафика, което не яде почти никакъв процесор, от моите експерименти – бях пускал няколко-стотин потока към един сървър, докато сгъне) и може да се гледа. Като цяло гледането ще е по-малката част от трафика, и HLS се проксира доста лесно, та в tibroish просто ползвахме CloudFlare за proxy/филтър пред гледането. Мисля, че това е опция и за всеки друг, който го прави.

И на последно място, някъде трябва да има една красива страница, от която да се вижда къде има работещ stream и да може да се избере/гледа stream. Това се сглабя сравнително лесно (и пак го има в tibroish), като цяло начини да показваш видео – бол…

Няколко проблема, които не съм споменал горе:

– Цялото нещо има нужда минимум от DDoS защита. Може да се очаква да бъде блъскано усилено, ако се намери къде е, за това аз бих разчитал на елемента на изненадата (да не се вижда къде е докато не започне събитието), random имена на сървърите (и всичко в dns зоната, което не е тези сървъри, сочи към някакви blackhole-нати адреси, да затруднява допълнително), подходяща DDoS защита с подходящ капацитет и почистване на трафика, и различни, големи доставчици за проксиране, които да могат да издържат.

– Не сме правили запис, и не мога да кажа какви мотики може да се ударят там. Според мен и сметка на салфетка вътрешния storage на телефоните ще се справи, за удобство може да се пише И на SD карта, там е основно въпрос на логистика. Проблемът на SD картата е, че доста по-лесно изчезва…

– ЦИК има изискването да могат да се четат номерата на бюлетините. Това изисква най-вече добро осветление и поставяне на камерата, което не е от най-простите неща за обясняване (камерата има почти второстепенна роля). Според мен 1Mbps ще се справи със задачата.

– Не е ясно дали може да се записва звук или не. В tibroish го бяхме спрели директно, понеже юристите не можаха да се произнесат, според мен би бил страхотна идея да се записва и stream-ва, колкото и да е зле.

Та, технически може да стане. Практически – времето е малко и ще е сложно, и както обикновено, ще бъде саботирано в секциите. Ако няма конкретни глоби и наказания за липса на видео-наблюдение, може да се очаква поне 20% от него да не работи и да няма запис. Честно казано, ако видя да се случи от 50% от секциите, ще го броя за чудо.

Приемам всякакви идеи и корекции, че това ми е brain dump от една ранна сутрин 🙂

2022-10-28 post-OpenFest 2022

Post Syndicated from original https://vasil.ludost.net/blog/?p=3459

Мислех да пиша recap на OpenFest 2022, но ми е твърде уморено. Направихме един работещ фест след няколко години online и малки събития, получи се с нормалното количество проблеми, съвсем накратко 🙂

Вместо това, за да съм сигурен, че няма да си променя решението, го пиша тук – мисля догодина, ако имам изобщо роля в организацията, да е минимална. Освен, че имам нужда от почивка и че комбинацията от работа, деца и организация на подобно събитие не изглежда поносима за мен, би трябвало да е и крайно време по-нови и млади хора да се заемат 🙂

Така като си погледна архивите, като изключим 2003, 2012 и 2020, съм участвал във всички останали, като в последните 10 години – като един от основните координатори. Ако продължа да се занимавам, вероятно ще тръгна да правя побъркани неща като 10gbps wireless и т.н., а си мисля, че моите идеи за какво е хубаво да се прави/случва може вече да не са съвсем правилни 🙂

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

Все пак, крайно време е да ида един път на OpenFest като обикновен посетител, не ми се е случвало от 2003 🙂

OpenFest 2021 в парка

Post Syndicated from original https://vasil.ludost.net/blog/?p=3448

Ще се случва OpenFest 2021.

Ще е на открито, в “Маймунарника” в Борисовата градина, 14-15 август (стига да не се случи ОЩЕ нещо форсмажорно).

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

За пръв път организираме по този начин нещата, и въпреки че има да се решат всичките стандартни проблеми на ново място, събитието отсега се очертава да бъде забавно, и за присъствие, и за организиране 🙂

Мажоритарни

Post Syndicated from original https://alex.stanev.org/blog/?p=371

Активно започна да се говори за смяна на изборната система – малко като след дъжд качулка. Правят впечатление внушения как промяната на избирателната система ще доведе до промяна на политическата. А това вече е простотия и дебела манипулация.

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

Мажоритарните избори няма как да подменят политическия елит. В най-безболезнения вариант ще вкарат още малко колорит. Текущия парламент се “радва” на най-високата представителност от гласувалите – над 93% от действителните гласове са дадени за партии, които имат депутати сега. Това, разбира се, води до висока фрагментация и необходимост от коалиране. А коалициите в България по правило са безпринципни. Примерите ги знаете.

От математическа гледна точка, тази ситуация може да се излекува единствено с много висока избирателна активност. Активност, проявена от добре информирани и изискващи гласоподаватели. Бонус – забрана за три последователни мандата за народните представители и възможност за отзоваване чрез местен(районен?) референдум. Първото ще даде възможност за подмяна на лицата и създаване на мозъчни тръстове, а за второто промяна в Конституцията.

Конкурсът

Post Syndicated from original https://alex.stanev.org/blog/?p=341

Та вече седмица е активна страницата и кодовото хранилище на конкурса за разработка на софтуер по методиката на ЦИК за парламентарните избори.

Идеята се роди в края на деня, в който представихме целия софтуер за компютърната обработка пред ЦИК, неправителствени организации и медиите. Тогава се разви една не особено ухоприятна дискусия, която във времето се разви и прехвърли в различни форуми. Изписаха се множествени простотии, тук-таме и ценни мнения. Някои пък използваха темата, за да отправят личните си нападки към където/който са си набелязали, с което разводниха допълнително и без това оцапаната дискусия.

Изводите за мен са няколко:

  • Хората не знаят какво се случва от момента, в който са пуснали бюлетината до обявяването на резултатите. Недоволни винаги ще има, а практиката да се култивират бъдещи аргументи не е от вчера;
  • Други хора, които не разбират от софтуер, още по-малко от свободен такъв, се изказват компетентно и дават ценни съвети. Дори и с най-доброто желание да помогнат, в сегашната ситуация това единствено пречи на нормалното протичане на изборите;
  • Досега мислех, че в България повече хора могат да делят и сравняват дробни числа, отколкото да програмират, но явно наистина сме нация техническа.

Самата методика си има и своето чисто програмистко предизвикателство. Задачи с близка сложност вървяха по ученическите олимпиади. Тъй като ЦИК така или иначе публикува числовите данни, та дори и по новия Изборен кодекс сканираните протоколи, нищо не пречи да си организираме hackatoon с награди, за по-интересно. По-глобалната цел е да има повече хора, които разбират от механиката на нещата и в бъдеще да могат да помогнат, като измислят нещо по-добро.

А и някои ще си припомним олимпиадните страсти 🙂

На финала, връзките отново:

Страница на конкурса: https://electionscontest.wordpress.com

Кодово хранилище: https://github.com/elections-contest/pe2013

 

Бор RNG

Post Syndicated from RealEnder original https://alex.stanev.org/blog/?p=322

И отново запалиха коледните светлини в София.

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

И за да не е troll post, ето примерно приложение на така изграденото съоръжение – video_entropyd. С правилно насочени уеб камери, мигащите светлинки могат да се превърнат в криптографски сигурен източник на случайни числа. Бонус към това е и постоянно натовареното движение в района.

Така е то, всички администрации могат да се включат в eGovernment инициативите, дори и когато не подозират;)

Електронното гласуване C-22 *

Post Syndicated from RealEnder original https://alex.stanev.org/blog/?p=310

Наближават изборите и отново се заговори за подобряване на изборното законодателство. И този път темата “електронно гласуване” не бе пощадена, но за сметка на това се предложиха редица палиативни решения (по тази езикова конструкция). Минавайки през внесените законопроекти се вижда следното: в материалите на БСП, РЗС и ДПС няма предложени промени, свързани с отдалеченото електронно гласуване. АТАКА предлагат отдалеченото електронно гласуване да се регламентира чрез друг нарочен закон. Така на практика някакви дефинирани предложение има в проектите на ДСБ и ГЕРБ. Оставяйки настрана някои общи проблеми, на които не е обърнато внимание в законопроектите и за които евентуално отново ще се търси решение в последният момент, ще споделя няколко коментара по техническата част.

  1. И двата законопроекта изключват конвенционалното гласуване, ако си упражнил (в случая на ДСБ дори ако просто си се регистрирал) правото си на глас по електронен път. Гласуването е в рамките на 2 до 3 дена и то ограничено по брой пъти. По идея дистанционното електронно гласуване е, че то се извършва извън изградената защитена среда. Възможностите за контролиран вот по този начин са безгранични. За успешното протичане на процеса е необходимо времето да се удължи (например в Естония е 5 дена), без да има ограничения на броят на коригиране на вота от избирателя, което е напълно излишно. Ако все пак реши да гласува в секцията, подаденият глас по електронен път просто се инвалидизира на база избирателният списък. За инвалидизирането може да се приложи асиметрична криптография, която да гарантира анонимността на електронния вот. Последното апропо, би трябвало да се регламентира законово, а не да се оставя за оформяне в методически указания, защото има твърде много подводни камъни в имплементацията, които трябва да се премислят.
  2. Поради липса на надеждна електронна идентичност, в проектите е предвидено поредното погазване на чл. 2 на ЗЕУ. Въпросът за достъпността на предвидените за регистрацията данни е ясен и на малките деца. По план обаче, до изборите трябва да да имаме първите издадени държавни eID карти, да не говорим за наличието и на електронни подписи. Последните, естествено по стар български обичай “по-католици от папата”, бяха леко скопени откъм идентификационни данни с последните промени в ЗЕДЕП. Още помня учудването в очите на естонските експерти, докато им обясняваха как в ЕГН-то има много тайни лични данни, та затова си правим харакири и позволяваме издаване на ЕП само с единия гол псевдоним вътре. Хората обясниха, че и техния национален идентификатор е по подобна на нашата схема и след кратко обсъждане, решили, че по-добре да си развиват електронното управление, отколкото да подкопаят основите му с един замах. Въпреки всичко, дори и малкото, което имаме постигнато на този фронт може да се използва успешно и с помощта на технически мерки да използваме сигурната отдалечена идентификация. Както между другото го правят стотици хиляди фирми и граждани ежемесечно с услугите на НАП, АМ и електронното банкиране.
  3. ДСБ предлагат електронно гласуване в рамките на секцията чрез тактилен терминал. Хубаво, но цената няма да оправдае инвестицията. Какво ги правим после 12К терминали? Когато Русия изгради най-голямата в света мрежа за видеонаблюдение, по време на последните избори, паралелно с това вървеше и конкурс за идеи какво после да правят стотиците хиляди камери, активни мрежови устройства сървъри и т.н. В нашият случай вероятно областните управители ще трябва да им търсят место за съхранение. Да не говорим за десетките примери в световен мащаб за отказване от такъв вид гласуване поради несъвършенства на технологията и общото мнение на коментиращи, че си искат дистанционно гласуване през Интернет, а не упражнения тип 2009, когато имаше  подобно експериментално гласуване, но с неизвестни резултати.
  4. ГЕРБ предлагат “От един IP адрес не може да гласуват повече от двама избиратели.”. Всеки системен администратор под, но все пак близо до средното ниво може да обясни защо това е абсолютно ненужно и даже вредно, защото създава false sence of security.

Разбира се, може още доста да се дращи по написаното в проектозаконите. Най-общо нещата могат да се систематизират така:

  • Необходимо е да се преосмисли подхода за провеждане на дистанционното електронно гласуване (виж горе);
  • Необходимо е да се използват стандартните математически и криптографски подходи за гарантиране анонимността на вота. Няма нужда да се преоткрива топлата вода. Съществуват готови решения в други държави, които България може да използва, както и множество комерсиални такива. За привеждането на готовите решения обаче в използваем за страната ни вид ще трябва време.
  • Нормално би било платформата за дистанционно електронно гласуване да е с отворен код. Иначе отново ще се сблъскаме с такива изказвания.

* В законопроектът на ГЕРБ, електронното гласуване е предложено в §42. 042 (oct) = 0x22 (hex). Разбира се, че е случайно, за потвърждение може да гледате това (интервала 4:40-5:00 мин).

Изгрев

Post Syndicated from RealEnder original https://alex.stanev.org/blog/?p=296

Та след близо година затишие, реших да подновя графоманските напъни в блога.

Вероятно вече не останаха приятели и познати, които не знаят за промяната в кариерното ми развитие, но за пълнота ще добавя, че в момента работя в Synapse Ideas. Правим активно това, от което разбираме най-добре – електронни услуги, специализирани софтуерни решения, отворен код и т.н., но без тежкия overhead на голямата организация. По пътя към главната ни цел (world domination, разбира се) работим и върху други, доста интересни проекти, за които ще пиша когато му дойде времето(tm).

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

На финала да перефразирам: България е малка и въпреки това, спасение дебне отвсякъде 🙂

Confusion

Post Syndicated from RealEnder original https://alex.stanev.org/blog/?p=277

Напоследък доста неща, случващи се около мен и по света ми напомниха на едно старо парче на Genesis. Разбира се, в по-твърдия вариант на Disturbed.

There’s too many men, too many people
Making too many problems
And not much love to go round
Can’t you see this is a land of confusion?

Е, нека направим последен опит за Happy end.

Клипа тук.

Лалугери

Post Syndicated from RealEnder original https://alex.stanev.org/blog/?p=274

В края на миналата година приятели ми разказаха какви проблеми им се струпали на главите – в едно сливенско село и околията изведнъж плъзнали лалугери. Наглед миловидните създания унищожавали наред реколтата, разравяли градините и прочие. Честа тема в селската кръчма става обмяната на опит за отблъскването на вредителите и хитроумни методи за унищожението им, граничещи с идеи, взаимствани от филми на ужасите.

По същото време, докато хората се чудят “От де дойде таз напаст божия!?”, попаднах в публичния интерфейс на ИСУН на следния проект: Възстановяване популацията на лалугера като основен елемент за поддържане на благоприятния консервационен статус на приоритетни тревни хабитати и популации на хищни птици в природен парк сините камъни. Развива си се съвсем успешно и в същия район.

Хит!

Сега остава двете групи да се срещнат. Добре е да се подсигурят полиция и линейки за желаещите да ги използват в последствие 😉