SDCast #69: в гостях Михаил Белопухов, разработчик OpenBSD

Всё что вы хотели узнать о OpenBSD и даже намного больше информации ждёт вас в 69-м выпуске SDCast’а! У меня в гостях Миша Белопухов, разработчик OpenBSD.

В начале Миша рассказал про то, как он сам познакомился с OpenBSD, как начал изучать операционные системы и как его интерес неожиданно превратился во вполне оплачиваемую работу :)

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

Обсудили мы и в целом операционную систему OpenBSD, как она устроена, на каких принципах построена, как работает ядро системы, драйвера и user space код.

Обсудили вопросы, связанные с безопасностью и защищенностью, как самой ОС, так и прикладного кода, работающего в системе. OpenBSD известна своим слоганом “Secure by Default” и тем, что вопросам безопасности там уделяется большое внимание. Миша рассказал про различные подсистемы обеспечения безопасности, применяемые в OpenBSD, такие как:

  • Рандомизация адресного пространства ядра, KARL (Kernel Address Randomized Link)
  • Рандомизация размещения адресного пространства, ASLR (address space layout randomization)
  • strlcpy() и strlcat() – нестандартные функции, созданные в качестве замены часто используемых некорректным образом аналогов стандартной библиотеки
  • fork+exec, PIE, pledge и другие.

Отдельно поговорили о криптографических алгоритмах, способах их реализации с использованием возможностей современных процессоров, таких как SIMD, а так же о их применении в SSH и SSL. Читать далее SDCast #69: в гостях Михаил Белопухов, разработчик OpenBSD

Скачать (mp3, 130 MB) Скачать (ogg, 91 MB)

SDCast #68 HL edition: разработчики Tarantool

Товарищи, встречайте 68-й выпуск подкаста! И вновь этот выпуск записан на Highload++ 2017! В этом выпуске мы вместе с Петей из подкастов «Пятиминутка PHP» и «Пятиминутка React» пообщались с разработчиками Tarantool. В гостях Костя Осипов, Кирилл Юхин и Рома Цисык.

Костя Осипов уже был у меня в гостях в 20-м выпуске. Но с тех пор прошло много времени, проект живёт, развивается, и много что появилось и изменилось!

Ребята рассказали про текущее положение дел в Tarantool, что нового и интересного появилось в проекте в последнее время, а так же над чем команда трудится сейчас.

У ребят довольно часто спрашивают: «Почему Lua?» И сейчас они исследуют возможность подключения различных языков, назовём их бэкендами, для написания бизнес-логики внутри сервера. И один из потенциальных вариантов — это LLVM. Ребята рассказали о возможных плюсах и минусах появления такого функционала, поделились своими мыслями по этому поводу.

Одна из интересных возможностей — это использование привычного всем SQL для написания запросов к данным. Кирилл Юхин занимается именно этой задачей и он поделился своими исследованиями в этой области, рассказал про различные подходы к решению и какой вариант выбрали они сами.
Читать далее SDCast #68 HL edition: разработчики Tarantool

Скачать (mp3, 33 MB) Скачать (ogg, 25 MB)

SDCast #67 HL edition: участники-докладчики секции Lua

Товарищи, встречайте 67-й выпуск SDCast’а вновь записанный на Highload++ 2017! На этот раз мы собрались большой компанией докладчиков секции Lua, участников сообщества Lua in Moscow. В этом выпуске принимают участие: Александр Гладыш, Антон Солдатов, Дмитрий Борисов, Сергей Лерг.

Кратко о каждом участнике выпуска:

  • Дмитрий Борисов — разработчик фрилансер, занимается разработкой телеком-систем
  • Александр Гладыш является организатором сообщества Lua in Moscow, а так же ведущим секции Lua на конференции Highload++
  • Сергей Лерг — разработчик фрилансер, разработчик игр
  • Антон Солдатов — инженер-программист в компании IPONWEB, занимается разработкой собственной реализации Lua. Кстати, Антон уже был у меня в гостях в 56 выпуске

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

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

Подискутировали на тему стилей программирования на Lua, инструментах анализа кода, соглашений по кодированию и прочих аспектах командной разработки. Не обошлось и без сравнения Lua и других языков программирования, таких как Go, JavaScript, Python и даже C++!

