Developers Club geek daily blog

Introduction to high-frequency trading (HFT)

2 years, 11 months ago
What is HFT, or the story about interest in the financial markets, and hobby in the form of writing of robots for algorithmic trading can bring the programmer to what jungle. The report on the Tallinn Devclub.

Read more »


Five signs of that you have to employ this programmer now

2 years, 11 months ago
When you invite the programmer for interview and execution of test task, it can appear useful experience both for you, and for it. The majority of interviews comes to an end with that the HR manager promises "to stay in touch", but sometimes the competitor simply hits the nail. Whether at such moments you deliberate not to employ it still before it manages to leave the building. We have transferred to Alconost Translations for you article of sharovarshchik of Brian Kelly about such successful cases.

In TimeTrade we give to programmers test task with which the majority of them has to cope in 2 hours. All task consists of sequence of small tasks, everyone is more difficult previous. It allows us to evaluate the programmer's productivity, being based only on runtime of task: if everything is solved less, than for hour, we will be happy. But if has passed two hours, and the first task is still not solved, most likely, we will show the candidate the door.

But, in addition to only one fast solution of tasks, there are some more signs of that before you really tremendous programmer who should be offered immediately work before he will manage to leave.

Read more »


Be simpler, and people will stretch to you or how to fall in love with Xi, having saved mind

2 years, 11 months ago
I on life the self-educated person: except for FORTRAN and PL/1 to which I was "taught" in HIGHER EDUCATION INSTITUTION (I hope, clearly, how long it was?), I have gained the main part of the knowledge of programming only by self-education method. Began, as usual, with Pascal and its logical continuation of Delphi. In process of change of priorities mastered the assembler of the 86th family (MS DOS), and then, in process of hobby for microcontrollers has mastered ASM51 and AVR Assembler. All this was given me rather simply since all listed gives in very simple and, the main thing, to accurately structured logical description — I mean syntax and the principles of language.

Also the following step — transition to Xi (I will emphasize — in my case the speech about programming of microcontrollers), and here, as they say, was naturally inevitable process has stopped. Xi's syntax — that still feature, books on this language — the separate song. Even at classics K&R; from the first chapter "the working helloword", thus falls upon weak brain of beginner that the uniform word about syntax, about operators has not been, etc. told! When I have started studying language standard of Xi, I had suicide depressions, because the concept of the standard which has earlier settled down in brain as accurate regulations, it has been destroyed almost completely!

And therefore I for myself have prepared some "rules of reduction for logically consistent definitions" which have allowed me to master more or less quietly the Xi language and even sometimes (!) to teach other beginners.
It seems to me that Xi starting mastering will not prevent to learn at least about one such "rule".

Read more »


Разбор всех задач финального раунда Яндекс.Алгоритма 2015

2 years, 11 months ago
Сегодня завершился финал Яндекс.Алгоритма — ежегодного чемпионата по спортивному программированию, который организует Яндекс. В 2015 году состязание проходило полностью в онлайне — на платформе Яндекс.Контест. Заявки на участие подали программисты из 73 стран. Больше всего участников — из России, Украины, Беларуси, Казахстана, Индии, США, Японии и Китая, но вообще география чемпионата крайне обширна — Бразилия, Индонезия, Перу, Доминиканская Республика, Мозамбик, Сенегал, Каймановы острова. 8,9% зарегистрировавшихся — девушки. Примерно половина всех участников — студенты. Всего мы получили заявки от 3722 человек, из которых до финала дошли 28.

А победителем Яндекс.Алгоритма-2015 стал Геннадий Короткевич. Он по привычке показал лучший результат, решив в финальном раунде пять из шести задач и получив при этом 80 минут штрафного времени. Геннадий занимал первое место в чемпионате Яндекса и в 2013, и в 2014 годах.



Второе место занял Пётр Митричев, а третье — Евгений Капун. Они решили по четыре задачи, при этом Пётр набрал 31 штрафную минуту, а Евгений — 79 минут. Результаты всех финалистов можно посмотреть на сайте Яндекс.Алгоритма.

Задачи для Яндекс.Алгоритма составляет международная команда, в которую входят как сотрудники Яндекса, так и приглашённые эксперты — в том числе победители и финалисты состязаний ACM ICPC и Topcoder Open. И мы по традиции подготовили для вас разборы всех заданий. Решить все из них никому не удалось. Больше всего участников справились с задачей B, а вот задания A и D решило всего по одному человеку.

Read more »


We ignore excess function arguments on C ++

2 years, 11 months ago
Hi, habr.

Somehow time, I wrote code of one project one fine Sunday. The code looked somehow so if to simplify:
const bool exists = WithObject (objectId,
        [] (const Media::IAudioSource*, const QModelIndex&) { return true; },
        [] (const QModelIndex&) { return false; });

