Flock 2016 возвращается в Европу из США, где провели Flock 2015. Конференция будет проведена в польском Кракове с 2 по 5 августа 2016. Уже сформирована программа, так что начинайте планировать визовые вопросы!

Вышел Qemu 2.6.0! Изменений довольно много, но из значительных особо отметим OpenGL в "безголовых" конфигурациях со SPICE, эмуляцию Raspberry Pi 2, аутентификация при доступе к удаленным блочным устройствам (iSCSI, NBD, RBD), postcopy-режим миграции и поддержка IPMI для управления виртуальными машинами. Коллеги-аналитики уже обсуждают эту новость на Linux.org.ru и OpenNET.ru.


Компании-разработчики Qemu 2.6.0

GnuTLS, мэйнтейнером которой является инженер Red Hat, Nikos Mavrogiannopoulos, доросла до версии 3.5.0. Из интересного, это поддержка SHA3 для RSA, DSA, ECDSA, и появление эллиптической кривой Curve25519 (используется в Tor, I2P, WhatsApp). Новость уже обсуждается коллегами-аналитиками на OpenNET.ru.

Emmanuele Bassi собрал статистику по корпоративным разработчикам GTK версии 3.20. Результаты оказались для некоторых шокирующими. Мало того, что разработка вовсю ведется, и ее темп и не думает падать, так еще и состав первой тройки корпораций оказался удивительным. Судите сами.

GLib

Affiliation Per changeset Affiliation Per lines Affiliation Per contributor (total 55)
(Unknown) 136 (50.2%) (Unknown) 10942 (50.9%) (Unknown) 35 (60.3%)
Collabora 49 (18.1%) Collabora 5491 (25.6%) Red Hat 9 (15.5%)
Canonical 41 (15.1%) Red Hat 3398 (15.8%) Canonical 5 (8.6%)
Red Hat 36 (13.3%) Canonical 1612 (7.5%) Collabora 4 (6.9%)
Endless 6 (2.2%) Endless 34 (0.2%) Endless 2 (3.4%)
Centricular 1 (0.4%) Centricular 4 (0.0%) Centricular 1 (1.7%)
Intel 1 (0.4%) Intel 2 (0.0%) Intel 1 (1.7%)
Novell 1 (0.4%) Novell 1 (0.0%) Novell 1 (1.7%)


GTK+

Affiliation Per changeset Affiliation Per lines Affiliation Per contributor (total 81)
Red Hat 1940 (69.5%) Red Hat 131833 (68.7%) (Unknown ) 63 (75.9%)
(Unknown) 796 (28.5%) (Unknown) 59204 (30.8%) Red Hat 15 (18.1%)
Endless 41 (1.5%) Endless 885 (0.5%) Canonical 4 (4.8%)
Canonical 13 (0.5%) Canonical 104 (0.1%) Endless 1 (1.2%)

В Fedora сняли ряд ограничений на включение эмуляторов в дистрибутив. В систему уже включен ряд эмуляторов (для Atari, dosbox, эмуляторы различных моделей ZX Spectrum, IBM S/370, Amstrad, MSX, SAM Coupé), но серьезным барьером для дальнейшего улучшения ситуации было маленькое требование. Ранее правилами требовалось, чтобы приложение-эмулятор было "полезно" и без зачастую проприетарных образов firmware для эмуляторов. Насчет того, что значит "полезно" существовали разные мнения, и ряд эмуляторов хулиганским образом все-таки был включен. Теперь это странное требование убрали, и взамет попросили одного - приложение-эмулятор должно как минимум запускаться без проприетарного firmware. Дальше пользователь где-нибудь должен раздобыть firmware и подложить его в нужное место.

Насчет firmware для эмуляторов тоже позиция прояснилась. Ранее их не регламентировали никак - раз нет эмуляторов, то нет и firmware для них. Теперь явно разрешили включать, но с условием, что разработчик firmware должен явно разрешать включение в Fedora и дальнейшее распространение как минимум на условиях неизменности файла (файлов) прошивки. Если же образ собирается из исходников, то это должно быть сделано с помощью инструментов, доступных в дистрибутиве. Это, кстати, ужесточение позиции, и уже вызвало вопросы по поводу образов FreeDOS, которые собираются из открытых исходников с помощью открытого, но несвободного компилятора Watcom C Compiler. Если же firmware необходимо для работы эмулятора, то оно обязательно должно собираться из исходников.

Наконец-то человек, называющий себя Satoshi Nakamoto, раскрыл свою личность. Как и предполагалось, им оказался Craig Steven Wright, доктор теологии.



