How we made a hackathon on the train and what came of it

Hi all! I'm Misha Klyuev, DevRel at Avito. In this article, we will tell you about our experience in organizing and conducting an unusual hackathon. Inside: a story about 56 hours of coding on the train, about what needs to be done to make them happen, about what projects turned out in the end, and a little October sea.

Beware of traffic.

How we made a hackathon on the train and what came of it

Idea

The idea to do a hackathon on a train came to me quite spontaneously more than a year ago. At first, my team and I didn't take it too seriously. By that time, we had already held several internal hackathons (which we wrote about in articles: 1, 2). I must say right away that for us the hackathon process is more important than the result: no new business features are expected at the output, which will go into production. For us, the main thing is that all participants enjoy participation (nevertheless, a certain number of projects do go into production later). Coding for the soul is the main slogan of all our hackathons, and each participant solves this problem in his own way. I was inspired by the fun hackathons wth.by, one of which I was lucky enough to visit in 2015.

We have long wanted to take the hackathon out of the office so that the atmosphere adds even more drive and fun. But just a change of scenery for fifty developers who will spend most of their time on laptops, it seemed to us not enough. Then we realized that you can add movement to the hackathon if you combine it with travel, and the train is the most obvious mode of transport for this. A quick search revealed that train hackathons in the world already underway, including in the post-Soviet space, but we have not found domestic analogues. The idea seemed frivolous and very difficult to implement: where to go so that there is a reliable connection along the way, how to buy tickets in advance in one carriage until the participants’ passport data is collected, how to hold presentations of projects on the train ... But this summer we decided to try, and everything worked out.

You can rent wagons of different classes from Russian Railways and attach them to trains in the right directions. The lack of a stable Internet is not a bug, but a feature, an additional challenge that influenced the choice of technologies and required more thorough preparation, we decided. The city of arrival was chosen simply by the time of the train, one day in one direction. The first option was Yekaterinburg, but then they decided that it was better to get out of autumn Moscow somewhere to the south.

At some point, we had to move the dates of the hackathon, and in order to go, I would have had to refuse to speak at two conferences at the last moment. I myself love to travel by train, the hackathon on the train has become a dream for me, so it was extremely disappointing to miss it. But now I just have to pass the floor to my colleagues who successfully organized and conducted this already legendary (at least in Avito) hackathon and bite their elbows, looking at the pictures and reading the feedback from the participants. And of course think about what to surprise next time!

Prepare

How we made a hackathon on the train and what came of it Valya Mikhno, event manager
I immediately liked the idea of ​​a hackathon on the train. It's cool to get colleagues out of the office and go on a trip with them, and even work on the road. In addition, I am always interested in taking on non-standard tasks and projects that no one has done before you.
Although organizing a hackathon on a train is an interesting task, it is extremely difficult: it is difficult to work with the railway monopoly, to get guaranteed confirmation of registration from programmers, it is not clear how to organize the Internet in “blind” zones and make a menu for two days in a reserved seat for fifty unfamiliar colleagues.

But perhaps the most difficult thing was to choose the direction of our journey. At first, we planned a trip to Yekaterinburg along the famous Trans-Siberian Railway. But in October it’s quite cold in Yekaterinburg, and the options for how to spend time with fifty tired programmers after a day on the train with benefit seemed to me rather banal - all this could have been arranged in Moscow. Then the idea came up to go south, to the sea. And then my attention stopped at the small resort town of Anapa. Everything went perfectly: departure on Friday morning, travel time a little less than a day, seven hours at sea (ideal to close the beach season), and arrival in Moscow on Sunday evening. In general, bingo - we're going to Anapa.

With the manager of Russian Railways, we chose the trains we needed back and forth, booked a reserved seat car (it is more atmospheric and helps to rally teams better), discussed all the details of the trip and launched an agreement for approval with our lawyers. Everything went like clockwork and calmly, but a month before the trip I needed information on the conditions of the car (the number and power of sockets, the availability of bed linen and cup holders, and other little things). And then it began...

