[Перевод] Социальная архитектура: 4 шага к самоуправляемому сообществу

image Я бы хотел, чтобы сообщество было полностью самоуправляемо, и, возможно, когда-нибудь так и будет, но пока это не так. ZeroMQ близко к этому, но по моему опыту сообществу требуется четыре вещи: Во-первых, просто потому, что большинство людей слишком милые, нам требуется некое символическое лидерство или владельцы, которые будут выступать конечными арбитрами в случае возникновения конфликта. Обычно это основатели сообщества. Я видел, как с этим управляется самоизбранная группа «старших», но старики слишком любят поболтать. Я видел, как сообщества раскалываются, сталкиваясь с вопросом «кто главный?», и создают юридические лица с советом директоров, который только усугубляет споры о контроле. Может так получается, т.к. кажется, что есть, что делить. Но одним из настоящих преимуществ свободного программного обеспечения является его ремиксабельность, поэтому вместо того, чтобы драться за пирог, просто отщипните «вилкой» кусочек. Во-вторых, сообществам требуются правила жизни, и еще юрист, способный эти правила сформулировать и записать их. Правила критически важны — будучи хорошо составленными, они исключают трения. А неправильно составленные, или игнорируемые, приведут к раздорам и сложностям, которые отпугнут большую часть, оставив спорящую группу во главе горящего дома. Я сам пробовал создать универсальные правила для ZeroMQ и предыдущих сообществ, поэтому, наверно, нам не так уж и нужны юристы. ...Далее...

[Перевод] Питера Хинченс: Психология архитектуры программного обеспечения

Один из принципов Социальной Архитектуры заключается в том, что способ нашей организации важнее того, кем мы являемся.
imageДиркжан Октман (Dirkjan Ochtman) обратил мое внимание на определение архитектуры программного обеспечения в Википедии: «совокупность структур, требуемых для понимания системы, которая объединяет элементы программного обеспечения, связи между ними и их принадлежность». Для меня эта бессодержательная и цикличная болтовня служит хорошим примером того, как унизительно мало мы знаем о том, что на самом деле важно при создании масштабной архитектуры программного обеспечения. Архитектура — это искусство и наука создания крупных искусственных структур, используемых человеком. Если я что и понял и успешно применял на протяжении тридцати лет при создании все более крупных систем программного обеспечения, так это то, что программное обеспечение — это все о людях. Крупные структуры сами по себе бессмысленны. Важно то, как они функционируют для использования их людьми. А в программном обеспечении, человеческое начинается с программистов, которые делают его. Основные проблемы в архитектуре программного обеспечения кроются в человеческой психологии, а не в технологиях. Наша психология по-разному может влиять на нашу работу. Я могу привести примеры того, как группа людей словно становится глупее по мере того, как она расширяется, или когда им приходится работать, будучи разделенными огромным расстоянием. Значит ли это, что чем меньше команда, тем она эффективней? Как же тогда такое крупное глобальное сообщество как ZeroMQ умудряется успешно работать? ...Далее...

Внезапно: новая версия ONLYOFFICE с макросами

У нас важные новости: вышла новая версия десктопов с макросами. Вы можете скачать её на официальном сайте и попробовать всё сами.

В этой статье мы расскажем, что у нас за макросы, чем они отличаются от макросов Microsoft и как с ними работать.


Читать дальше →

[Перевод] 42/C4: Collective Code Construction Contract

  • Имя: rfc.zeromq.org/spec:42/C4
  • Статус: Стабильный
  • Редактор: Питер Хинченс ph@imatix.com
Collective Code Construction Contract (C4) — это эволюция модели github.com Fork + Pull Model, целью которой является создание оптимальной модели сотрудничества для проектов свободного ПО. Это 2 версия спецификации C4 и она обесценивает RFC22. image

1. Цели

Спецификация C4 предназначена для обеспечения оптимальной неоднократной модели сотрудничества для проектов с открытым исходным кодом. Она преследует следующие цели:
  1. Расширение сообщества, формируемого вокруг проекта, уменьшение порога вхождения для новых участников и создание масштабируемой модели партнерства с позитивной обратной связью;
  2. Уменьшение зависимости от ключевых лиц путем распределения требуемых наборов навыков по разным специалистам, чтобы на любую область приходился высокий уровень компетенции;
  3. Обеспечение более быстрой и точной разработки проекта путем развития процесса принятия решений;
  4. Поддержание жизненных циклов версий проекта от экспериментальной до стабильной, путем проведения безопасных экспериментов, быстрого реагирования на неполадки и изолированием стабильного кода;
  5. Уменьшение внутренней сложности репозиториев, что приводит к облегчению для участия контрибьюторов и уменьшению объема ошибок;
  6. ...Далее...