WithObject tries to find some object on its ID and executes the first functor if it is found, differently executes the second functor if the object is not found. Thus value which was returned by the executed functor returns (it is meant that the returned type of the second functor is led to type of the first). Thus any different useful information received during search is transferred to functors (for example, object).

The above-stated code, respectively, simply checks existence of object, and arguments, which WithObject transfers to functors, are not necessary. And so, it was thought to me, it would be quite good to write such function DropArgs(), that here such code
const bool exists = WithObject (objectId,
        DropArgs ([] { return true; }),
        DropArgs ([] { return false; }));
was correct. Or that the same that it was possible to write DropArgs ([] { return false; }) (0, 3.14, "foobar");.
And if are necessary only the first N arguments, the others too could be not specified: DropArgs ([] (int n) { return n; }) (0, 3.14, "foobar");.

Read more »


When the program falls only on Wednesdays

2 years, 11 months ago
Lean back on back of chair and have a rest – has come to tell time about one of my most favourite bugs.

It was my very first work in the field of IT – summer practice in the company developing very serious medical equipment, in particular feed systems of anesthesia and monitors for patients of hospitals. The monitor for the patient is such cheeping box near the bed patient which measures pulse, pressure, frequency breath and other, and also notifies nurses in case of troubles. The office was full of two-meter cylinders with dental gas, on it roskoshnoborody gurus experts on the built-in systems walked up and down, and there were whole rooms storages especially for documentation necessary for certification of the different equipment. The people still in a whisper told about one bug passed by testers about tens years ago because of which the feed system of anesthesia was restarted in the middle of operation. Whether it is worth saying, what the green milksop student like me and for kilometer would not be admitted to fighting systems?

Instead have charged me the project prototype with the purpose to test in operation the hottest technology novelties of 1997 – the server for C ++ which would listen to monitors on serial port, merged interesting data in base on the SQL Server and sent them to Java-applet through CORBA that doctors and relatives could monitor health of the patient on the Internet. Beauty! Especially taking into account that I had no practical experience from one of these systems and technologies!

Read more »


Pseudo OOP in C

2 years, 12 months ago


The Xi language is not object-oriented language. That is all that will be described these are crutches and bicycles below.
OOP includes three pillars: encapsulation, inheritance, polymorphism. Below I will show as these things it is possible to achieve in the Village.

Read more »


TIS-100 — паззл про многопоточный ассемблер, который никто не ждал

2 years, 12 months ago
image

Удивительно, но никто не написал ничего про игрушку «TIS-100», которая недавно появилась в Steam (стоит всего 150 рублей, уже 460 положительных отзывов против 6 отрицательных).

Сразу оговорюсь, что к авторам игры я отношения не имею, а вот сама эта игра — отличный инструмент для всех программистов, которые хотят сразиться друг с другом в оптимизации кода на выдуманном хитром ассемблере.

Итак, о чем игра?

Read more »


Seven types of interpreters of the virtual computer. In search of the fastest

3 years ago
All problems in the field of Computer Science can be solved by introduction of additional level of indirection. Except for one: too large number of levels of indirection.
All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirection.

Program interpreters are known for the low speed of work. In this article I will tell how they can be accelerated.
I wanted to stop in more detail on creation of interpreters for a long time. Actually promised, including to. However serious approach demanded use of more or less realistic code for examples, and also carrying out performance measurements, confirmatory (and sometimes and disproving) my arguments. But at last I am ready to provide to respectable public results, and even a little more interesting, than gathered.
In this article seven ways of creation of program VM for one guest system will be described. From the slowest we will proceed to faster, in turn getting rid of the different? inefficiencies? in code, and at the end we will compare their work on the example of one program.
Those who is not afraid of assembly listings, the code speckled by macroes on Xi, it is abundant fertilized by address arithmetics, goto and even longjmp, and also the programs using kopipast for the sake of speed or even creating pieces himself, I ask to welcome under kat.

Read more »


As color is arranged

3 years ago
Why formal determination of color whether is, whether is not present, and whether it is connected by what that Shryodinger has given it? What did Veynberg when called the revolutionary article mean? Geometry of flowers?? Why the color triangle two corners though intuitively it seems, what has to have one? Why normal children's drawing shows, what at the author everything is all right with color perception, and why the artist academist all life learns to disconnect it? Why in color space there are clusters, but they are not? Why any woman knows about the phenomenon of metamerism of colourings, and scientists forget all the time? How many has to be color channels at the good camera? And at the monitor? And why answer different? And paints at the printer?

Answers to these and other questions in the next lecture which is given at the faculty of computer sciences opened in the Tower with assistance of Yandex.



Lecturer? Dmitry Nikolaev managing sector of visual systems at Institute of problems of information transfer of A.A. Harkevich the Russian Academy of Sciences. The candidate of physical and mathematical sciences, has defended the dissertation on subject? The algorithms of color segmentation applicable in the conditions of difficult illumination of scene?.

Read more »