Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript

VK hà una tradizione fresca - un hackathon internu, in quale solu i ragazzi di VKontakte ponu participà. Vi cuntaraghju di l'hackathon in nome di a squadra chì hà pigliatu u primu postu questu annu è hè mortu di fatigue in tuttu, ma hà sappiutu pruvà un detector di muvimentu di ballu per a camera di storia.

Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript

Mi chjamu Paul, I guidà a squadra di ricerca VKontakte superiore è aghju una attitudine calda versu i pirate: cum'è participante (Junction o una quantità di deephacks) è pocu tempu cum'è curatore (VK hackathon o VKontakte casu à Junction - per via, era a prima volta) Aghju participatu ci cumpagnia russa). Tenemu u VK Hackathon, apertu à tutti, per u quartu annu (l'ultima volta chì avemu cullatu in a Sede Generale di l'Ermitage), è una parte significativa di a nostra squadra tecnica hà participatu prima di unisce à VK.

Un hackathon internu permette à a squadra stessu di sperimentà assai cù a piattaforma, pruvà idee diverse è in generale divertisce. Una diferenza impurtante hè chì e soluzioni ponu esse assai più integrate in VK, chì ci dà l'uppurtunità di ottene prototipi interessanti.

L'hackathon si svolge in a Singer House tuttu u ghjornu - ghjustu à a mità di a settimana, a Sede si trasforma in un muvimentu di mezzanotte. Hè divertente fighjulà cumu i pulitori guardanu attornu sorpresa in a matina - un uffiziu di solitu viotu à 6 ore di sera di colpu diventa pienu di persone arruffate chì si movenu cum'è zombie è gridanu: "Manca cinque ore!" O quand'ellu si entre in cucina à trè ore di mane è puzza cum'è dormitori universitarii durante e sessioni : bevande energetiche, pizza è panicu. Questu, sicuru, succede in un ghjornu ordinariu, ma hè raru in una scala cusì grande.

Trè hackathon interni precedenti anu fattu in l'estiu. In 2019, avemu decisu di ùn perde micca u tempu in trifles è ancu di tene un hackathon invernale - dui pirate sò assai megliu cà unu, perchè questu hè una bella opportunità per sperimentà è implementà una idea per quale ùn ci hè micca abbastanza tempu in u ritmu di solitu. E regule sò ancu cambiate: prima una squadra puderia avè un massimu di trè persone, ma questu annu sò quattru, ma unu ùn scrive micca codice, ma hè specializatu in qualcosa d'altru. Hè statu pussibule d'invià i diseggiani, i gestori di i prudutti, i testatori, i cummercializatori è altri ragazzi à a squadra. Un totale di 38 squadre anu participatu à questu hackathon.

Dreamtim (più precisamente, unu di 38)

Avemu ghjuntu à un accordu cù Danei è inseme avemu cunvince Egor и Tyoma unisce à a squadra. Cum'è s'aspittava, i mudelli eranu incaricati di noi, Egor era incaricatu di iOS, Tyoma era incaricatu di a produzzione è u disignu. U sviluppu mobile + cuncepimentu + un pocu machine learning è backend hè a chjave per u successu à l'hackathon 2k19.

Ancu quist'annu, apparsu una divisione in piste, chì ùn esiste micca prima: Media (in quale avemu participatu), Communications, Infrastructure, Content and Entertainment. Avemu avutu cuncurrenti putenti. Per esempiu, eramu constantemente motivati ​​​​da u designer senior di VK Ilya, chì hè ghjuntu in a nostra stanza è hà dimustratu prototipi di l'idea di a so squadra.

Idea

- Aghju pigliatu premii in quasi tutti l'hackathons chì aghju participatu, è aghju aspittatu u stessu da l'hackathon internu stu invernu. (dania era cunfidendu in ellu stessu)

