Юрий Зиссер о свободе, эксплуатация людских ресурсов в Google, критика Go и Ruby, расширение SQL и его «картиночная» версия pixQL, а также внутреннее устройство PostgreSQL — в ссылокобзоре за прошлую неделю.
1. День рождения TUT.BY
Юрий Зиссер дал большое интервью о ценностях TUT.BY в день 15-летия портала:
У нашей компании всегда были базовые ценности, которые передавались от руководства к сотрудникам, а от них — остальному миру. Их всего три: свобода, честность, право ошибаться.
И говоря чуть подробней о свободе:
Мы в компании считаем, что только свободный труд является результативным. Не «что хочу — то и ворочу», а свобода действий в реализации миссии нашей компании, самостоятельность и инициатива на всех уровнях управления. Это свобода самомотивированного профессионала, а также свобода выбора наших читателей, клиентов и пользователей на основе высококачественных технологий и независимой информации.
В комментариях много чего говорят, там же началась импровизированная сессия вопрос-ответов, где один из читателей спрашивает Зиссера, а он отвечает:
— Юрий Анатольевич, были ли для Вас лично или TUT.BY последствия после поручение президента Шапире о «взятии под контроль всех евреев»?
— Нет. Единственное последствие — несколько дней звонили и писали друзья со всего мира, волновались, я их успокаивал.
@yzisser @42tutby Впервые вижу ком-ий Зиссера на его же форумах. Сам в шоке от хейтеров. pic.twitter.com/QrTaSgRJrU
— Chad (@Chad_Minsk) October 8, 2015
2. О Google и современной работорговле
Продолжая тему: 7 грязных секретов Google: Как работа мечты портит карьеру и личную жизнь:
На протяжении нескольких лет Google регулярно занимает лидирующие позиции в рейтингах лучших работодателей мира. В 2015 году издание Fortune вновь поставило компанию на первое место. Между тем сами сотрудники интернет-гиганта не всегда остаются довольны. На сервисе вопросов и ответов Quora они рассказывают, как в компании обстоят дела на самом деле.
Сотрудников Google вынуждают работать без выходных и отпусков, люди болеют от стресса и переутомления http://t.co/sWC7HYq1X5 #капитализм
— Рустем Адагамов (@adagamov) October 7, 2015
Недавно также издательство «Манн, Иванов и Фербер» выпустило книгу «Работа рулит!» о принципах работы в Google (вернее, это перевод на русский). Автором материала выступил вице-президент компании по персоналу Ласло Бок. На Roem.ru публикуются выдержки, посвящённые корпоративной культуре Google — её ценностях, миссии и способах принятия важных решений.
Вдогонку свежее:
3. Критика Go
Перевод статьи Один год с Go:
Итак, прошел год с тех пор, как я начал использовать Go. Неделю назад я удалил его из production.
Я пишу этот пост, потому что в течение последнего года многие спрашивали меня о впечатлениях от работы с Go, и мне бы хотелось рассказать о нем несколько больше, чем это возможно в Twitter и IRC — пока воспоминания не выветрились у меня из памяти.
Итак, поговорим о том, почему я не считаю Go полезным инструментом.
Из комментариев звучат дополнения:
Попробовал писать на Go несколько домашних поделок, на работе пишу на C#. Если вкратце, я пока так и не смог оценить преимуществ Go, кроме кросплатформенности:
- Нет удобных средств для разработчика, IDE со встроенным дебаггером под винду так и не нашёл. Пользуюсь плагином для Idea.
- Каналы — удобно, но мне они нужны для параллельной обработки массивов данных. В C# это решается проще, Parallel.ForEach и вперёд.
- Очень непривычно создавать свои ненужные структуры для простой сортировки в Go. И в целом, LINQ для работы с коллекциями в разы удобнее. При работе с Go сильно не хватает.
- Зачастую, Go кажется слишком низкоуровневым, даже чрезмерно. В идеале, не хотел бы видеть в языке указатели без особой на то причины.
- Использовал библиотеку написанную на C++ в Go. Не скажу, что очень удобно, а, например, valgrind и вовсе не работает с такими приложениями. Встроенный отладчик память, выделенную в C++ коде, разумеется, не видит. И как отлаживать утечки?
В целом, язык интересный, но для себя достоинств я пока не увидел.
Кроме того, много споров, обсуждений и догадок в интернете вызывает реализация параллельного многопроцессорного выполнения Go-рутин — а именно их устройство и вопросы производительности. Привожу интересную ссылку, которая описывает и детализирует механизмы реализации Go-рутин.
4. Децентрализация как тренд
Почему интернету нужен IPFS, пока ещё не поздно:
IPFS не совсем ещё сделалась хорошо известной технологией, даже в Кремниевой долине многим она ещё не известна, однако вести о ней быстро расходятся из уст в уста в сообществе открытого исходного кода. И многие рады потенциальным возможностям IPFS в области улучшения передачи файлов и ускорения потокового вещания их по интернету.
С моей личной точки зрения, однако же, IPFS в действительности гораздо важнее этих возможностей. IPFS избавляет сайты от необходимости использовать центральный сервер-первоисточник и поэтому, вероятно, это наш лучший шанс полностью переменить архитектуру Интернета прежде, чем она развалится от внутренних противоречий.
Если вы не знаете что такое IPFS, в конце статьи прикладывается FAQ по основам этой технологии.
Вдогонку:
- Tagsistant: семантическая файловая система.
- Matrix — HTTP API для децентрализованного взаимодействия.
5. Старые идеи под напором времени
Весьма здравая и практичная идея — расширение SQL для анализа данных. Естественно, SQL и так про данные. Здесь же в язык добавлены работы по подготовке данных и работа с произвольными типами данных.
Также интересна попытка использовать клон SQL для процессинга интернета котиков изображений, что реализовано в проекте pixQL.
Делаем на нем попытку создать два запроса:
# Join image to itself but offset by one pixel and report the average of the RGB values SELECT (img1_pixel.red+img2_pixel.red)/2 (img1_pixel.green+img2_pixel.green/2 (img1_pixel.blue+img2_pixel.blue)/2 FROM img1 img1_pixel INNER JOIN img1 img2_pixel ON img1_pixel.column = img2_pixel.column AND img1_pixel.row = img2_pixel.row+1; # Superimpose one image over another, offset by 100 pixels width/height UPDATE img1, img2 SET img1.rgb = img2.rgb WHERE img1.row = img2.row+100 AND img1.column = img2.column;
6. Как «погрепать» интернет
Цитата из статьи об утилизации возможностей проекта Сommoncrawl:
Аналитикам иногда нужно отвечать на вопросы вроде таких: «Сколько сайтов используют WordPress, а сколько Ghost?», «Какое покрытие у Google Analytics, а какое у Метрики?», «Как часто сайт X ссылается на сайт Y?». Самый честный способ на них ответить — пройтись по всем страничкам в интернете и посчитать. Эта идея не такая безумная, как может показаться. Существует проект Сommoncrawl, который каждый месяц публикует свежий дамп интернета в виде gzip-архивов суммарным размером в ~30Тб. Данные лежат на S3, поэтому для обработки обычно используется MapReduce от Amazon. Есть масса инструкций про то, как это делать. Но с текущим курсом доллара такой подход стал немного дороговат. Я хотел бы поделиться способом, как удешевить расчёт примерно в два раза.
Выдавая точный ответ на поставленный в заголовке вопрос, понадобиться примерно 10$.
7. HiLoad-проблематика
- Интересная публикация о сетевой инфраструктуре в Google: Pulling Back the Curtain on Google’s Network Infrastructure.
- Ещё одна свежая статья по этой же теме: Написание высокодоступного кода: 6 советов от инженера Imgur.
8. История одной уязвимости
Низкоуровневые шалости в свежем материале: Побег из VMware Workstation через порт COM1.
9. CodeFreeze в Москве, сентябрь 2015
Илья Космодемьянский: «Внутреннее устройство PostgreSQL для практикующих инженеров».
Двухчасовая видео-лекция об устройстве и проблематике современных СУБД.
10. Анти-Ruby в вышиванках
Два видео по теме Ruby. Андрей Колешко: «Что не так с Rails?».
Андрей расскажет, как и почему он и его команда решили отказаться от многих возможностей Rails и чем их заменили на своем проекте. В целом рассказ Андрея — это рассуждение о том, к чему приводит неправильное использование Rails, почему Rails не годится для всех Web-проектов в том виде, в котором представляет его сообщество разработчиков, авторы книг и best practices.
Дмитрий Савицкий: «Ruby Anti-Magic Shield».
Не упустите шанс попасть на сеанс практической магии с разоблачением от Дмитрия Савицкого. Способов помешать кому-то, кто пытается повлиять на ваш код со злым умыслом или по незнанию, не так уж и много. Дмитрий расскажет о тех немногочисленных возможностях, которые позволяют избежать запутанной и опасной «метамагии» в приложениях. Будет магически интересно.
Иллюстрации: twitter.com, vk.com
*Мнение колумнистов может не совпадать с позицией редакции.
**В цитировании сохранены авторская орфография и пунктуация.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.