Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hej alla! Jag är Misha Klyuev, DevRel i Avito. I den här artikeln kommer vi att berätta om vår erfarenhet av att organisera och genomföra ett ovanligt hackathon. Inuti: en berättelse om 56 timmars kodning på ett tåg, vad som måste göras för att få det att hända, vilka projekt som slutade hända och en liten bit av oktoberhavet.

Akta dig för trafiken.

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Idé

Idén att göra ett hackathon på ett tåg kom till mig ganska spontant för mer än ett år sedan. Först tog mitt team och jag det inte på så stort allvar. Vid den tiden hade vi redan hållit flera interna hackathons (som skrevs om i artiklarna: 1, 2). Jag ska genast säga att för oss är hackathon-processen viktigare än resultatet: resultatet förväntas inte vara nya affärsfunktioner som kommer att börja produceras. Huvudsaken för oss är att alla deltagare trivs med sitt deltagande (ett visst antal projekt går dock faktiskt i produktion senare). Kodning för själen är huvudsloganen för alla våra hackathons, och varje deltagare löser detta problem på sitt eget sätt. Jag blev inspirerad av exemplet med fan-hackathons wth.by, varav ett jag hade turen att delta i 2015.

Vi har länge velat ta bort hackathonet från kontoret så att atmosfären skulle ge ännu mer driv och nöje. Men bara en förändring av landskapet för femtio utvecklare som kommer att spendera större delen av sin tid på bärbara datorer verkade inte tillräckligt för oss. Det var då vi insåg att vi kan lägga till rörelse till hackathonet om vi kombinerar det med resor, och tåget är den mest självklara transportformen för detta. En snabb sökning avslöjade att det finns tåghackaton runt om i världen. redan genomförs, inklusive i det postsovjetiska rymden, men vi hittade inga inhemska analoger. Idén verkade oseriös och mycket svår att genomföra: vart man skulle gå så att det fanns pålitlig kommunikation längs vägen, hur man köper biljetter i förväg i en vagn tills passuppgifterna för deltagarna samlades in, hur man genomför presentationer av projekt på träna... Men i somras bestämde vi oss för att försöka, och allt löste sig.

Du kan hyra vagnar av olika klasser från Ryska järnvägarna och koppla dem till tåg i önskad riktning. Bristen på stabilt internet är inte en bugg, utan en funktion, en ytterligare utmaning som påverkade valet av teknik och krävde mer grundliga förberedelser, bestämde vi. Destinationsstaden valdes helt enkelt utifrån tågets restid, en dag enkel resa. Det första alternativet var Jekaterinburg, men då bestämde de sig för att det var bättre att komma ut från höstens Moskva någonstans söderut.

Vid något tillfälle var vi tvungna att flytta datumen för hackathonet och för att kunna gå skulle jag i sista stund vägra att tala vid två konferenser. Jag själv gillar verkligen att resa med tåg, ett hackathon på ett tåg blev en dröm för mig, så det var oerhört tråkigt att missa det. Men nu kan jag bara ge ordet till mina kollegor som framgångsrikt organiserade och genomförde detta redan legendariska (åtminstone i Avito) hackathon och biter sig i armbågar, tittar på bilderna och läser recensionerna från deltagarna. Och självklart, tänk på vad du ska överraska nästa gång!

Utbildning

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det Valya Mikhno, eventansvarig
Идея хакатона в поезде мне сразу понравилась. Круто вытащить коллег из офиса и вместе с ними отправиться в путешествие, да ещё и поработать по дороге. К тому же, мне всегда интересно браться за нестандартные задачи и проекты, которые до тебя никто не делал.
Även om det är en intressant uppgift att organisera ett hackathon på ett tåg, är det extremt svårt: det är svårt att arbeta med järnvägsmonopolet, att få garanterad registreringsbekräftelse från programmerare, det är inte klart hur man organiserar Internet i "blinda" och skapa en meny för två dagar i en reserverad plats för femtio obekanta kollegor.

Men det svåraste kanske var att välja riktning på vår resa. Först planerade vi en resa till Jekaterinburg längs den berömda transsibiriska järnvägen. Men i oktober är det ganska kallt i Jekaterinburg, och alternativen för hur man spenderar tid nyttigt för femtio trötta programmerare efter en dag på tåget verkade ganska banala för mig - allt detta kunde ha ordnats i Moskva. Då kom idén att åka söderut, till havet. Och då fokuserade min uppmärksamhet på den lilla semesterorten Anapa. Allt fungerade perfekt: avgång på fredag ​​morgon, restid lite mindre än en dag, sju timmar till sjöss (perfekt för att stänga strandsäsongen) och ankomst till Moskva på söndag kväll. I allmänhet bingo - vi ska till Anapa.