A nostra idea (in particulare l'idea di Danina) era inizialmente questu: vulemu spiegà u tema di a generazione di musica + avè tuttu nantu à u dispusitivu, altrimenti seria "troppu backend". L'hackathon hà cuminciatu cù brainstorming - avemu pensatu à ciò chì pudemu avè. A generazione di musica hè interessante, ma vogliu fà dipende di l'utilizatori. Certi buttoni? Forse disegnu nantu à u screnu è generà musica basatu annantu à questu? À u listessu tempu, avemu amparatu da i picciotti di a squadra di Musica cumu aghjunghje i brani chì avemu bisognu. Ma ùn pareva ancu bè. E squadre vicine travagliavanu allegramente nantu à qualcosa nantu à i so laptops è causanu frustrazione.

- E si ricunnosce a chitarra d'aria, cum'è s'è vo site una chitarra, è sicondu questu, ghjucà u sonu di a chitarra? (Tema)

Bingo ! L'idea hè militante, è avemu u putere di organizà tuttu in una grande manera. Per a ricunniscenza di u muvimentu ci hè posenet, è ella hè assai ok (ancu mobile-friendly). Fingemu !

Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript

dicisioni

I travaglii principali sò di creà una griglia nantu à u dispusitivu (deve esse reale) è amparà à ricunnosce i muvimenti. Egor hà cuminciatu à portà, Tyoma hà cuminciatu à pensà à quali muvimenti seranu interessanti per incorpore (solu una chitarra - noiosa), è Danya è aghju cuminciatu à ricunnosce. Ma questu hè bisognu di dati. Chì ghjè a diffarenza trà un PRO è un dilettante? PRO hà un cluster cù una GPU - questu hè una cosa, duie - PRO raccoglierà dati per ellu stessu quandu ne hà bisognu. Danya hà urganizatu un stand induve e dati di coordenate prima di una figura ricunnisciuta hè stata registrata da una camera, è dopu - ballà! Quella notte avemu amparatu à ballà u flossing, skibidi и dudtsa.

Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript
Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript

Cum'è un stand per a registrazione di i movimenti, avemu usatu un laptop di travagliu, chì prima hà registratu a faccia di Dani (ùn avia micca scrittu una sola linea in JS prima) quandu hà vistu un altru errore JS incomprensibile.

Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript

- Ùn aghju micca capitu, aghju un errore di livellu : a stampa hè sparita in Python ! (dania)

Ballu di notte (literalmente)

Avemu filmatu parechje ore di muvimentu cuntinuu davanti à a camera di notte. L'anu arregistratu elli stessi, è anu pigliatu ancu i sviluppatori chì si sò andati in u pianu è i furzati à ballà. Avemu sette cumminazzioni diffirenti - avà avemu avutu à amparà à distingue trà elli.

Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript
Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript

"Venu ogni trè ore per verificà s'ellu era vivi. Pasha gridò: "Avemu un pivot!" - è Danya flexed cù tutte e so forze. Allora tutti ballavanu a pipa. Quandu Daniil hà finitu di forza, Pasha hà apertu a finestra è disse: "Ragazzi, avemu bisognu di rinfrescà". (Madina)

I dati da a figura hè stata preprocessata: i gammi sò stati cacciati fora, a testa hè stata media, è cunvertita in coordenadas polari relative à u torsu. Avemu furmatu u detector di muvimentu cù catboost - utilizendu un estrattu di trè seconde di u flussu di dati da u mudellu. Finu à sta notte ùn aviamu micca travagliatu cù a biblioteca - hè diventatu un cumbattimentu, è pudete mette in iOS.

Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript

Anu insignatu a classificazione multi-classe, cù una classa chì hè u più noiosa pussibule - solu stendu davanti à a camera. A cosa più difficiuli era di registrà u muvimentu di u "rock" - scuzzulemu a nostra testa cusì altruista chì dopu à pocu tempu hà cuminciatu à spin. E pusonu una manu cù una "capra", ancu s'ellu era inutile - Posenet hà solu un puntu in tutta a manu, ùn vede micca i dite.

Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript

- Versu 3 di a matina, Pasha hà cullatu in un saccu di dorme è si movia solu in questu per una ora, saltendu cum'è un veru canguru. (Madina)

Intornu à 8 ore di matina ci hè statu culpitu da una piccula crisa - tuttu era rottu è nunda ùn funzionava, ma poi tuttu di colpu hà cuminciatu à travaglià per sè stessu. L'avvitamentu di i dui mudelli in l'applicazione hè stata a più grande sfida - Egor hà finitu l'assemblea literalmente cinque minuti prima di a scadenza. Damu a parolla :

- Dopu avemu trovu l'idea, tuttu andò assai bè è pruduttivu. I picciotti anu furmatu a griglia è ballatu, è aghju attaccatu PoseNet à a camera di storia in JavaScript direttamente in u navigatore. I testi iniziali anu travagliatu bè è sò stati sorprendentemente veloci. Per quessa, quandu in a matina si scopre chì WebGL in WebView inesperu s'hè lampatu quandu travagliava cù texturizati per qualchi sciocchezza è ùn ci era micca manera di truvà una suluzione, quasi cascatu in a disperazione. Ma era troppu tardi per rinunzià : eramu brusgiate cù l'idea. Per quessa, cù l'ultimi di a nostra forza è cù l'ultimu cantu di toru rossu, avemu trascinatu un mudellu alternativu basatu nantu à CoreML in u cliente iOS in viaghju è cuminciaru à seguità pose nativamente - per poi mandà à u mudellu cù balli. è ottene qualchì risultatu à l'output. In essenza, avemu ripetutu u travagliu di novu! Un altru sfida era u sicondu mudellu, chì di colpu hà cuminciatu à aspittà più di mille argumenti cum'è input! Xcode hà generatu una interfaccia per questu chì ùn saria micca realisticu di utilizà direttamente. Fortunatamente, a mo cunniscenza di Objective-C ùn m'hà micca lasciatu, è una suluzione elegante hè stata trovata. (Egor)

Pitching

U venneri, à 14 ore di sera, ci era un termini per cullà un video nantu à u prugettu - parechji squadre ùn anu micca fattu in tempu è sò stati squalificati. È à 14:40 avemu avutu un pitch à i curatori di a pista ligati à u pruduttu. Avemu avutu ragazzi di a squadra di Video è Musica, è parevanu piace tuttu ciò chì tocca à u pitch. Avemu pigliatu u sicondu postu in a nostra pista (avemu vulsutu prima, perchè avemu un prughjettu cusì bellu!) è finisci in finale (duie squadre di a nostra pista qualificata).

- Quist'annu era u curatore di un hackathon internu per a prima volta. Diciaraghju cun moderazione: era assai difficiule di valutà u travagliu. U livellu di tutte e squadre senza eccezzioni era fora di crede. Una funzione ùn deve esse solu tecnologicamente avanzata, micca solu "vicinu à a produzzione", micca solu "potenzialmente utile per i nostri prudutti". U prughjettu vincitore deve risponde à tutti sti criterii simultaneamente. Sembra chì i picciotti anu successu. (Андрей)

Avemu avutu u nostru pitching finali à 17:40 p.m. À questu tempu, era necessariu di preparà una altra demo, sta volta per tutta a squadra, è u ghjuridiu era diversu - u direttore tecnicu, u direttore di u produttu è u direttore di marketing.

À cinque à sera era tuttu finitu - andemu in casa à lettu, senza sapè nunda di i risultati.

I risultati sò infine

I risultati sò stati annunziati solu u luni. Prima, anu premiatu i vincitori di e piste (micca u nostru casu - lasciami ricurdà, eramu secondu), dopu i capi di u votu di l'audienza (micca noi), è dopu u terzu (è questu hè ancu micca noi), u secondu (di novu, micca noi) è, infine, noi.

Eccu i prughjetti chì avemu avutu per cumpete:

2u postu - assistente vocale reattivu;
3rd postu - timeline di errori internu;
U Premiu di a Scelta di u Populu hè un ricordu di e riunioni di chat imminenti.

- Questu hè u megliu hackathon chì aghju mai participatu. Ci era assai più drive chè ancu à Junction. (dania)

- Mi piaceva assai di travaglià cù i culleghi di un dipartimentu completamente diversu - ùn avia mai toccu l'apprendimentu di macchina prima, mi paria una sorta di magia, ma avà ùn hè micca cusì. (Egor)

- Era assai bellu di diventà parti di una squadra cusì cool cun un prughjettu cusì bellu. In un ghjornu sò riesciutu à esse designer, videographer, sound engineer, editor, musicista è copywriter ! Eru ancu u solu chì hà sappiutu di dorme. (Tema)

A vita dopu à l'hackathon

A maiò parte di i prughjetti sviluppati à l'hackathons ùn facenu micca vende per diversi motivi: un cambiamentu di focus, cumplessità di implementazione, qualcosa imprevisu in l'implementazione. Un hackathon internu ùn hè micca eccezzioni.

Tuttavia, listemu i prughjetti chì anu vistu a luce di u ghjornu:

Cumu avemu vintu un hackathon internu imparendu skibidi, flossing è javascript

Source: www.habr.com

Add a comment