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

by Vasil Kolev

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tags: , ,

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

  1. Виктор Марков Says:

    Виктор Марков от отбор RQ.
    Темата на хакатона беше Hack for Charity, но приложенията, които можеха да се пишат бяха в полза на обществото. В рамките на 2 дни успяхме да направим възможно най-близкото до тази тема система.
    Автоматично разпределяне на хората по маси ?
    -Не съм съгласен. Имаш фактори в организирането и администрирането на едно заведение, които не можеш да предвидиш.
    Разпознаването на архитектурния план.
    -Би било много яко ! Търсим хора, които да ни помогнат в това начинание. Но за тези 2 дена, сметнахме, че не е нужно.
    Поздрави

  2. Mitko Says:

    Направо ме разби с всички идеи. Аз съм начинаещ програмист със закърнял мозък. Кой е най-удачния вариант да се науча да кодирам бързи и прости уебсайтове каквито най-често ми трябват напоследък??? : )

  3. Vasil Kolev Says:

    @Mitko, ми харесай си един език/framework и почни да ги правиш :) Ще ти трябва да почетеш малко на тема security (т.е. какво да не правиш, че да е лесно да ти строшат сайта), ама останалото е лесно.

Leave a Reply