Developers Club geek daily blog

Maybe monad on steroids

2 years, 2 months ago

Read more »

The updated Codebattle: game for programmers

2 years, 2 months ago
Hi, Habr!

Three weeks ago we (amicable command of the educational project a post about our new project — game for the Codebattle programmers. I will remind, idea of game very simple: you and the rival are given a task, you solve it in the language selected by you. You see a code of the rival in real time, results of start of tests and can communicate with it and the audience in a chat. Who the first will solve a problem (will satisfy to tests) — that won.

After the publication of article we had a cheerful day :) Laid down under habraeffekty and found several bugs. When the storm calmed down, on the arena life began to boil again. Within the next two weeks we solved three main problems: performance, fight against a chiterstvo and possibility of fast adding of modern languages. Also solved them!

Meet — the updated Codebattle! In brief:

  1. Habraeffekt to us on it is terrible (fie-fie-fie)
  2. To Chiterit it will not turn out any more (it is impossible to adjust a solution to tests)
  3. It became simpler to add languages (already there is clojure, ruby, js, python, php, java, erlang)

Details under a cat →

Read more »

When there is no forces to wait for Record'Y

2 years, 3 months ago
I think, many C# developers looked forward in C# to 6.0 appearance of primary designers and record'ov and have been afflicted that this feature has been postponed until the 7th version. At the end of working Thursday the desire to have unchangeable types by all means has overcome in me patience and I have decided to write the utility generating them. To whom it is interesting — I ask under kat.

Read more »

Frida-node or a little bit strange code

2 years, 3 months ago
I welcome all who reads this article.
Somehow it has so developed that on Habré practically there are no references about remarkable piece under the name Frida. The most sensible of them consists in couple of code lines and the general description (HabraFrida from which, actually, I also have learned about existence of this thingummy, for what separate thanks to the author).
If in brief, Frida is engaged in that inzhektit the JS engine from Google (V8) in targetny process (in the absence of protection, of course), and the built-in js-code is able to work with memory, to intercept calls of functions, to do these calls and to be engaged in other indecencies.
If it is honest, I am familiar with reverse extremely indifferently and, generally from MMORPG Runes of Magic with which I also have started learning to kodit and with which the considerable part of my current knowledge of programming is connected. Actually, still from time to time I have a good time writing of any differences under it (full of holes, by the way, toy … What only smart bugs in it were not found, beginning from posing of subjects and finishing sql-inject'y). Here for it I have also written a little bit the test code on Frida allowing to do … miscellaneous.
Why node.js? Prost. Finally, same hub of abnormal programming)

Read more »

To add system call. Part 4 and the last

2 years, 3 months ago
                                                                                    - Что-то беспокоит меня Гондурас...
                                                                                    - Беспокоит? А ты его не чеши.

In the previous parts of discussion (1st, 2nd and 3rd) we considered as, using opportunity to change sys_call_table contents, to change behavior of this or that system call of Linux. Now we will continue experiments towards, whether it is possible (and as) dynamically to add new system call for the purpose of your program project.

Read more »

Codebattle: game for programmers

2 years, 3 months ago
Hi, Habrakhabr!

We in Heksleta like not only to study and learn, but also to have a good time. But to have a good time in own way, on-programmerski. Therefore we have started Codebattle. It is game for programmers.

Idea very simple: you and the rival are given task, you solve it in the language selected by you. You see code of the rival in real time, results of start of tests and can communicate with it and the audience in chat. Who the first will solve problem (will satisfy to tests) — that has won.

Read more »

Side projects — why it is important for the developer

2 years, 3 months ago

We in Alconost very love and we appreciate third-party projects, and sometimes we distract on them directly in working hours. So reckless and fervent videos about the stobaksovy note in different art styles, how to make infographics virus, about the true price of waiting on the Internet were born … These rollers had no customer — we have simply derived pleasure, thinking out, drawing and animating them. For programmers side projects too have special value. We have translated the whole article of the Swedish businessman and developer David Elbe about it.

I met hundreds of developers. The best of them always had third-party projects with which they conjured at night. As the employer, I in every possible way support it. But there are many companies which forbid similar activity.

Let's talk about why I consider side projects as good idea as I use them for self-development and on what you should pay attention.

Read more »

Network system calls. Part 3

2 years, 3 months ago
We have completed the previous part of discussion on such here optimistic note: "In this way we can change behavior of any system call of Linux". And here I have played a cunning trick — any … yes not any. The exception is made (can make) group of the network system calls working with BSD sockets. When you face this artifact for the first time — it fairly puzzles.

Read more »

Not constant constant expressions

2 years, 3 months ago
// <some code>
int main  ()
         constexpr int a  = f ();
         constexpr int b  = f ();
        static_assert (! = b, "fail");

Whether it is possible in the stated above fragment instead of the comment to insert such definition of f () that a has received the value other than b?

"Certainly, no!" — you will tell, having a little thought. Really, both variables are declared with constexpr qualifier, so, f () too has to be constexpr-function. All know that constexpr-functions can be executed in compilation time, and, as a result, should not depend on global status of the program or change it (in other words, have to be pure). Purity means that function by each call with the same arguments has to return the same value. f () both times is caused without arguments therefore has to return both times the same value which will be appropriated to variables an and b … correctly?

A week ago I knew that it is the truth, and really thought that it is impossible to pass static_assert in the stated above fragment, without allowing indefinite behavior.

I was mistaken.

Read more »

Games on CSS. Part 2: StarCraft

2 years, 3 months ago
Kind day, habrovets.
By results of last article I have understood that the subject is interesting to the public therefore has prepared one more material, slightly more difficult.
On the former there are no scripts, only HTML/CSS.

Watch video and under kat.

Read more »