📜 ⬆️ ⬇️

Hackathon, time for 28 hours

In the life of each programmer happens hakaton. It sounds like a sore hooked up, but nevertheless - everything passes through it. Someone at will, someone of necessity, you never know what paths led a person to such an event.

I will not tell you what this format is, since you have moved here, then at least imagine what it is about. But on the other hand, I want to touch on the topic of the one, and who actually needs it? I'll start with a long prelude.

I work as an engineer at the Institute of Oceanology, I program in G user software for interacting with ADCs and other devices for reading and analyzing data. In the bright student years, Kodil has the same client applications on C # .net, and also wrote Python scripts for administering local networks. In general, nothing supernatural or what could be used to be proud of. But you always want to achieve something more, right?
')
Walking around the expanses of the Telegram (an instant messenger banned on the territory of the Russian Federation) that was still not officially blocked, I came across an online hackathon qualifying for a young company that is currently working on its own blockchain. Ideal conditions: you are at home at the weekend (the online stage was held at the weekend so as not to distract people from work). But what to do alone on a similar format? Therefore, I turned to my colleagues in the workshop, offered to spend the day with benefit. One Objective Pascal programmer, who for ten years has been solving applied tasks for the laboratory, making everything into a user-friendly interface; one mathematician who simplifies the life of all extras with his macros for Exel, and also creates logic for solving various analytical problems.

As a result, as in a joke, a programmer, an engineer and an analyst have applied for participation in the hackathon.

All the tasks set by the organizers came down to working with the client-server part, developing p2p solutions based on the Bitshares blockchain ... In general, all the things we three did not know a priori. But what they wanted to learn!

So, there was little time, but enough for a small project, 36 hours for everything.

We have brains, straight arms and an interest in solving any of the presented tasks. The easiest one was chosen for a newbie, which did not require the deployment of its own blockchain or interaction with the already ready one (we could, of course, accomplish something, but not within such tight deadlines). In 36 hours, the parser (1) imdb was implemented using the Russian / English title of the film. No classes, no functions, no libraries. Working with Python3 is linear and merciless. It is painful to look at the code, but if you are willing, you can familiarize yourself with it at the end of a longrid.

Why did we do all this? Because we want to learn. For 36 hours, my colleagues looked at python for the first time, worked with it, and let the code be raw, but it works and solves the problem. Even this was enough to get interested in a new programming language, to start learning something different from the usual work tasks.

But we were lucky, and after two weeks we flew to Moscow (we ourselves are from Vladivostok, hello) at the offline stage of the hackathon, where not one hundred programmers had to compete (as at the online stage), but 16 people selected by the organizers. Why us? But the clown knows them, but we are definitely grateful for this experience. The only one who participated in something like this was me, taking part in a regional CTF for several years in a row, but this is definitely not comparable.


We all love the stickers, so the participants of the offline stage were not cheated

Again, our level was far from perfect, and not close to the participants. Therefore, when the options for the tasks were put forward, we chose the one that could actually be completed in the allotted time by our forces, even if we were sitting until the very last minute. 28 hours, all-nothing lines of code, but everything is as it should be: a full-fledged client application, based on clean code, as well as great prospects for further upgrades. For the allotted time, we were able to implement a full-fledged MVP (2): a multicurrency cold crypto-purse. No dependencies on the network, everything works 100% locally, which gives a sufficient level of security to every paranoid that, when he creates a wallet, his pair of keys will be stolen. And even a random generator embedded in the code based on the clock built into the system does not spoil the moment, because how does the attacker know when you created the wallet, if you did it on a non-networked machine?


The whole movement took place in a cozy loft, where everyone found a place

The task is a task, but most importantly, we met and communicated with specialists, coders of a level we still strive for, but we will not stop. I hope we did not lose face, but were able to compete with them, even if minimal.

Why all the above text? Hackatons are important. They are needed for people like me and my colleagues, beginners, who, if they know programming, then on simple tasks from textbooks. The reality is more complex and non-trivial questions that need to be able to solve if you want to call yourself a specialist. High-level specialists need them, because every time a hackathon is a challenge, a chance to show what you are capable of in conditions of limited time with the tools you see for the first time.

What do you think? Below is a small interactive to understand the opinion of the majority of those present.

Thank you for taking the time of my story, and may the coding come with you.

PS Yes, I never wrote who conducted the hackathon. I'm not sure that according to the habr rules this is possible, but those who are interested can learn about the organizers from the links to git.

UPD. Article of one of the winners on Habré.

1. Parser source code from online stage
2. Source code of a multi-currency cold wallet

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


All Articles