Tillsammans med chefen för Russian Railways valde vi de tur- och returtåg vi behövde, bokade en reserverad sittbil (den är mer stämningsfull och hjälper bättre att förena team), diskuterade alla detaljer om resan och lanserade ett avtal för godkännande med våra advokater . Allt gick smidigt och lugnt, men en månad innan resan behövde jag information om vagnens skick (antal och effekt på uttag, tillgången på sängkläder och mugghållare och andra småsaker). Och så började det...

Jag gick på ett möte med den ryska järnvägschefen vid depån för att fota vår vagn. Det visade sig att vår nya bekväma reserverade plats från bilderna på hemsidan förvandlades till en 2018 vagn av det gamla formatet. Dessutom tillät inte ens ryska järnvägslogistiker att det kopplas till det ursprungligen planerade Moskva-Anapa-tåget. Villkoret var ultimatum. Jag var tvungen att gå med på alla villkor och ta ett annat tåg. Vi kunde inte vägra helt: registreringen till hackathon var i full gång. Det nya tåget tar längre tid att nå Anapa, så vår tid på tåget ökade med sex timmar och vår tid till sjöss minskades till fyra. Vi var lite upprörda, men misströstade inte - vi ville själva göra hardcore. Och så blev det.

Och hur vi åkte till depån med ryska järnvägsanställda i en tjänstebil med alla förnödenheter, och öppnade vår vagn mitt på ljusa dagen, kommer att finnas kvar i mitt minne länge...

Meddelande och ämnen

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det Valya Mikhno, eventansvarig
Hur vi tillkännagav hackathonet och kom på ämnet är värt en separat berättelse. Jag kommer att tala om detta bara kort här. Vi bestämde nästan omedelbart att vi skulle göra ett Mad Max-tema och beskrev det så här: "Föreställ dig att vi rusar till Anapa för en alternativ framtid på ett futuristiskt ånglok. Människor kom med kraftfulla ångdatorer, kraftfull steam lisp, fortran och andra BASIC med pascals, men de glömde att komma med Internet.” Generellt bestämde vi oss för att ge våra kollegor en riktig utmaning - att koda i svåra förhållanden på ett tåg, utan normalt internet, dusch och den vanliga komforten, och dessutom spendera din helg med kollegor som du redan har sett i en hel vecka , axel mot axel. Så-så utsikter. Med ett ord, ett äventyr!

Vi tog fram en logotyp, tog fram designen av all merch och affischer, gjorde en landningssida och öppnade registreringen. Det var nödvändigt att registrera sig omedelbart och säkert, eftersom en personlig biljett utfärdades för alla. Om en deltagare vägrar i sista stund kommer hans plats att gå förlorad. Naturligtvis sa vi detta, men vi var oroliga för att ingen skulle vilja registrera sig: ingen vill avslöja sina kollegor om några viktiga ärenden plötsligt dyker upp i sista stund. Men jag trodde att det fanns äventyrare i vårt företag. I den första registreringsvågen var vagnen bara halvfull. Och under en tid rörde sig inte registreringsräknaren. Då var vi tvungna att använda vårt vett.

Var femte dag lade vi upp ny information om förberedelsestadiet för hackathon, vilket kan locka nya deltagare. Jag rapporterade om köpet av höghastighetsroutrar (det kommer trots allt att finnas internet), pratade om grillprogrammet i Anapa från hotellägaren Akop och postade en optimistisk väderprognos - chanserna att bada i oktober var stora (och väderprognosen svikit mig inte). Jag lockade älskare av tågromantik med foton av doshiraki och berättelser om skapandet av denna perfekta tågrätt. Då publicerades nomineringarna till jubileumshackathon. Bland dem var våra traditionella, till exempel "Hackathon Cup" och "The Most Epic Fail", och de som vi kom fram till för detta ovanliga hackathon: "The Most Ancient Programming Style" och "The Best Frontman." Våra ingenjörer inspirerades av nomineringarna att delta. Tja, till slut fick vi till och med bjuda in erfarna hackathon-arbetare, tidigare Avito-anställda. Sammantaget fungerade allt! Exakt en månad innan resan var vår vagn fullt utrustad, och alla namn fanns med i kontraktet.