Выпуск получился порой с жаркими дискуссиями но в очень теплой и дружественной атмосфере. Приятного прослушивания!

И, кстати, да! Приглашаем всех на очередную встречу Lua in Moscow, которая пройдёт уже 7-го декабря в офисе компании IPONWEB в Москве.
Читать далее SDCast #67 HL edition: участники-докладчики секции Lua

Скачать (mp3, 47 MB) Скачать (ogg, 35 MB)

SDCast #66 HL edition: Михаил Леонов и Vytis Valentinavičius из Lamoda

sd-podcast-logoВстречайте 66-й выпуск SDCast’а, который так же записан на Hightload++ 2017. На этот раз мы с Петей из подкастов «Пятиминутка PHP» и «Пятиминутка React» взяли небольшое интервью у ребят из компании «Lamoda». В гостях Михаил Леонов и Vytis Valentinavičius.

У Витиса был доклад на конференции про логи, как их собирать, хранить и обрабатывать. Об этом мы и поговорили: зачем нужны логи, сколько логов вешать в граммах нужно собирать и какими способами и главное, что с ними делать дальше. Ребята немного рассказали про свой способ сбора логов из программных компонентов приложений, а так же про архитектуру обработки и хранения собранных данных.
Читать далее SDCast #66 HL edition: Михаил Леонов и Vytis Valentinavičius из Lamoda

Скачать (mp3, 10 MB) Скачать (ogg, 8 MB)

SDCast #65 HL edition: Александр Баталов, директор по развитию в компании Флант

sd-podcast-logoДрузья, рад представить вам интервью с Александром Баталовым из компании Флант, записанное на прошедшей конференции Highload 2017.

В этом выпуске мы вместе с Петей из подкастов «Пятиминутка PHP» и «Пятиминутка React» обсуждаем с Александром тему DevOps в целом и Kubernetes в частности. В начале Александр рассказал про компанию в целом, как и когда она появилась и чем занимается.

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

Александр рассказал, что такое Kubernetes, зачем он нужен, какие задачи он решает, и как они у себя в компании его активно применяют.
Читать далее SDCast #65 HL edition: Александр Баталов, директор по развитию в компании Флант

Скачать (mp3, 14 MB) Скачать (ogg, 11 MB)

SDCast #64: Игорь Демьянов и Евгений Гусев, фронтенд менеджер и фронтенд тимлид из компании Wrike

Рад представить вам 64-й выпуск SDCast’а! У меня в гостях Игорь Демьянов и Евгений Гусев, фронтенд менеджер и фронтенд тимлид из компании Wrike. Wrike активно используют у себя язык Dart, об этом и пойдет речь в этом выпуске.

Wrike — это платформа для организации работы в реальном времени, включая постановку задач, планирование, коммуникации, отчётность и многое другое. В начале, Игорь рассказал немного подробней о системе, как она устроена, какие использовались технологии, какие были задачи и проблемы, чем не устраивали существующие решения и технологии, и как в решении этих проблем помог Dart.

Поговорили мы про сам язык Dart. В начале ребята сделали небольшой экскурс в историю языка и путь его развития, затем мы обсудили основные парадигмы и ключевые концепции языка. На протяжении всего выпуска конечно же всплывали темы сравнения и сопоставления Dart и JavaScript, Dart и Typescript, взаимодействия со сторонними библиотеками и прочие вопросы касательно современной веб-разработки.

Ребята рассказали, как они переводили свой сервис в части frontend с JavaScript на Dart. Какой был план перехода и вообще подход к этому процессу и насколько он оказался лёгким или сложным с точек зрения:

  • Разработчиков
  • Процессов сборки
  • Процессов тестирования
  • Процессов выкладки релизов
  • Взаимодействия с другими компонентами системы

Обсудили мы и экосистему вокруг Dart: различные инструменты, линтеры, сборщики, пакетные менеджеры, интеграции с IDE и всё прочее.