I went to a meeting with the manager of Russian Railways at the depot to take pictures of our car. It turned out that our new comfortable reserved seat from the photos on the website has turned into a 2018 carriage of the old format. In addition, even its logisticians from Russian Railways were not allowed to attach it to the originally planned Moscow-Anapa train. The condition was absolute. I had to agree to all the conditions and go by another train. We couldn’t refuse at all: registration for the hackathon was in full swing. The new train travels longer to Anapa, so our time on the train has increased by six hours, and the time at sea has been reduced to four. We were a little upset, but we did not despair - after all, we ourselves wanted to arrange hardcore. And so it happened.

And how we went to the depot with Russian Railways employees in a company car with all the supplies, opened our car in broad daylight, will remain in my memory for a long time ...

Announcement and theme

How we made a hackathon on the train and what came of it Valya Mikhno, event manager
How we announced the hackathon and came up with a topic worthy of a separate story. I'll just talk about it briefly here. We almost immediately decided that we would do a Mad Max theme and described it like this: “Imagine that we are rushing to Anapa of an alternative future on a futuristic steam locomotive. People came up with powerful steam computers, powerful steam lisp, fortran and other Pascal basics, but they forgot to invent the Internet. In general, we decided to arrange a real challenge for our colleagues - to code in hardcore conditions on the train, without normal Internet, shower and familiar comfort, and besides, spend your weekend with colleagues, whom you see for a whole week, shoulder to shoulder. So-so perspective. In a word, adventure!

We developed a logo, came up with the design of all merchandise and posters, made a landing page and opened registration. It was necessary to register immediately and for sure, because a personalized ticket was issued for each. If a participant refuses at the last moment, his place will be lost. Of course, we said this, but we were worried that no one would want to register: no one wants to set up colleagues if some important things suddenly appear at the last moment. But I believed that adventurers in our company exist. In the first wave of registration, the car was only half full. And for a while, the counter of registrations did not move. Then we had to use ingenuity.

Every five days we posted new information on the preparation stage of the hackathon, which could attract new participants. I reported on the purchase of high-speed routers (the Internet, after all, will be), talked about the program in Anapa with barbecue from the owner of the Akop hotel, and posted an optimistic weather forecast - the chances of swimming in October were high (and the weather forecast did not let me down). I attracted train romance lovers with photos of doshiraks and stories of creating this perfect dish for the train. Then the nominations for the anniversary hackathon were published. Among them were our traditional ones, for example, “Hackathon Cup” and “The Most Epic Fail”, and those that we came up with for this unusual hackathon: “The Most Ancient Programming Style” and “The Best Front End”. Our engineers were inspired by the nominations. Well, in the end, we even allowed to invite seasoned hackathons, former employees of Avito. All in all it worked! Exactly one month before the trip, our car was fully equipped, and all the names were included in the contract.

Internet

How we made a hackathon on the train and what came of it Valya Mikhno, event manager
Despite the fact that the theme of the hackathon was hardcore, I really wanted the Internet to exist after all. Getting the most out of the internet on the go and making it available to everyone along the way has been a challenge for me. I talked with networkers in Avito for several days, chose suitable routers for our case, drew a plan for their placement in the car, selected the best provider on the Moscow-Anapa route, studied coverage maps and router manuals. Interesting experience! What came out of it?

We purchased four 4G routers with a high-speed wireless connection, which allowed us to use two SIM cards at the same time and switch to the provider whose signal was stronger. We purchased eight SIM cards from three major Russian telecom operators, sixteen Wi-Fi and GSM antennas. Everything was tested and a map of the network was created with the help of our test pilot and a developer who wrote an application where this map could be created. It took a lot of energy, but it was worth it. Of course, there were dead zones in the fields and forests on the way, but it turned out better than we expected. The speed and coverage were even enough for our photographer to upload hundreds of photos to the cloud and share them with hackers on the way.

How we made a hackathon on the train and what came of it
Serezha Vertepov, senior QA engineer, Internet test pilot
One fine morning, I read the news that Avito was planning to hold another hackathon. Before that, I had not participated in hackathons, but I had planned for a long time, and after reading that the hackathon would also be on the train on the way to Anapa, I immediately realized that this opportunity should not be missed. There was a message on the hackathon website that a volunteer was needed who would travel along the Moscow-Anapa-Moscow route in advance in order to map the network coverage and, in general, to reconnoiter the situation.
“Hmm, not bad,” I thought, and immediately wrote about my desire to become a pioneer. I was very surprised that no one expressed a desire to go to Anapa for free, even if not during the holiday season. Apparently, not everyone loves the resorts of the Krasnodar Territory as much as I do.

