
Waking up one morning ... (no). Waking up one evening ... (no!). In short, having woken up once at work on a sunny morning (it sounds provocatively now), and wiped my eyes from the production routine, I thought that our team was great, of course, but technologically a bit too narrow ... “And we should walk on something else!” - I flashed the
original thought. And so we made our own hackathon, which was sharpened not by subject, but by technology. It turned out, just say ... not bad.
')
After a brief analysis of our routine, the conditions were as follows:
- 3 full days on the road with overnight stays (do not get distracted!);
- Be sure to complete;
- The format is standard (from natural ideas, through their natural selection, and forward to implementation);
- Project ideas are limited to web services (desktops are absolutely not wanted), and “programming for people” is in itself a whole good thing.
Technological conditions:
- code on anything, but not on our “routine” stack (php / java / python / mongodb / * sql / cell phones / chip soldering / microcontroller programming);
- which meant: [node.js] [go] [erlang] [redis] and any bases [except sql] and already [mongodb];
- We don’t have a frontend at all, so we invited friends / acquaintances, but for some reason they didn’t join (the weekend was regretted - and in vain!) - so they weren’t oriented at all to frontend technologies;
- Stack preparation at least at the 'hello world' level for all participants;
Alcohol motivating drinks at their own expense.
First, you had to choose an idea for implementation. In spite of the forthcoming explanations and other clever agitating bla-bla, the expressions of coders for 97.43% were identical with “WTF, what am I doing here?”.

But after a few minutes, the first fan shouts did their job — a stream of friendly trolling of various thicknesses activated the creative brain lobes and sketched ideas onto several flipchart sheets. They look not very interesting, the whole tsimus was in a lively discussion:

The ideas were different, devoid of any business sense (not for business, we all started it).
But all of them are from the area of ​​applying good and improving (with further conquest) the Internet ecumene:
- Ticket sales optimization;
- several options for brilliant replacements for terrible feedback forms on sites;
- social networks on sound messages;
- several online many-man-games (mafia / poker / etc with significantly improved online rules with video correspondence and facial recognition systems);
- ant battles (http://habrahabr.ru/post/135287/) with the transfer of action to the online maps of Moscow (the exclusive idea of ​​evil and destruction);
- creating a non-engaging and competent news aggregator with the correct analysis of popularity / prevalence;
- space operative courier service, by analogy with Yandex. taxis and mechanisms for protection against criminal intentions
It's time to choose. In the second places - of course “erZHeDe” (the thickest trolling was exactly here). At first - the evil ant battles and good reminder service. To develop, we first chose good, and evil (if we have time) was postponed until later :-)
The idea is very simple, but the participants are interesting - a service with an open API, through which you can leave a reminder request to yourself, or a follower, or a group of friends or a corporate-administrative group, which can be made periodic or assigned for a while, as well as protection mechanisms from using the service as spam, etc. a bunch of related features
Started architectural
holivaru design. Of course, everyone knew for sure “how to do it,” and the most experienced people modestly kept silent, “absorbing popcorn with coke” and enjoying the action:

Schemes and implementations multiplied at a speed of 27 flipcharts per hour:

Directing the process: visualizing the provider delivery scale for reminders:

The R & D team has already invented a brand, registered a domain and started calculating profits :-)

Everything was ready for dinner, namely:
- The subject area and architectural layers are recorded;
- The team “ERLANG” - makes the front part and scattering of applications-reminders on the subject area (people / groups / followers) of the conceived service;
- The “GO” command - implements multi-stream reading of data from the subject area and arch-load spreading of reminders by delivery providers;
- Redis was taken as a base;
- The SISADMIN team prepares software on the combat servers and idles while waiting for the deployment tasks;
- The “R & D” team left to look for large suitcases for money :-)
- There was no sense in the choice of technologies for the tasks - the hackathon participants did not do anything in these languages ​​before and did not work with Redis. But it was in this development that the hackathon was conceived :-)
After lunch - useful for the productive work of gray cells - exercise.
The sign “for children under 14 years old” did not embarrass anyone, especially since not a single person was observed in the district in the given range :-)



The teams are formed, the tasks are clear - for the work!

Team “GO”. The one who prepared a little more than 'hello world' is naturally popular and majestic :-)

The team “ERLANG” fun. They are not aware of the severity of the consequences of their choice :-)

From time to time they tried to remember everything that had been foiled into the idea at the start and because of the difference in understandings, I had to collect everything “into a concrete handful for the realization”:

In the background, the general skype chat draws you to the dark side of the force:

Evening program.
Football this season is better to play than watch:

Reactive Testing:

The second and third day. Only coding, only hardcore: for what we change the room and settle in with comfort:

The backs of the “ERLANG” team are smart and focused:

Probably the front API code:

A shy story of commits “from newcomers to the genre”:

The “GO” team is looking for a connection in Redis:

... and having found, he composes romantic Japanese verses, in which each line begins with the magic “go”, is given the meaning only to the author, devoting them to beautiful and accessible Gorutinas :-)

Along the way - a couple of know-how.
For example, “nosql-paper-database”, version “flomaster”.
- recording speed - 4 flomika per hour
- reading speed - light
- the speed of understanding is zero :-)

And now everyone is afraid ... IT compiles:

IT does something:

In this case, asynchronously and in parallel!

And fast enough ...

Results:
- They invented and made a service (even slightly working), in the YP, previously unknown to us.
- Sorry for those we called, but you did not come :-)
- How can we repeat.