Один из интересных вопросов — это сообщество вокруг языка и вообще наличие программистов на Dart. Ребята рассказали про свой опыт общения с разработчиками языка из Google, рассказали про обсуждение новых фич языка, конференции и другую социальную активность. В компании очень большой штат программистов, в том числе и на Dart. Так что было интересно обсудить как Wrike находит новых программистов на Dart. Читать далее SDCast #64: Игорь Демьянов и Евгений Гусев, фронтенд менеджер и фронтенд тимлид из компании Wrike

Скачать (mp3, 75 MB) Скачать (ogg, 55 MB)

SDCast #63: в гостях Алексей Маркин, программист из МЦСТ

Приветствую, товарищи! В предыдущем выпуске мы немного затронули тему процессоров «Эльбрус» и VLIW-архитектуры , но эта тема показалась интересной, и вот, в этом выпуске у меня снова в гостях Алексей Маркин, программист из МЦСТ, и этот выпуск целиком и полностью посвящен этой теме.

Вначале Лёша рассказал немного про компанию МЦСТ, историю её появления и развития, направления деятельности, и чем компания занимается сейчас.

Далее мы поговорили про процессоры «Эльбрус», что они из себя представляют, чем они принципиально отличаются от других архитектур (x86, ARM, RISC и прочее). Для VLIW-архитектуры «Эльбруса» порядок инструкций исполнения программы имеет особо важное значение, так как процессор не умеет их сам переставлять, поэтому оптимальный порядок формируется уже на этапе компиляции программы, и компилятор является неотъемлемой частью архитектуры.

Далее мы обсудили оптимизирующий компилятор для процессоров «Эльбрус», непосредственно разработкой которого Алексей и занимается. Лёша рассказал, что это такое — оптимизирующий компилятор, зачем он нужен и какие задачи решает, в чём его отличие от «обычных» gcc, clang. Довольно подробно Лёша рассказал про различные типы оптимизаций, которые присутствуют в компиляторе, что они дают на выходе в плане производительности, рассказал как вообще эти оптимизации находятся и разрабатываются и внедряются в компилятор. Рассказал про различные подводные камни на этом тернистом пути оптимизации :)

Так же обсудили сам процесс разработки компилятора, какие инструменты используются в команде разработки в МЦСТ, как устроено тестирование и сбор метрик, бенчмарки и замеры производительности. Читать далее SDCast #63: в гостях Алексей Маркин, программист из МЦСТ

Скачать (mp3, 65 MB) Скачать (ogg, 49 MB)

SDCast #62: в гостях Александр Титов и Амир Аюпов, инженеры из Intel и Алексей Маркин, программист из МЦСТ

Такого еще не было! Товарищи, рад представить вам 62-й выпуск подкаста, в котором у меня не один, а сразу целых три гостя! На этот раз вместе с Александром Титовым и Амиром Аюповым, инженерами из Intel и Алексеем Маркиным, программистом из МЦСТ, мы обсуждаем тему процессоров и разработку на стыке Hardware & Software. Отдельная большая часть подкаста посвящена вопросам айтишного образования в России.

По традиции, в начале ребята вкратце рассказали про себя, кто есть кто и чем занимается. Ну а дальше мы окунулись в мир процессоров! Обсудили из каких компонентов состоит процессор вкратце, как происходит выполнение пользовательского кода на процессоре, опять же очень условно, не вдаваясь в сложные технические детали. Обсудили какие бывают архитектуры и вообще что подразумевается под архитектурой процессора, чем отличаются x86, ARM, Эльбрус с точки зрения систем команд: традиционные RISC и CISC, плюс альтернативный VLIW.

Пообщались о том, как и в какую сторону развиваются процессоры, какие есть тонкости и сложности, что «мешает» сделать процессор быстрее. Вспомнили про нанометры и усовершенствование технологического процесса, но что интереснее, Саша рассказал про другие технические и технологические ограничения, такие как Power wall, ограничение максимальной мощности, которую разумные системы охлаждения могут отвести от процессора.

Так же обсудили различные типа процессоров: CPU, GPU, различные кастомные железки, FPGA и прочее; какие классы задач решаются теми или иными процессорами, вопросы железячного прототипирования и разработки своего железа «с нуля».

Подискутировали на тему перспективных направлений в CPU дизайне и трендов разработки процессоров в индустрии. Что нас может ждать в ближайшем будущем и что интересного есть уже сейчас.