September 28, I was on the train. I had two iPhones, an application that tracks coverage and coordinates to build a further map (it was written by our lead iOS-engineer Vlad Alekseev), and a Wi-Fi modem with two SIM cards. The trip went great. I was especially pleased that for all the time I had practically no fellow travelers. I was surprised that I didn’t have any kind of informational hunger: there was at least some kind of Internet. There was enough for messengers, social networks. Not always, of course, but most of the time. At least it seemed so to me, and the map that our application built said plus or minus about the same. By the way, I noticed that the first half of the way, one operator had a more stable connection, but closer to the Krasnodar Territory, another. In general, I rode the train while one iPhone tracked information from one SIM card, and the other from a modem with SIM cards from other operators, spent one night in Anapa and returned. The entire trip took 4 days.

How we made a hackathon on the train and what came of it


Conditions for working on the train

How we made a hackathon on the train and what came of it Valya Mikhno, event manager
Hardcore hardcore, but I didn't really want to ruin the stomachs of fifty engineers or infect them with an infection. Therefore, an important point in organizing a hackathon was to create comfortable conditions for working in a reserved seat, so that nothing distracts developers from creating and writing code. We have prepared a welcome pack with everything you need: a t-shirt, slippers, a sleep kit (mask and ear plugs), a travel dental kit, a pack of activated charcoal, a sanitizer, a bottle of water, a candy bar and a couple of instant cereals. In addition, we took with us a lot of different food (which occupied two whole side shelves of the car). From the food there were many different snacks, but the main dish of this trip was, of course, doshirak. 75 packs for 50 people ran out quickly. The Audience Choice Award went to the beef noodles — the guys even exchanged their stash for a beef nugget. It was brilliant! There was also healthier food: we dined in the dining car, food in which we ordered in advance and even prescribed by the piece in the contract. Again, we did not want to spoil the stomachs of colleagues. Lunch was complex and as it should be: “first”, “second” and salad. Instead of compote - juice. It turned out to be funny that our carriage was added additionally, and it was the sixteenth in order. And the restaurant car was the eleventh. Each hackathon participant walked through more than twenty doors on their way to lunch - the conductors in charge of their cars asked to close the doors behind them. In total, over two meals on Friday and Sunday, we opened and closed more than one hundred and twenty doors. Sanitizer put not in vain.

As a result, thanks to competent announcements, we successfully closed the registration, conveyed all the important information to the participants, everyone on the train was well fed, no one got poisoned, not a single engineer got lost, and we safely drove back to Moscow with a full train. "Challenge Completed!". In our telegram chat "Trained on AvitoHack RailRoad" after the trip, the guys wrote their impressions and photos from the trip for a long time. Everyone was satisfied, the reviews were excellent, and one colleague said that it was the brightest moment in all the time he worked at Avito. I think this is success!

Statistics

Hackathon on the train is a large-scale project. Here's what we had with us to implement it.

  • 25 boxes with doshiraks, milk, chips and crackers, cereals, fruits and vegetables, drinks, first aid kit and hackathon merchandise.
  • 144 bottles of water.
  • 134 cans of various carbonated drinks.

And spent almost 42 GB of mobile Internet.

Photos

It's hard to write about the atmosphere, so just look at the photos.

See photos

.
How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

How we made a hackathon on the train and what came of it

Projects

We brought 19 projects with us. Of course, we can’t talk about everything here, but here are some details.

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

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

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

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

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

And we also made a project with free cloud computing on Go, cache for monitoring data in ClickHouse (to reduce the load on the database with frequent identical requests), a project with continuous profiling of Go-applications, an interpreter for the Prolog programming language, accelerated code generation for our Avito iOS project, wrote an application for selecting combinations of open source fonts on real content, not on Lorem Ipsum and much, much more.

