Tag Archives: събития

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

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

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

Хит!

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

OpenFest 2010

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

OpenFest 2010 беше особено интересен тази година. Наред с това, че се видяхме с банда приятели, с които за съжаление все по-рядко ни се отдава да пием по бира, имаше и доста нови познанства. Споделените идеи са особено ценни, а когато има с кого да ги обсъдиш става все по-интересно. Вече има и предложения за следващия фест, но дотогава има време, а и, надявам се, локални събития:)

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

ИСУН

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

Някак си незабелязано премина представянето на публичния интерфейс на Информационната система за управление и наблюдение на средствата от ЕС (ИСУН/UMIS).

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

Съвсем свободно можете да разгледате информация, за това как са похарчени милиарди български и европейски средства тук: http://umispublic.minfin.bg

Adblock

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

След почти три годишно ослушване, най-после днес намерих време да скова (свестен) сайт за българския adblock списък. Като подхванах, направих и интеграция с Twitter, където commit log-овете от кодовото хранилище заминават директно.
Другото ново нещо е филтъра за Opera, който се генерира автоматично от моя списък в комбинация с актуалния на Fanboy.
В процес на разработка са и статистики за използването(10x myst!) на списъка, но за тях – по-нататък.
Приятно сърфиране!