Нам особенно приятно, что Craig использует CentOS 7, о чем он сообщил в своем блоге. Можно говорить, что значительная часть ключевых разработчиков Биткойна и блокчейна используют Fedora и Red Hat и производные дистрибутивы. Присоединяйтесь к их числу и вы!

WD Labs анонсировали дисковый массив из специальных дисков своего производства, у которых обычный микроконтроллер заменен на ARM-микрокомпьютер с Linux (к сожалению, был выбран Debian). Вместо стандартных SATA-интерфейсов там два гигабитных ethernet-адаптера, объединенные физически в коннектор, аналогичный SATA, который будут использовать и другие производители.

WaspV3_PCBA-1
Wasp-8TB-Top-Bot

Такие вот "умные" 8-терабайтные диски собираются по 500 в стандартную стойку от SuperMicro, и образуют 4-петабайтный массив с возможностью отдачи данных до 10-гигабит/c.

Front view - 25 new enclosures-small


Внутри используется Ceph, и весь массив проектировался с помощью инженеров Red Hat, чьим подразделением и является компания Inktank, купленная Red Hat пару лет назад. В новости очень важно отметить, что наверное впервые в продакшене используется Ceph с новым бэкендом для прямого доступа к диску, BlueStore. Бэкенд презентовали наши коллеги на недавно прошедшей Vault 2016. До этого использовался бэкенд FIleStore, который использовал файловые системы (XFS или для смелых btrfs), но распределенная файловая система быстро упирается в юниксвэйные ограничения стандарта POSIX.

Конечно, все это не значит, что XFS стала вдруг плохой. Те, кому требуется POSIX-система, например в LMAX, выбирают именно XFS, а не, например, ext4. Последняя годится для rootfs, ну еще для чего-нибудь. А если нужно высоконагруженное и надежное решение, то выбор однозначен - продукт 22 лет разработки, XFS.

14 мая в столице пройдет очередной golang-meetup - "Весенний Go в Badoo".



Спешим сообщить вам прекрасную новость – 14 мая в московском офисе компании Badoo пройдет весенний Go-митап.

Начинаем в 12:00. Приходите послушать интересные доклады и просто пообщаться!

Выступления будут сниматься на видео.

Программа


Марко Кевац, Badoo

«Оптимизация программ на Go»

Из доклада вы узнаете:
— про большинство утилит из арсенала Go, предназначенных для оптимизации производительности;
— как и когда их (утилиты) использовать, а также мы посмотрим как они устроены внутри;
— про применимость linux утилиты perf для оптимизации программ на Go.
Кроме того, устроим небольшой crash course, в рамках которого поэтапно соптимизируем несколько небольших программ на Go с использованием вышеперечисленных утилит.

Сергей Камардин, Mail.ru Group

«Семь тысяч rps, один Go»