Feedback from participants

  • Introvert parties are great! I'm quite withdrawn and was afraid that I would be out of my element. But I met everyone in the car and even remembered the names of many! This is the first time this has happened to me 🙂
  • And I took a break from work, and swam in the sea, and hung out with colleagues, and wrote code on a free topic. 12/10 GOTY AT YOUR FINGERTIPS. In general, just a bomb, mega-cool format and implementation.
  • The idea of ​​the train at first glance seemed strange, but when I took part, the time on the trip flew by unnoticed and I didn’t even want to leave at the end of the trip. Guitar songs, bus rides to the GTA soundtrack, photos…
  • It was wonderful! Meet great guys in an informal setting. To respond and help each other - what could be more valuable in this life?! And for everything else - MasterCard... A lot of jokes, fun, at least in our wonderful team, and of course, hardcore development in Rust!!! For the first time in my life I visited the sea and finally took yoga pictures on the beach! And I would always play the guitar in such a warm atmosphere!
  • Only after spending two days on the train, becoming stronger, clearing your mind and discarding all the husks in the form of the Internet and endless Google, godless Hindu manuals and stackoverflow, using the forgotten ancient practices of meditation on code and reading source codes, a special diet and alcohol, do you understand that the main thing is — these are the people you work with, that only they can support you in difficult times and share the joy of victory or the tart taste of the cheapest whiskey bought in the off season in Anapa!
  • The most vivid impression is when at night the train stopped somewhere in the middle of nowhere at the station. The car did not reach the platform. And we jumped out under the stars in the dark and hung out near the car. They climbed up the embankment. And around - darkness, stars and dim light from the car ... Incredibly simple.
  • Very positive sur. A bunch of coders at night on a hill in front of the train, the sea in October, the situation itself: come to Anapa for a few hours, swim and go back. Excellent music from the duet flute-guitar, Siberian tales from our neighbors in the reserved seat. The smell of doshik, before which no one resisted. Endless fields, towns, romance of travel, hop-hop over the rails, tutukh-tutukh, tutukh-tutukh ...

Hackathon memo from pik4ez

If you or your friends suddenly want to repeat such an experience, it will not be superfluous to share our experience. We asked the most experienced hacker on our team, pik4ez, to write a memo for those who decide to hack on the train. Him the word.

How we made a hackathon on the train and what came of it Dmitry Belov, senior engineer, experienced hacker

  • On a train, it is more difficult to find a completely uninhabited corner in which there will be no one but your team. Be good neighbors. In our case, the car had a ukulele, a guitar, and a flute. But the guys played very well and not for long. The music did not irritate, but, on the contrary, it gave the opportunity to gather in a musical corner, sing a couple of songs and take a break from programming.

  • Alcohol reduces productivity. Don't put it on the menu.

  • The issue of charging devices should be resolved in advance. In our case, there was a modern car and enough sockets. But just in case, many took power banks with them.

  • You have to watch the timings. You can’t be late for the train, you need to be ready for transfers and collect the necessary things in advance. The saved memos with the schedule and the organizers, who, by a lucky chance, are traveling in the same car, help.

  • We don’t take fast food, except for the first snack. From not perishable, you can construct quite a decent meal.

  • But no matter how much you feed the encoder, he still loves doshik. In small quantities, instant noodles and three-in-one coffee are great. In the morning, instant porridge is good. But a full meal is essential. The dining car can help.

  • Slippers are needed.

  • Coding lying on a shelf is not particularly successful. We try not to overwhelm the table in order to place a couple of laptops on it.

  • At night it is desirable not to make noise at all. A hackathon on wheels is more difficult to endure without sleep, so many go to bed at night.

  • It is very useful to go out at the stations to warm up.

  • On the train, you are more likely to hear a couple of new stories, even from those with whom you have been working for many years.

  • If you see the sea, swim.

Video how it was

We want to convey our emotions from the hackathon in the best possible way, so we also filmed a video on the train. We asked the guys about their impressions of the trip and coding without the Internet, what programs they write, where else can hackathons be held, and what programmers dream about. And Dima Belov spoke about his first hackathons and what are the benefits of such events.

These were our impressions and projects. We hope to inspire you to something new and interesting. If you are interested in the details - ask about them in the comments. We will definitely answer.

Source: habr.com

Add a comment