Evil Martians
3.91K subscribers
467 photos
3 videos
1.25K links
Мы — Злые Марсиане
evilmartians.com
Стартапы, дизайн и разработка продуктов
#devtools #opensource #rubyonrails #golang #javascript #react
Download Telegram
Санкт-Петербург! 2 марта на #ProfsoUX марсианка Алёна Кирдина расскажет, как использовать списки системных ошибок в качестве двигателя интерфейсных решений. Приезжайте слушать и общаться.

http://amp.gs/9u3I
Андрей Ситник делится процессом создания личного сайта, который выглядит намеренно просто, но куда интереснее «под капотом». Хитрости 3D, кросс-браузерной совместимости, и как добиться идеального рейтинга на Lighthouse. Тред в Twitter:

http://amp.gs/92Xm
Уже завтра, 26-го февраля, в Москве состоится Ruby Meetup, на котором выступит экс-марсианин Кир Шатров с темой «Capacity planning для Ruby-приложений». Не спешите расходиться после основных докладов, потому что вас ждет экспериментальный lightning talk от марсианина Николая Сверчкова.

http://amp.gs/925Y
Если вдруг вы так же, как и я, не знали. В HTTP есть код 418 I'm a teapot — «сервер не может заварить кофе, потому что он чайник» https://tools.ietf.org/html/rfc2324#section-2.3.2
Подробная инструкция от Андрея Ситника о том, как начать пользоваться видеокодеком следующего поколения AV1 для фронта уже сегодня. Команды для FFmpeg и техники кросс-браузерной совместимости (и как отказаться от гифок на своих страницах). Читать в блоге:

http://amp.gs/9WDT
Марсианин Владимир Дементьев в подкасте My Ruby Story: о своем пути от первого знакомства с Ruby до выпуска и поддержки нескольких популярных проектов в год, включая TestProf и AnyCable

Слушать по-английски: http://amp.gs/9Mlc
Используете JSON-колонки в Rails приложении? Попробуйте работать с ними как с обычными объектами с помощью гема store_model от марсианина Дмитрия Цепелева.

Читать на dev.to: http://amp.gs/9Maa
Сегодня вечером окончательно открывается регистрация доменов в зоне .dev (принадлежит Google). По задумке — доменов для разработчиков и софтверных проектов.

Ирония тут в том, что годами многие разработчики использовали .dev-домены локально, вместо того, чтобы вбивать localhost или 0.0.0.0 и различать проекты по портам, поэтому как раз у разработчиков домены в этой зоне могут не работать (в отличие от остальных людей). Если вы не знали, все инструменты для локальной разработки теперь предпочитают использовать зону .test.

Тем не менее, зона звучная и легко запоминается. Посоветуем еще вот эти, давно открытые зоны:

— .io — тут все понятно: разработчики, стартаперы, сервисы. Кажется, уже всеми поисковыми движками больше не считается за региональный домен.
— .tech — не очень хорошо взлетевшая зона примерно для той же аудитории.
— .technology (еще хуже).
— .codes — неплохо для личного домена.
— .engineer, .engineering — хардкор для ценителей! большинству невозможно не только надиктовать, но и правильно набрать с первого раза.
Качественный лонгрид VICE о «трагедии опенсорса», которую сейчас активно обсуждают: провайдеры облачной инфраструктуры зарабатывают на открытом софте, а ответственность за баги лежит на плечах энтузиастов. История, экономика, философия и право:

http://amp.gs/9c3U
Не для слабых духом: академическая статья от команды V8 из Google о том, что уязвимости, основанные на спекулятивном исполнении инструкций, на манер Meltdown или Spectre, принципиально неизлечимы на уровне софта.

Внимание, сложный PDF: http://amp.gs/9b42
Slow web на смену slow food: как желание уйти от напичканных рекламой алгоритмических лент в соцсетях превращается в новый тренд на «органический интернет».

Статья Wired: http://amp.gs/4I6v
Расшифровка увлекательного подкаста о ранней истории Swift (язык тогда назывался Shiny). Байки от Криса Лэттнера и других заметных фигур в сообществе. В частности, можно узнать о том, что ARC в Objective-C появился как раз из экспериментов со Swift.

http://amp.gs/4TB6
Стоит ли переписывать титаническое приложение с нуля? Уроки из истории разработки: Netscape, Gmail, Basecamp, Visual Studio и другие огромные проекты.

http://amp.gs/41s5
Рубисты, обратите внимание: в RubyGems нашли несколько уязвимостей, стоит обновиться.

Описание уязвимостей: http://amp.gs/4tNg

Чтобы обновиться локально, нужно запустить `gem update --system`.
Для rbenv: http://amp.gs/4tNE
Для rvm: `rvm all do gem update --system`
Только браузеры добавили поддержку WebP, а на горизонте уже новый формат для изображений — в 2 раза лучше JPEG и на 30% WebP.

AVIF использует сжатие кодека AV1 и контейнер HEIF.

Буквально пару недель как вышла первая версия 1.0.

http://amp.gs/4m9g
Любите отвечать на вопросы про деревья и графы на собеседованиях? Может быть, обожаете давать их «на засыпку», когда сами проводите собеседования?

Патрик Уолтон, сотрудник Mozilla, разработчик языка Rust и движка Firefox Quantum (Servo) — представитель той малой доли программистов, что на самом деле используют сложные алгоритмы и структуры данных по работе.

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

https://twitter.com/pcwalton/status/1097657896114900993

* * *

Стандартными задачами легко нанять профессионалов по устройству на работу, которые уже все выучили про деревья, сортировку и графы. Однако, кандидаты, которые на самом деле — по той или иной причине — хотят у вас работать, могут «накрутить» себя так, что завалят собеседование.

