Developers Club geek daily blog

Expansion of sections without data loss

2 years, 9 months ago


Developed the program for simple expansion of the section and file system (xfs, ext3,4) without data loss.

Initial problem

After expansion of a disk of the virtual computer from wasps of linux family to expand in it the section of data.

Read more »

To whom and why after all Go is necessary?

2 years, 10 months ago
It is healthy! Well, lately on Habré there was a lot of srachy around Go: good-bad, is necessary-is unnecessary, compared to a python much, compared to growth, a vyser of "Go vs Haskell" well and in this way much. I had a feeling that because of a hayp and aggressive marketing of language by some of Ivanami Danilyukami very little who understood who and why in general Go can be useful why it was done and whether should be learned in general it. I too long time participated in these sracha, siding in shifts with "fans" of language and the party of opposition, but finally a doper in what focus. Today looked down at a sofa in a post a little and decided to write this note.

Give, boys, we pass in a post.

Read more »

Go in 2015

2 years, 10 months ago
The leaving 2015th year was issued rather saturated for the Go programming language and its community. More and more people open for themselves the power which is behind simplicity of language, the community grows, develops and plays more and more significant role in this and future Go. This — the sixth year of existence of language — was marked by several important changes of interiors of language, fantastic improvement of a garbage collector, the first step to standardization of work with dependences and many other events.
Let's walk in brief on important events of the 2015th year in the world of Go.

Read more »

Google where you put my place in GMail? And you precisely know how in GMail labels work?

2 years, 10 months ago

I began to notice that from 15 gigabytes free the place, the provided Google, mail occupies me already nearly 12 gigabytes. And such tendency does not please me.
On the other hand I as an e-mail client use Thunderbird with complete synchronization. I.e. all letters have to be gone. And so the Thunderbird folder with all letters and indexes occupies only 3 gigabytes. Though according to the logic of things the size has to not just match more or less the taken place on GMail, and to be more since Thunderbird does not archive the letter, and stores as is and still builds indexes for search acceleration.
Problem on the person! We begin to get to the bottom of an essence.

Read more »

As we passed from Scala to Go

2 years, 10 months ago
Transfer of article of the technical director of the company of CrowdStrike, about that as well as why they passed from Scala to Go in process of growth of the company from 5 to 200+ people.

Scala long time was part of a stack of our CrowdStrike company, in fact even the main language. I helped to implement Scala when we began to develop our software in the 2012th year. Actually, it was even one of the main reasons of my transition to CrowdStrike. Several main developers were interested in implementation of Scala so it was the good option for all.

I passed from the Gravity company which rather actively used Scala. It was the main language in the company. I got used to it, it was pleasant to me, I saw its power and was sure that I will be able to prevent some of difficulties which I saw in Scala as CrowdStrike grows. We did the high-loaded analytics, batch-tasks on Hadoop and our Chief Architect (hi, Bissel!) used a lambda architecture long before it became fashionable.

The recent quote from one of our senior-developers forced me to write this post describing why we transferred the most part of our stack to Go and why we by default write now new services on Go.

Read more »

As I rewrote 8 months the cryptocurrency to PHP for Go. Part 2

2 years, 10 months ago

The 2nd part of history which began with a sms from Katya "Do not call and do not write me more!!!!"

Read more »

As I rewrote 8 months the cryptocurrency to PHP for Go. Part 1

2 years, 10 months ago

"Do not call and do not write me more!!!!" — SMS from my girl Katya came. Through a couple of hours I realized that now I had a heap of free time and I decided to rewrite Dcoin on Go.

Read more »

As Cloud Foundry is developed

2 years, 10 months ago
CF community logoI briefly will tell about development process Cloud Foundry (CF), features of open source of model and a little personal experience.

In 2013 I became the active user of a platform when IBM started an internal beta of Bluemix, at the beginning of this year I took part in porting of Cloud Foundry on architecture of POWER8, and from the middle of October I became the member of CF core team, having passed CF Dojo. But about everything one after another.

I will not go deep into history or to explain that such Cloud Foundry, but here a necessary minimum of the facts. CF is Platform as a Service (PaaS) developed by VMWare and later the transferred Pivotal Software. The source code was open, now still there is a separate incubator of CF projects. A bit later Cloud Foundry Foundation which Pivotal entered, IBM was created, VMWare, EMC, GE, Intel, SAP, the present is included into it more than 50 organizations. Initially the platform was written on Ruby, later part a component were rewritten on Go.

Read more »

Go postulates

2 years, 10 months ago
In the game Go very simple rules, but the master in it to become difficult, it is necessary to learn to think patterns, territories and other strategic concepts. The Go language is not absolutely accidentally called similar to the name of this game. In the performance on a recent mitap in San Francisco, Rob Payk mentioned the book "Go Postulates" (Go Proverbs) which describe difficult strategy by simple poetical phrases. These postulates bear deep sense for those who are familiar with the game Go, and can seem empty phrases to those who are not familiar. And in this nontechnical report he suggested to think up by the similar method "postulates" and for the Go language.

Here some of them:
  • Do not communicate by sharing memory, share memory by communicating.
  • Concurrency is not parallelism.
  • Channels orchestrate; mutexes serialize.
  • The bigger the interface, weaker the abstraction.
  • interface { } says nothing.
  • Gofmt's style is no one's favorite, yet gofmt is everyone's favorite.
  • A little copying is better than a little dependency.
  • Cgo is not Go.
  • Clear is better than clever.
  • Reflection is never clear.
  • Errors are values.

It something is similar to Zen of Python. You can not agree with them, but these postulates reflect an idiomatichnost and approach in Go. Let's sort in more detail each of them based on the report (video at the end of a post).

Read more »

Dances with mutexes in Go

2 years, 11 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 »