Internet

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det Valya Mikhno, eventansvarig
Trots att temat för hackathon var hardcore ville jag verkligen att internet skulle existera. Att få ut det mesta av internet när du är på språng och göra det tillgängligt för alla deltagare längs vägen – det här blev en utmaning för mig. Jag tillbringade flera dagar med att kommunicera med nätverksspecialister i Avito, välja lämpliga routrar för vårt fall, rita en plan för deras placering i vagnen, välja den bästa leverantören på rutten Moskva-Anapa, studera täckningskartor och routermanualer. Intressant upplevelse! Vad kom ut av detta?

Vi köpte fyra 4G-routrar med trådlösa höghastighetsanslutningar, vilket gjorde att vi kunde använda två SIM-kort samtidigt och byta till den leverantör vars signal var starkare. Vi köpte åtta SIM-kort från tre stora ryska telekomoperatörer, sexton Wi-Fi- och GSM-antenner. Vi testade allt och skapade en nätverkskarta med hjälp av vår testpilot och en utvecklare som skrev en applikation där denna karta kunde skapas. Vi tillbringade mycket ansträngning, men det var värt det. Visst fanns det döda zoner i åkrar och skog längs vägen, men det blev bättre än vi förväntat oss. Hastigheten och täckningen räckte till och med för att vår fotograf skulle ladda upp hundratals bilder till molnet och dela dem med hackathondeltagare på vägen.

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det
Seryozha Vertepov, senior QA-ingenjör, Internettestpilot
En vacker morgon läste jag nyheten att Avito planerar att hålla ett hackathon till. Jag hade inte deltagit i hackathon tidigare, men jag hade planerat det länge och efter att ha läst att hackathon också skulle vara på tåget på väg till Anapa insåg jag direkt att denna möjlighet inte fick missas. På hackathons hemsida fanns ett meddelande om att det behövdes en volontär som skulle resa längs rutten "Moskva - Anapa - Moskva" i förväg för att kartlägga nätverkets täckning och allmänt spana ut situationen.
"Hmm, inte illa", tänkte jag och skrev direkt om min önskan att bli pionjär. Jag blev mycket förvånad över att ingen uttryckte en önskan om att åka till Anapa gratis, även under den icke-semestersäsong. Tydligen älskar inte alla orterna i Krasnodarterritoriet lika mycket som jag.

Den 28 september befann jag mig på ett tåg. Jag hade två iPhones, en applikation som spårar täckning och koordinater för att bygga en ytterligare karta (den skrevs av vår ledande iOS-ingenjör Vlad Alekseev), samt ett Wi-Fi-modem med två SIM-kort. Resan var underbar. Det som var särskilt glädjande var att jag under hela tiden praktiskt taget inte hade några reskamrater. Det som var förvånande var att jag inte hade någon form av hunger efter information: det fanns åtminstone någon form av Internet. Det räckte till budbärare och sociala nätverk. Inte alltid, förstås, men oftast. Åtminstone verkade det så för mig, och kartan som vår applikation byggde sa, plus eller minus, ungefär samma sak. Förresten, jag märkte att under den första halvan av resan hade en operatör en stabilare förbindelse, men närmare Krasnodar-territoriet hade den andra en stabilare förbindelse. I allmänhet åkte jag tåget medan en iPhone spårade information från ett SIM-kort och den andra från modemet med SIM-kort från andra operatörer, tillbringade en natt i Anapa och återvände. Hela "resan" tog 4 dagar.

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det


Arbetsförhållanden på tåget

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det Valya Mikhno, eventansvarig
Hardcore är hardcore, men jag ville egentligen inte förstöra magen på femtio ingenjörer eller infektera dem med en infektion. Därför var en viktig punkt i att organisera hackathonet att skapa bekväma förutsättningar för att arbeta i en reserverad plats, så att ingenting skulle distrahera utvecklare från att skapa och skriva kod. Vi har förberett ett välkomstpaket med allt du behöver: en T-shirt, tofflor, ett sovkit (mask och öronproppar), ett tandläkarkit för resor, ett paket aktivt kol, ett desinfektionsmedel, en flaska vatten, en godisbar och ett par snabbflingor. Dessutom tog vi med oss ​​en massa olika livsmedel (som tog upp två hela sidohyllor på vagnen). Maten innehöll många olika tilltugg, men huvudrätten på denna resa var förstås doshirak. 75 paket för 50 personer tog snabbt slut. People's Choice Award gick till en doshirak av nötkött - killarna bytte till och med sina lager mot en doshirak av nötkött. Det var fantastiskt! Det fanns också nyttigare mat: vi åt i matsalsvagnen, maten som vi beställde i förväg och till och med specificerade individuellt i kontraktet. Jag upprepar, vi ville inte förstöra magen på våra kollegor. Lunchen var uppdukad och som väntat: ”första rätt”, ”andra rätt” och sallad. Istället för kompott - juice. Det var roligt att vår vagn var ansluten till ytterligare, och det var den sextonde i ordningen. Och matvagnen var den elfte. Varje hackathondeltagare passerade genom mer än tjugo dörrar på väg till lunch, konduktörerna som ansvarade för deras bilar bad dem stänga dörrarna bakom sig. Totalt, över två måltider på fredag ​​och söndag, öppnade och stängde vi mer än etthundratjugo dörrar. Det var inte förgäves att de satte i desinfektionsmedlet.