Во второй части подкаста мы пообщались про направление “Computer Science” в образовании. Поскольку все из участников подкаста так или иначе имеют отношении к высшему образованию, кто-то преподавал, кто-то преподает сейчас, мы вспомнили как это было у нас. Ребята рассказали про то, какие курсы и лекции они читают сами, поделились своим опытом преподавания и взаимоотношениями с институтами.

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

Читать далее SDCast #62: в гостях Александр Титов и Амир Аюпов, инженеры из Intel и Алексей Маркин, программист из МЦСТ

Скачать (mp3, 117 MB) Скачать (ogg, 87 MB)

SDCast #61: в гостях Павел Аргентов, практикующий fp-программист

Встречайте 61-й выпуск SDCast’а, целиком и полностью посвящённый языку OCaml. У меня в гостях Павел Аргентов, практикующий fp-программист. В этом выпуске мы попытались осветить все аспекты языка OCaml, сферы его применения, вопросы разработки, экосистему и сообщество вокруг.

В начале Паша сделал довольно подробный экскурс в историю появления самого языка, начиная с появления диалекта Lisp’а в семидесятых, добавление алгебраических типов данных и категориальной абстрактной машины в восьмидесятых, появление реализации Caml Light в девяностых и заканчивая уже современной инкарнацией c поддержкой объектной модели.

Подробно обсудили основые парадигмы языка и ключевые концепции, такие как: функциональное программирование, strict-механика и вытекающие из этого последствия, связывание переменных и лексические скоупы для связывания, система типов Хиндли-Милнера и опциональные аннотации типов, ООП-слой, язык модулей и функторы, инструментарий для синтаксического расширения (собственные DSL) и многое другое.

Пообщались о сферах применения языка, для каких задач OCaml подходит лучше всего, какие преимущества у него по сравнению с другими языками в контексте этих задач. Паша рассказал про различные известные (и не очень) проекты, написанные на OCaml, среди которых, например, MirageOS, фреймворк для построения Unikernel систем. Рассказал про различные проекты, написанные под сильным влиянием OCaml. В основном это различные языки программирования, которые основаны на идеях OCaml, например FSharp, Haxe или ReasonML.

Не забыли мы обсудить и экосистему вокруг языка, какие есть инструменты для работы с языком: моды к различным IDE, браузер типов, пакетные менеджеры и прочие сопутствующие инструменты, коммьюнити вокруг языка, списки рассылки, места скопления OCaml-программистов, чаты и форумы.

Так же немного пофилософствовали на тему того, почему язык не получил широкого распространения среди разработчиков, с каких языков проще перейти на OCaml, стоит ли в принципе сейчас изучать этот язык. Читать далее SDCast #61: в гостях Павел Аргентов, практикующий fp-программист

Скачать (mp3, 71 MB) Скачать (ogg, 53 MB)

SDCast #60: в гостях Иван Круглов, програмист Booking.com

sd-podcast-logoРад представить вам 60-й выпуск SDCast’а! У меня в гостях Иван Круглов, програмист Booking.com. Некоторое время Иван занимался разработкой подсистемы поиска отелей, именно об этом и пойдёт речь в этом выпуске.

Офис разработки Booking.com расположен в Амстердаме и в начале Иван рассказал как он туда попал. Поделился опытом прохождения интервью, подготовкой к собеседованиям в различных российских, европейских и американских компаниях.

Обсудили архитектуру поиска отелей: как в целом оно работает, из каких компонентов и сервисов состоит, на каких языках/платформах написано. Иван рассказал как эволюционировала система в целом, как она была устроена в начале, какие появлялись узкие места и как они в дальнейшем разрешались.

Иван рассказал про то, как они ушли от баз данных MySQL к встраиваемому решению, а именно RocksDB. Рассказал про материализацию данных для поиска, шардирование данных и эффективную обработку запросов.

Так же Иван немного рассказал про то, как у них происходит выкладка изменений в продакшн, мониторинг и обслуживание системы. Читать далее SDCast #60: в гостях Иван Круглов, програмист Booking.com

Скачать (mp3, 36 MB) Скачать (ogg, 28 MB)