Developers Club geek daily blog

I ♥ you, but you break off me

3 years ago

Hi, I present to yours transfer of article of Monica Dinkulesku 'I ♡ you, but you're bringing me down'. The literary translation from English is not my main specialization therefore in the text inaccuracies are possible. I urge to send changes the personal message and if is what to tell, Welkom in the comment. Separate thanks of @Kt for editorial changes. Pleasant reading.

Some people do furniture. Some people knit. Some people have hobbies which are not crossed with HTML specifications from the 90th in any way. But I not from such. And, here a story about how <input> became that a crap which it is and why it should be burned

Early years

1995 was cool year. Friends, Ambulance, Zena on a TV set. TLC occupied tops of charts with a hit "Waterfalls". With browsers was normul because HTML was everything very much normul. We had Mosaic, Netscape and IE1, and at the statement of spek of HTML 2, at last, found time for standardization of forms. The ninety fifth was year of birth <input>, and now when it rather adult to buy alcohol in shop, we need to talk.

Read more »

Dances with mutexes in Go

2 years, 12 months ago
Transfer of the training article of the developer from SendGrid about when and why it is possible and it is necessary to use "traditional" methods of synchronization of data in Go.

Reading level: average (intermediate) — this article means that you are familiar with bases of Go and the concurrency model, and, at least, are familiar with approaches to synchronization of the blocking and channels given by methods.

Note to the reader: On this post I was inspired by the good friend. When I helped it to deal with some races in its code and tried to teach him to art of synchronization of data so well as far as it was only capable, I understood that these councils can be useful also to others. So, there is it legacy code base in which certain decisions on design were already made to you, or you just want to understand better traditional primitives of synchronization in Go — this article can be for you.

Read more »

I trust – I do not believe in indi-development. Part 1

2 years, 11 months ago
Probably, in work of each programmer there comes the critical moment when creative favourite work develops into routine. All cope with this moment on the. Someone changes a programming language, someone changes work, and someone tries to make an independent product.


This moment did not pass by me, and filled with all the entity and ordered to do something. Work did not want to be changed, and here it was possible to create something out of this work. As at work it is necessary to be engaged in creation of exclusively useful applications – there was a wish to make something absolutely useless other. In my understanding it had to be the entertaining application, so game. At worst game has to go to a moneybox of a portfolio which is not prohibited by agreements on nondisclosure of a trade secret (yes, you work hard, and you can show nothing as it is impossible). In the best case that game pleased – it has to bring though some money.

Read more »

Gauss method on Java

3 years ago
Article is devoted to implementation of algorithm of Gauss for a solution of system of the linear algebraic equations in the Java language.

Theoretical data

Let's consider the mathematical theory. The linear equation system can have one solution, infinitely there are a lot of solutions or to be incompatible (not to have solutions). Not all methods of the solution SLOUGH can will cope with the second case when the system has infinitely many solutions. For example, Kramer's method and the matrix approach are not applicable, but the method of Gauss can quite be used.

The algorithm can be shared into two stages conditionally:

  • Forward stroke
  • Return motion

In the first stage zero below or above the main diagonal, due to use of elementary conversions of a matrix are formed. At the second stage unknown since the end find. It is possible to look at the detailed theory according to the link: the Gauss method therefore with the theory welcome everything. Let's pass to implementation.


Let's begin with a problem definition:

  • we need to create the program implementing linear equation system in the form of some data structure, using acceptances of the generalized programming. The system has to contain coefficients of derived type from the class Number (i.e. Float, Integer, Double, etc.)
  • To program algorithm which having received a data structure of system on an input forms zero below main diagonal

Read more »

Creation of the channel with autoposting in Telegram without uniform line of a code

3 years ago


I warn at once: technical in article very little. It is almost step-by-step instruction for users, not really expert in the technical plan. For people expert (and those to whom laziness to read a lot of text), I will give two references: Telegram Bots API + IFTTT Maker Channel.

Now is more detailed. I think, all heard about the Telegram messenger. Possibly, many even know about simple API for creation of bots in this messenger. Besides, not so long ago in T there was an opportunity to create so-called "channels" (channels) simplifying instant mailing of messages practically to any number of the persons which were signed for the canal. At last, the latest news: bots could be added as administrators to canals, that is such mailings could be done it is automated.

I think, it is not necessary to explain that it opens quite ample opportunities for different services. For example, at me quickly enough it turned out to make the following:

After creation of all these bots and channels came to my mind that the simplest autoimport of posts from where "outside" it is possible to adjust in general without any code and a hosting — literally minutes for 5. We will be come to the rescue by the fine IFTTT — If This Then That service having a set of integration with social networks and other services. However, unfortunately, direct integration with Telegram at it (so far?) no — but there is so-called IFTTT Maker Channel allowing to do simple HTTP(S) - requests at operation of the trigger. Unfortunately, we will not be able to accept the messages sent to a bot (incoming requests of IFTTT Maker can accept, but, alas, only in strictly certain format) — the interactive will not leave. But we will be able after operation of any event (for example, a new tweet or a post in FB):
  • to publish the message in the channel,
  • to send the message to in advance selected chat (where our bot is added),
  • to send the message to in advance specified user (who added to himself a bot).

Read more »

As botanists of an institution automate

2 years, 11 months ago

Hi, Habr. There passed nearly 2 years after my last post. I am very glad that it was for many useful. For these 2 years we made a lot of things. And I would like to share experience and the impressions.

From 20 institutions clients from one country we grew almost to 4 000 of 12 countries. Our command grew by 5 times. Opened office in Moscow and Warsaw. Released the application, in addition to iOs and Web, for Android and Windows. Considerably increased functionality. Translated Poster into 5 languages. For the last quarter participated in 3 international exhibitions. Closely we are on friendly terms with such companies as Epson, Microsoft, Intel. We are fixedly monitored by several large investors. The European company offered us absorption.

At first sight can seem that everything is simple and cloudless, but I assure it not so. The most interesting and dangerous is only necessary. In fact we passed only the first stage — a stage of check of idea and creation of the first version of a product. Further the most difficult stage — a formation stage when there is an internal optimization and restructuring of the company is necessary. I also want to tell about it.

Read more »

We start iOS applications from the console on a device and the simulator

3 years ago
In article it will be briefly described how to collect the application by console commands and to start on a real device and the simulator without any need to open xcode for this purpose.

Generally, it is worth beginning with the fact that in my company there is a department of ios of development in structure> 10 people who work on a pack of applications. For automation of routine work we had to deploy the CI server (still samopisny, in view of the special historical reasons (well as at all), migration is planned for jenkins). I carry to routine things — assembly of projects, start of tests (if, of course, you write them), creation of ipashka for testers and for the calculation in app store. Generally, there was a wish that on clicking of a button or according to Hook in Geeta all this began to work. While everything works for us on clicking of the button by the developer, about git only in plans so far. In this article I will only touch upon a subject of compilation of the project and its packaging in file ipa. The functionality of start of projects on devices on the party of the CI server still is in a development stage, and here process of packaging in "fight" for a long time, can be useful to whom.

That we plan:

  • let's collect the application and we will start on the simulator
  • let's collect ipa and we will start on a real device
  • let's collect ipa for the calculation on a market
  • a little podebazhy assembly errors

Read more »

The library helping to overcome a conceptual gap between OOP and a DB during testing when using ORM — LinqTestable

3 years ago
It is known that between an object-oriented and relational model there is a conceptual gap which is not able to overcome even ORM. Generally this gap influences that when using relational database we are forced to work on sets, but not on specific objects. But there is also other factor: the behavior of NULL in a DB differs from behavior of NULL in object-oriented languages. It can become a problem when you use the same request in two situations: 1) at request to a DB 2) at a unit testing when instead of the table of a DB the array in random access memory is used. Moreover, it can become a problem if you address only a DB, but think about NULL in terms OOPs, but not a relational DB!


Read more »

Fujitsu ETERNUS CD10000 S2: any news?

3 years ago

Approximately a year ago we told about Fujitsu ETERNUS CD10000 – the ready solution prepared by our company for fast expansion of horizontally scalable system of the program defined data storage based on open source software of Ceph and the rack Fujitsu PRIMERGY servers. ETERNUS CD10000 is scaled from four to 224 nodes of storage and 50 PBytes of capacity. On the first of October this year there was a second generation of ETERNUS CD10000 S2 in which a number of important improvements is implemented. What?

Read more »

400 tremendous free services

3 years ago

I am glad to provide addition of the original list from 300 tremendous free services. The author of the original article Ali Mese added +100 more new services which will help to find all — from sources of inspiration and photo editors before creation of polls and free icons.

A. Free websites

Read more »