Som ett resultat, tack vare kompetenta meddelanden, stängde vi registreringen framgångsrikt, förmedlade all viktig information till deltagarna, alla på tåget var välnärda, ingen blev förgiftad, inte en enda ingenjör gick vilse och vi anlände säkert i sin helhet tvinga tillbaka till Moskva. "Utmaningen klar!" Efter resan skrev killarna sina intryck och bilder från resan under lång tid i vår telegramchatt "Riden på AvitoHack RailRoad". Alla var nöjda, recensionerna var utmärkta, och en kollega sa att det var det ljusaste ögonblicket under hela hans tid på Avito. Jag tycker att det här är succé!

Statistik

Hackathon på ett tåg är ett storskaligt projekt. Här är vad vi hade med oss ​​för att få det att hända.

  • 25 lådor med doshiraki, mjölk, chips och kex, flingor, frukt och grönsaker, drycker, första hjälpen-kit och hackathonprodukter.
  • 144 flaskor vatten.
  • 134 burkar med olika kolsyrade drycker.

Och vi spenderade nästan 42 GB mobilt internet.

Fotoreportage

Det är svårt att skriva om stämningen, så det är bara att titta på bilderna.

Visa foton

.
Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det

Projekt

Vi tog med oss ​​19 projekt. Naturligtvis kan vi inte berätta allt här, men här är några detaljer.

Команда «Поездатые ребята» сделала навигатор для построения маршрута в дополненной реальности. Вдохновлялись проектом офисных карт, который был сделан на одном из предыдущих хакатонов. Сейчас навигатор может привести вас в любое место нашего плацкартного вагона.  

Команда «4 туза» сделала приложение для аренды с механикой взаимного поиска. Как Тиндер, только для аренды. Объявления размещают и владельцы квартир, и арендаторы, а поиск происходит в обоих направлениях. Если оба полайкали, то открываются контакты. 

У каждого есть ненужные вещи, от которых хочется избавиться, но даже их не получается продать на Авито. Коллеги из команды «Канапе» представили приложение Hlamingo, где можно обмениваться хламом.

Проект Super Blur — интеллектуальный блюр бэкграунда на фото автомобиля. В результате работы алгоритма сегментируется машина и её бэкграунд на фото, после этого применяется специальный градиентный блюр, для создания фото в стиле портрет.

Fratbots — игра на собственном игровом движке c ASCII-графикой и восьмибитной музыкой. Олды поймут! И графика, и музыка создавались на хакатоне.

Vi gjorde också ett projekt med gratis cloud computing på Go, cache för övervakning av data i СlickHouse (för att minska belastningen på databasen med frekventa identiska förfrågningar), ett projekt med kontinuerlig profilering av Go-applikationer, en tolk för programmeringsspråket Prolog, accelererad kodgenerering för vårt Avito iOS-projekt, skrev en applikation för att välja kombinationer av typsnitt med öppen källkod i verkligt innehåll, inte Lorem Ipsum och mycket, mycket mer.

