В 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> настолько сложен?

Разработчики OpenSource мессенджера с фокусом на безопасности, Cryptocat, в своем твиттере признались в любви к нашему дистрибутиву.



Это, разумеется, очень правильно, т.к. именно наш дистрибутив предлагает разработчикам удобную платформу с современным ПО и отзывчивым коммьюнити. Выбирайте и вы!

Наш коллега, Lubomir Rintel, анонсировал выход NetworkManager версии 1.2. Новость уже обсуждается на OpenNET.ru. Вы периодически слышите о новостях об этом приложении, и в этом анонсе для вас особо нового ничего не будет - только протестированный функционал, который был анонсирован в предыдущие devel-релизы. Правда вот, из интересного - Lubomir объявил, что теперь можно управлять более, чем одним VPN-соединением. Надо бы проверить!

Pieter Hintjens сообщил в своем Твиттере, что его дни сочтены. Мы все глубоко сожалеем.

Pieter, это очень непростой человек, и, как некоторые утверждают, якобы и в личном общении тоже. Он - автор AMQP, перессорившийся со всеми другими участниками, затем создавший 4 версии ZeroMQ, несовместимых настолько, что впору говорить о совершенно разных системах Message-oriented Middleware, и к которым было много претензий, но на базе которых можно выстроить распределенную систему. И хоть до сих пор хипстер-молодежь, начитавшись рекламных текстов о ZeroMQ, ходит по известным граблям, система вполне заслуженно заняла некоторую нишу. Надо просто очень внимательно читать инструкцию и тщательным образом следить за нетривиальным ходом мысли Питера.

Некоторые наши знакомые порой отвечают на просьбу ознакомиться со статьей, что "я не буду это читать, ведь это написал Pieter Hintjens". Однако, если уж говорить честно, то вклад Питера в дело становления и развития современной AйТи-индустрии, и его интеллектуальный потенциал нельзя переоценить. Что бы дальше ни произошло, мы желаем ему только хорошего (насколько это возможно в его ситуации).


Кот и Pieter Hintjens

Успех systemd.conf 2015 предопределил скорое повторение. И вот, анонсирована конференция systemd.conf 2016. Ее проведение запланировано с 28 сентября по 1 октября в Берлине. Надеемся, что наши соотечественники смогут посетить и в этот раз.

Страницы