Почтовые ящики, которые и не ящики вовсе…

Когда летом 2016-го года создавалась первая статья про SObjectizer мы говорили, что со временем будем рассказывать и о деталях его реализации, дабы заинтересованные читатели могли заглянуть «под капот». Сегодняшняя статья будет как раз про потроха SObjectizer-а. Про механизм mbox-ов («почтовых ящиков»), который используется для организации взаимодействия акторов (агентов в нашей терминологии).

Почему речь именно про mbox-ы?


Потому, что мы сами удивлены, насколько много очень похожих вопросов вызывает этот механизм у тех, кто берется изучать SObjectizer. Оказалось, что вещь, хорошо знакомая, понятная и привычная нам, разработчикам SObjectizer, отнюдь не является таковой для новичков. Ну а раз так, то давайте попробуем разобраться, что же из себя представляют mbox-ы и как же они работают. А заодно и попробуем сделать свой собственный mbox.

Зачем нужны mbox-ы?


Почтовые ящики в SObjectizer нужны для того, чтобы организовывать взаимодействие между агентами. Общение между агентами строится посредством асинхронных сообщений и эти самые сообщения нужно куда-то отсылать. Возникает вопрос: «Куда именно?»
Читать дальше →

Используем Bash в SQL-стиле

Приветствую! Данная небольшая статья призвана осветить некоторые аспекты применения Bash для анализа файлов в SQL-стиле. Будет интересна для новичков, возможно, опытные пользователи также найдут для себя что-нибудь новое.

Структура задачи:
  • projects
    1. project1/ — проекты
      • conf/
        • <run_configurations>*.conf — конфигурации построения отчетов по таблицам
      • reports/
        • <run_configurations>/
          • report1.json — сами отчеты, содержат статистику по таблицам Apache Hive
          • report2.json
    2. project2/
      ...

Надо: найти просроченные отчеты.

Итак, расчехляем Bash, открываем отдельный терминал для man-ов и приступаем)

Всех, кому интересно — прошу под кат.
Читать дальше →

Переходим на сторону сервера с bem-express

— Сначала вы его отрицаете, потом вы его ненавидите, а потом вы не можете без него жить.
из доклада Артема Курбатова «БЭМ: мастер-класс»


Методология БЭМ существует достаточно долго и принята на вооружение в Google, EPAM Systems, BBC, Альфа-Банке. При этом она все еще вызывает беспокойство у типичного разработчика и менеджера проектов среднего звена.




У некоторых смельчаков изучение БЭМ не ушло дальше ограничения возможностей CSS для получения более предсказуемых результатов. И хотя БЭМ давно вышел за пределы верстки, до сих пор на вопрос «Знаете ли вы БЭМ?» можно услышать: «Конечно, это про подчеркивания в классах».


Если ваше представление о БЭМ близко к этому, я отвечу вам словами работодателя при приеме на работу новоиспеченного выпускника: «Забудьте о том, что вы слышали о БЭМ ранее». Методология БЭМ настолько интересна, насколько большинству о ней ничего не известно. Чтобы понять всю прелесть БЭМ, необходимо иметь представление обо всех технологиях, библиотеках, фреймворках и инструментах, которые БЭМ предоставляет. Изучите их, оставайтесь инопланетянином, ребенком, который удивляется тому, с чем взрослые смирились.


Читать дальше →

ReactOS версус Windows XP SP3: эпическая битва в 3DMark



Один из волонтеров проекта решил устроить батл между Windows XP и ReactOS по дисциплине 3DMark 2006. Зрелище получилось небезынтересным, а результат весьма неожиданным и впечатляющим. Предлагаем вам самим проследить за ходом сражения и узнать? кто же и с каким счетом победил.



Батл происходил в абсолютно равных условиях в VirtualBox VM.
Характеристики хостового компьютера были такими:
Intel Core I5 6500 @4.2GHz
16GB DDR4 RAM
NVidia Geforce GTX 1060 6GB
Samsung 850 EVO 500GB SSD

Читать дальше →

Похоже, я не предприниматель

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

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

В этой статье я хотел бы
— поделиться сделанными выводами
— порекомендовать проект, если вы хотите присоединиться к нему в качестве разработчика/инвестора
— выложить техническую документацию, если вы захотите сделать форк

image
Читать дальше →


Последние посты