Из доклада вы узнаете:
— как мы пришли к Go, оставив идею использования Node.js, Scala или Rust;
— про первый сервис, который мы написали на Go и запустили в продакшен;
— про ошибки, с которыми сталкивались под нагрузкой;
— про оптимизации, которые мы сделали и еще планируем сделать;
— про тестирование и предотвращение тестирования на продакшене (в частности, websocket'ов).

Алексей Палажченко, mc² software

«Reform: путь к лучшему ORM»

Из доклада вы узнаете:
— как работает database/sql;
— интерфейс и реализации database/sql/driver;
— обзор популярных ORM и что с ними не так;
— как мы делали свой лучший ORM;
— и почему столько раз его переделывали.

Записывайтесь и приходите. Ждем!

17 мая в столице состоится первая конференция разработчиков на языке Rust.

Rust — современный системный язык программирования с мощной системой типов. Он защищает от многих типичных ошибок программирования, таких как использование освобождённой памяти и гонки данных. Эти проблемы в Rust обнаруживаются сразу во время компиляции! При этом язык не использует сборку мусора — а значит, обладает предсказуемой производительностью, легко встраивается в другие языки и отлично подходит для встраиваемого программирования. На Rust можно писать надёжные, высокопроизводительные многопоточные программы.

Год назад произошёл выпуск первой стабильной версии языка — Rust 1.0. С тех пор язык активно развивался. Ещё вчера про Rust никто не знал, а сегодня Dropbox переписал на нём ядро своей дисковой инфраструктуры.

Вечером 17 мая мы соберёмся, чтобы поговорить о теоретических и практических моментах использования Rust, его экосистеме и инструментах, поделиться опытом написания программ на нём, а также рассмотреть частые проблемы и способы их решения.

Не пропустите! CoLaboratory: Rust — это шанс узнать о многообещающем языке программирования, который может вскоре заменить привычные инструменты, чьи позиции сейчас кажутся незыблемыми.

Программа мероприятия:

  • 18:00 — 18:30 Регистрация участников.
  • 18:30 — 18:40 Начало встречи. Приветственные слова.
  • 18:40 — 19:40 Rust — лучше, чем C++. Степан Кольцов.
  • Rust — современный практический удобный быстрый и безопасный язык программирования с хорошей системой типов.

    Rust должен стать заменой C++, т. к. решает проблемы C++ в работе с памятью (use after free, double free, buffer overrun и т. п.) и с многопоточностью при этом предоставляя такие же возможности для написания быстрого кода.

    Синтаксис Rust приятный, стандартная библиотека спроектирована хорошо, а система типов Rust ушла далеко вперёд по сравнению с C++, где виртуальные методы отдельно, шаблоны отдельно, и где для каждого типа параметра шаблон инстанциируется заново. Но мой рассказ не про это.

    В своём рассказе я подробно (настолько, насколько это возможно за один час) опишу ту часть системы типов, которая гарантирует безопасную работу с памятью — lifetimes, borrowed pointers, Sync/Send и прочее. На мой взгляд, это самое важное, самое сложное и самое интересное, что есть в Rust.

  • 19:40 — 20:30 Многопоточность и параллелизм в Rust. Никита Баксаляр.
  • Зачем нужны многопоточность и параллелизм, и почему это важно. Какие подходы применялись в Rust, и к чему в итоге пришли.

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

    Альтернативные подходы к многопоточности: MPSC и обмен сообщениями, легковесные процессы, акторы и корутины.

  • 20:30 — 20:50 Кофе-брейк
  • 20:50 — 21:40 Практика разработки веб-серверов на Rust. Михаил Панков.
  • Rust позволяет писать быстрые и надёжные программы. Особенно когда они многопоточные. Это делает его хорошим выбором для написания серверной части разнообразных веб-приложений.

    Но что для этого нужно? Зачем терпеть все эти длиннющие ошибки от borrow checker'а? Что с продуктивностью разработки? Где взять библиотеки? А что если библиотеки нет? Какой веб-фреймворк выбрать? Как отлаживать и профилировать код?

    В своём докладе я отвечу на эти и другие вопросы. Ещё я расскажу, что нужно делать, чтобы решить обойти проблемные места, которые у Rust, конечно, тоже есть.

    Всё это — на примере кода инфраструктурного сервера, обеспечивающего «всегда зелёный master» (commit gatekeeper, аналог homu и zuul).

  • 21:40 — 22:10 Rust FFI на примере расширения структуры данных из Haskell. Александр Вершилов.
  • Rust - быстрый и надежный язык без сборщика мусора, что позволяет использовать его в проектах, написанных на других языках, в местах особенно требовательных к эффективности решения. В данном докладе будет рассмотрена возможность использования Rust в Haskell проекте.

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

    В докладе мы рассмотрим основы FFI в Rust, и покажем как писать проекты, использующие Rust и Haskell одновременно и обсудим прочие связанные с этим вопросы.


Мероприятие состоится в штаб-квартире "Лаборатории Касперского". Внимание, Требуется регистрация!

Из других новостей про этот язык - участник Fedora, инженер Red Hat и разработчик GCC, GDB и binutils, Tom Tromey, представил патчсет с поддержкой Rust в GDB. Патчи сразу заинтересовали других разработчиков GDB, и Tom представил уже вторую версию патчсета, исправленную и дополненную. Скоро можно будет отлаживать программы на Rust в GDB!

Вот, правда, для их отладки нужно их сначала собрать, а с этим у нас не все гладко. Включение Rust в Fedora что-то застряло на ровном месте. Уже три года, как на месте топчемся.

Вы уже знаете, что Red Hat активно участвует в работе комитета ISO по стандартизации C++, и регулярно отчитывается. Недавно компания отчиталась про проделанной работе по март 2016 года. Основная работа велась по стандартизации современных многопоточных примитивов, таких, как "coroutines", хорошо известных разработчикам на Golang, Rust и иных современных языках, таких, как Simula-67, Modula-2, BCPL. Войдет ли все в C++17, пока неясно, но рабочие реализации будут в следующих версиях компиляторов.

Одновременно, Red Hat продолжает публиковать общеобразовательные статьи. В этот раз было решено рассказать про то, почему <cstdlib> настолько сложен?

Страницы