Feedback från deltagare

  • Introverta fester är bra! Jag är ganska introvert och var rädd att jag skulle vara malplacerad. Men jag lärde känna alla i vagnen och kom till och med ihåg namnen på många! Det är första gången det händer mig :)
  • Och jag tog en paus från jobbet och simmade i havet och umgicks med kollegor och skrev kod om ett gratis ämne. 12/10 GOTY VID FINGERTIDEN. I allmänhet bara bomb, megacoolt format och implementering.
  • Tanken på ett tåg verkade vid första anblicken konstig, men när jag väl deltog flög tiden på resan förbi och jag ville inte ens åka iväg i slutet av resan. Låtar med en gitarr, resa på en buss till soundtracket från GTA, fotografier...
  • Det var underbart! Träffa fantastiska killar i en informell miljö. Att svara och hjälpa varandra – vad kan vara mer värdefullt här i livet?! Och för allt annat - MasterCard... Många skämt, kul, åtminstone i vårt underbara team, och såklart, hardcore-utveckling på Rust!!! För första gången i mitt liv gick jag till havet och tog äntligen yogabilder på stranden! Och jag skulle spela med en gitarr för alltid i en så varm atmosfär!
  • Först efter att ha tillbringat två dagar på tåget, blivit starkare, rensat ditt sinne och kastat bort allt skal i form av internet och oändlig googling, äckliga hinduiska manualer och stackoverflow, med hjälp av de bortglömda uråldriga metoderna för meditation på koder och läsning av källkoder , en speciell diet och alkohol, du förstår att huvudsaken är - det här är människorna som du arbetar med, att bara de kan stödja dig i svåra tider och dela glädjen över segern eller den syrliga smaken av den billigaste whiskyn köpt av säsong i Anapa!
  • Det mest levande intrycket var när tåget på natten stannade någonstans i vildmarken vid en station. Vagnen nådde inte plattformen. Och vi hoppade ut under stjärnorna i mörkret och hängde nära vagnen. Vi klättrade upp på vallen. Och runt om - mörker, stjärnor och svagt ljus från vagnen... Otroligt enkelt.
  • Mycket positivt surrealistiskt. Ett gäng kodare på kullen framför tåget på natten, havet i oktober, en situation i sig: kom till Anapa för några timmar, simma och gå tillbaka. Utmärkt musik från flöjt-gitarrduetten, sibiriska berättelser från våra reserverade sittplatsgrannar. Lukten av godhet som ingen kunde motstå. Oändliga fält, städer, resorromantik, hopp-hopp över rälsen, tut-tut, tut-tut...

Hackathoners Memo från pik4ez

Om du eller dina vänner plötsligt vill upprepa en sådan upplevelse, skulle det inte skada att dela vår erfarenhet. Vi bad den mest erfarna hackathonern i vårt team, pik4ez, att skapa en guide för dem som bestämmer sig för att koda på tåget. Han har ordet.

Hur vi gjorde ett hackathon på ett tåg och vad det blev av det Dmitry Belov, senior ingenjör, erfaren hackathoner

  • På ett tåg är det svårare att hitta en helt obebodd hörna där det inte finns någon utom ditt lag. Var en god granne. I vårt fall fanns det en ukulele, en gitarr och en flöjt i vagnen. Men killarna spelade väldigt bra och höll inte länge. Musiken irriterade inte, utan gav tvärtom möjlighet att samlas i en musikhörna, sjunga ett par låtar och ta en paus i programmeringen.

  • Alkohol minskar produktiviteten. Du bör inte sätta det på menyn.

  • Frågan om laddningsenheter bör lösas i förväg. I vårt fall fanns det en modern vagn och tillräckligt med uttag. Men för säkerhets skull tog många med sig powerbanks.

  • Du måste titta på tiderna. Du kan inte komma för sent till tåget, du måste vara beredd på transfer och packa de nödvändiga sakerna i förväg. De sparade påminnelserna med schemat och arrangörerna, som av en tur färdas i samma vagn, hjälper till.

  • Vi äter inte snabbmat, förutom det första mellanmålet. Du kan konstruera ganska anständig mat av oförgänglig mat.

  • Men oavsett hur mycket du matar kodaren så älskar han det fortfarande. Snabbnudlar och tre-i-ett-kaffe är bra i små mängder. Snabbgröt är gott på morgonen. Men en komplett lunch är mycket nödvändig. Matvagnen kan hjälpa till.

  • Tofflor behövs.

  • Det är inte särskilt lätt att koda när man ligger på en hylla. Vi försöker att inte fylla upp bordet för att placera ett par bärbara datorer på det.

  • På natten är det tillrådligt att inte göra något oväsen alls. Ett hackathon på hjul är svårare att uthärda utan sömn, så på natten går många och lägger sig för att vila.

  • Det är väldigt användbart att gå ut för att värma upp på stationer.

  • På tåget ökar sannolikheten att få höra ett par nya historier, även från dem som du har jobbat med i många år.

  • Om du ser havet, simma.

Video om hur det gick till

Vi vill förmedla våra känslor från hackathonet så bra som möjligt, så vi spelade också in en video på tåget. Vi frågade killarna deras intryck av resan och kodningen utan internet, vilka program de skriver, var annars kan hackaton hållas och vad programmerare drömmer om. Och Dima Belov talade om sina första hackathons och fördelarna med sådana evenemang.

Det var våra intryck och projekt. Vi hoppas att vi har inspirerat dig att göra något nytt och intressant. Om du är intresserad av detaljer, fråga om dem i kommentarerna. Vi kommer definitivt att svara.

Källa: will.com

Lägg en kommentar