На самом деле, нервы и давление — главная причина, по которой мы в Марсианах никогда не даем задачек на живое кодирование, а предпочитаем домашнее задание (которое, по возможности, даем на open source: https://cultofmartians.com).
Все книги и брошюры консалтинга Thoughtbot появились в свободном доступе:

http://amp.gs/4BQn

Небольшие книжки по Ruby, Rails, Git и многому другому.
Новости коммерческого open source. На этот раз Amazon ввязался в войну с Elastic.

Сначала напомню суть проблемы: open source разработчики тоже хотят получать заработную плату — особенно за то, чтобы постоянно отвечать на жалобы пользователей, править баги и делать новые фичи. Если не успевать этого делать, софт мгновенно объявят устаревшим и ненужным, и обыватель продолжит критиковать уже другого open source разработчика. Для этого кто-то должен разработчикам платить.

Традиционно есть несколько схем построения бизнеса на основе open source (модель с небольшими донатами разработчику не считаем за бизнес). В первую очередь, двойная лицензия — например, GPL по умолчанию, который заставляет раскрывать код всех модификаций продукта плюс коммерческая лицензия для тех, кто готов платить. Еще один традиционный способ — поддержка за деньги, которую обычно расширяют до приоритетной разработки фич, доработки продукта и построении решений на основе продукта.

Еще один, довольно очевидный — создание коммерческой версии продукта в дополнение или на замену открытой. Так, основной продукт может оставаться 100% open source, но для каких-то сложных и специфичных фич или модулей придется платить. И, наконец, способ, который отлично работает для облачных сервисов и решений, вроде СУБД — предоставление софта как сервис (PaaS, SaaS). Есть еще достаточно способов — в том числе, приоритетные релизы новых версий за деньги — но пока останавливаться на них не будем.

Open source пуристы очень плохо относятся к последним способам построения бизнеса на основе open source: всячески порицают и считают, что такие продукты не соответствуют духу open source, потому что не являются полностью свободными по лицензии (так, например, автор Redis хотел запретить продавать СУБД на базе свободной версии Redis). На что, в таком случае, предлагают жить разработчикам? Либо вопрос остается без внимания, либо разработчикам предлагают заниматься строго поддержкой (самый плохо масштабирующийся способ, который, к тому же, не всегда «взлетает»).

Зато в сфере коммерциализации open source лучше всего чувствуют себя компании-облачные хостинги. Amazon и другие публичные облака без проблем берут open source продукты, ставят их на свои сервера, обеспечивают бесперебойную работу и простое администрирование, и за это берут деньги, которые, конечно, разработчики-авторы попросту не видят.

Про эти проблемы вышло достаточно отличных статей, про которые, наверное, нужно будет написать здесь отдельно, но сегодня речь именно об Elasticsearch — известнейшем поисковом движке и СУБД, который очень широко используется сейчас самыми разными стартапами и большими компаниями, и далеко не всегда для полнотекстового поиска — скорее, для гибкой индексации и работы с данными, например, журнальными (Kibana).

Elasticsearch тоже зарабатывает деньги через сервис, конкретно, сервис elastic.co, который разрабатывается и поддерживается самой компанией Elastic. Что интересно, работает этот сервис поверх Amazon Web Services.

Elastic, кстати, публичная компания и торгуется на бирже: http://amp.gs/4hIG. Вообще, Elastic — один из успешных примеров так называемого коммерческого open source.

Вчера Amazon заявили о том, что «по многочисленным заявкам телезрителей» они делают новый продукт: Open Distro for Elasticsearch.

http://amp.gs/4hI7
http://amp.gs/4hIB

Де-факто он представляет из себя open-source форк Elasticsearch с некоторыми из функций, которые раньше были доступны только за деньги. Конечно, предназначается он в первую очередь для использования внутри AWS.

Amazon считает, что таким образом отвечает на запросы своих клиентов, и выступает образцовым гражданином open source комьюнити, отдавая свои наработки (которые конкурируют с платными доработками автора самого сервиса) бесплатно.
Зачем это Amazon? Можно почитать интересную статью про то, как облачные провайдеры зарабатывают на чужом софте, и сколько дохода с этого имеют: http://amp.gs/4hIi. Кстати, опыт создания прямых конкурентов коммерческим сервисам собственных клиентов у Amazon Web Services тоже есть.

Сегодня вышел большой развернутый комментарий Шея Бэнона, автора Elasticsearch: http://amp.gs/4hIs. В нем он два раза прямо обвиняет Amazon во вранье, но не теряет надежды, что Elasticsearch выберется и из этой переделки.

Разработчики Amazon, в ответ, называют причину форка: якобы непонятная лицензионная политика Elastic: http://amp.gs/4hID

Еще стоит почитать Пола Дикса, CEO InfluxDB, с очень нейтральным и взвешенным постом: http://amp.gs/4hIA
… и Адама Джейкоба, со-основателя Chef: http://amp.gs/4hIq

Думаю, это самое начало истории, и будет еще много интересного. Например, в названии самого продукта Amazon используется слово Elasticsearch, которое почти наверняка зарегистрировано как торговая марка компанией Elastic.

Если интересно почитать еще, посмотрите тред на Hacker News: http://amp.gs/4hIu

Судя по всему, войны вокруг open source и лицензий только начинаются, и мы будем возвращаться с новыми сводками с фронта.
Опубликованы небольшие уязвимости Ruby on Rails.

Одна работает только в development-режиме (то есть, как правило, только на машине разработчика).
http://amp.gs/4vvh

Другая — потенциальный DoS в ActionView.
http://amp.gs/4vvv

Еще одна — потенциальное раскрытие исходников вместе с `render: file`
http://amp.gs/4vvg

Новые версии (4.2 и выше) в RubyGems.