📜 ⬆️ ⬇️

Hackathon @ JetBrains 2014



More than a year has passed since the first hackathon , which gave life to new projects, took place in our company. During this time, the “ ideaphone ” (the very brutal musical instrument consisting of gas pipes and hammers, controlled by the Arduino) visited several exhibitions and continued to inspire our developers with new ideas.

I must say that during the year my hands itched: the staff kept discussing new projects during the lunch break, which could have been stolen, ideas were put on the back burner, forgotten over time, and new ones appeared. At the beginning of summer, the unbearable expectation of the hackathon was replaced by a lull immediately after the announcement of the event. Two weeks before the start there were no more than five projects on the list, what happened? Perhaps a crisis of ideas or a banal lack of time? It turned out that neither the first nor the second: the guys secretly prepared each other for their projects, verified the complexity and time costs, everyone wanted to get a working prototype in 48 hours, and not a conceptual model.
')


As a result, by the beginning of the hackathon, more than 30 projects with a full range of technologies were presented, from net development to hardwired projects, the latter this year there were much more.

How it was





Everyone could participate in the hackathon (not only developers). Project themes were not limited to anything. Two offices of JetBrains - St. Petersburg and Munich - for 2 days turned into bases for project participants, with full security: themed lunches (German for St. Petersburg office and Russian for Munich), survival kits (blanket, pillow, earplugs, sleep mask) and 48-hour infrastructure support projects.



I think it makes no sense to write about how the code was written (forgive the tautology). All habrachiteli and so perfectly represent how this happens. The only thing I would like to draw attention to is symbolism. The organizers decided to highlight the hackathon participants with flags and bracelets among all the employees so that everyone would know: these guys are now working in another dimension.





About applications


Let's now go over the applications and gadgets that have turned out.

TravelPie


One of the teams in 48 hours made an application for travelers who, finding themselves in a new place, want to have a good time and get to know the city in their own style.



The application does not contain standard tours of the city, each time it automatically creates a unique tour depending on the interests of the user. At the entrance you choose the city where you are going to go (now it is only St. Petersburg, the hakaton zhezh), the number of days and the address where you plan to stay. Next, choose from the list what you are interested in and in what proportions (you make your own travel pie of interests). At the exit, you get a route for each day, taking into account where to eat, where to go, what to do and all this - based on your preferences.



What technologies is it built on?
To raise the backend, it was decided to use familiar technologies and spend the least effort: Java, Servlet 3, H2 Database. For the frontend, Backbone.js and RequireJS were used for modularity and dependency management. Everything, naturally, was written in IntelliJ IDEA, git was used to store the code.

The guys have plans for improvement: an improved algorithm for constructing a route, the ability to edit the constructed route, not only walking routes, but also routes using public transport, saving the route, and integrating with external sources to get photos and information about places of interest. We will wait for updates and plan trips via travel pie.

JetSocialism


We have YouTrack application tracker, version control system, TeamCity continuous integration server and blogs. Let's add to all this a bit of fun and badges. Each action in the above systems generates corresponding events: someone fixes a bug or makes a feature and gets points for each event.



Since each person is somehow unique, the application may try to highlight the user's strengths - for example, someone posts more than other meta-issues, or commits him more often than others build a build, and someone simply writes large texts or quickly fixes minor tasks ...



Thus, according to a rather complicated formula, it turns out that a person works very quickly, and then he unlocks the Spidi Gonzalez badge. And the other closes the ancient ishya, he is the “Mummy Slayer”, and so on ... Formulas are both simple and complex. At the output we get fan - and the data already exist for a long time and will exist.

Jetworld


We have many users around the world, it is very nice when some cities have strong communities that share knowledge inside themselves, but we would like to take another step towards our users and try to show all the events related to JetBrains on the world map. JetWorld is a tool whose mission is to help users of JetBrains products around the world create closer local communities.

Technologically, this is a web application that uses the Google Maps API to present data. MongoDB is used as data storage, the backend is written in Kotlin, and the frontend is written in pure JavaScript. Heroku is used as a hosting platform.



On the map, the user can see scheduled events, one way or another related to JetBrains (conferences, employee reports at user group meetings, etc.), as well as companies using JetBrains products located nearby. Convenient access to such information, according to team members, can be extremely useful for the formation of active local communities of our users.

There is also the possibility of adding organizations to the map, which may allow third-party companies to talk about their experience in using JetBrains products. JetWorld developers want to enable individual users who are experts in our products to talk about themselves. Access to the expert database will be very useful for users and companies in training, sharing their experience in using JetBrains products.

In general, there were a lot of cool projects, for example, the guys from the MPS team made an automated polivalka plant.



The Munich colleagues gathered a robotic booth with multi-colored balls, which in real-time displays the purchases of our products made by users, each product has its own color.

About the winners


And of course you need to say about the winners.

Robot - painter


Third place was won by Ekaterina Tuzova with her robot artist, who for 6 and a few hours could draw any A3 picture in one line. The robot is built on stepper motors, controlled by the Arduino. Software for image analysis and path building was written on python.



Despite the time limit of 48 hours, the robot began to draw pictures in the first day. Although at first not everything went smoothly, and it was necessary to adjust the software correctly and fix the ballpoint pen. But by the end of the hackathon, the robot confidently drew pictures of any complexity.



Wachter


Our office has its own parking area, and in order to get inside, you need to open the barrier . When we first moved to Vasilyevsky Island, employees were given key rings for remote opening of the barrier. But it so happens that sometimes you go to work with another backpack, or the key fob remains at work, you have to call the reception desk and ask someone to open the barrier.



First, the idea was born to make a web button that, when pressed, sends a signal to the server and activates the barrier. But the guys from the project with the comic name “Wachter” went further. They got access to surveillance cameras and, using the OpenCV library, began to “disassemble” the license plates. We have our own social network JetPeople, in which each employee on the page indicated the state number of the vehicle. Already on the first day, Wachter learned to distinguish numbers (though not all) and check them for compliance with employees' records.



The bottleneck was that not all signals from the transmitter reach the barrier. Apparently, the developers of the barrier decided that if it does not rise after pressing a button, the user will repeat this process until a successful outcome. But still, the project received a large number of votes and took 2nd place.

HandCartoon


First place went to the project on the animation of flat pictures on the tablet. We decided to make a short video interview about this project:



Here are our winners:



And now we will wait for the next year.

Keep hacking!

Source: https://habr.com/ru/post/230007/


All Articles