суббота, 9 марта 2019 г.

[life.books] "Мастер своего дела": начал читать, дошел до первого примера, закончил читать

По случаю прикупил книгу "Мастер своего дела" Мортена Хансена. Хансен мне известен тем, что был соавтором у "гуру" Джима Коллинза при работе над "Великие по собственному выбору". В аннотации к "Мастеру своего дела" было сказано, что автор провел многолетнее исследование и выявил ряд привычек, которые присущи людям, демонстрирующим высокую личную производительность.

Начал читать. В начале слишком много вступительных слов о том, как автор пришел к идее этого исследования, как он решился на исследование, как исследование проводилось и о чем же пойдет рассказ дальше. Что уже несколько насторожило. Но потом я все-таки дошел до первой имеющей отношение к делу главы. Это глава под названием "Делай меньше, да лучше". Где автор в качестве самого яркого демонстрационного примера решил использовать удачный поход к Южному полюсу Руаля Амундсена и неудачный поход туда же Роберта Скотта. И вот тут у меня стали закрадываться подозрения: либо автор не очень понимает суть приводимого им примера, либо, что хуже, старается переинтерпретировать факты в свою пользу.

воскресенье, 3 марта 2019 г.

[life.cinema] Очередной кинообзор (2019/02)

Пришло время рассказать о просмотренных в минувший месяц фильмах. На этот раз ситуация интересная: в списке много очень качественно сделанных фильмов, но среди них не так много тех, что понравились.

Оверлорд (Overlord, 2018). Фильм вторичный и трэшовый, но я получил удовольствие от просмотра. Какой-то привет из видеосалонов 1980-х, где можно было попасть на пусть и тупой, но бодрый боевичок в котором несколько главных героев мужественно сражаются с невесть откуда взявшимися монстрами.

На краю (Cut Bank, 2014). Далеко не шедевр. Но мне понравился. Добротный фильм. Хотя какие-то вещи в итоге остались непонятными, что портит общее впечатление.

Море соблазна (Serenity, 2019). Сюжет для меня лично оказался "немного предсказуем", после где-то на последней трети фильма я уже понимал, чем все закончится и как будут оправдывать происходящее. Но вот визуальная составляющая выше всяких похвал: что ни кадр, то образец для изучения композиции и освещения.

Виновный (Den skyldige, 2017). На удивление неплохо. Прекрасный образец того, как можно построить напряженный сюжет только на одном персонаже и диалогах. Хотя некоторые моменты вызывают вопросы и портят впечатление, но сам факт того, что это датская картина, очень сильно и приятно удивляет.

Алита: Боевой ангел (Alita: Battle Angel, 2019). Понравилось исполнение, картинка радует глаз. Понравилось то, что это один из немногих фильмов за последние годы, который хоть как-то претендует на жанр научной фантастики. Сюжет не понравился. Да и само по себе это кино для детей.

Зеленая книга (Green Book, 2019). Мне не зашел. Довольно примитивно, сильно предсказуемо, никакой интриги. Такое ощущение, что целью фильма было скрыть ужас отношения к неграм в США даже спустя 100 лет после отмены рабства обаятельным главным героем. Мол, да, к неграм относились как к скоту, но ведь не все же, были среди белых и нормальные люди.

Время возмездия (Destroyer, 2018). Скучно и затянуто. Возможно, фильм снимался для того, чтобы показать Николь Кидман как сильную драматической актрису. Но это и не получилось из-за занудности происходящего.

Правила бойни (Slaughterhouse Rulez, 2018). Редкая муть. Даже непонятно, как туда попали Саймон Пегг, Марго Робби и Ник Фрост.

пятница, 1 марта 2019 г.

[prog.thoughts] Еще раз на тему недовольства старых C++ников развитием языка

Перелопачивая кучи относительно старого кода на подмножестве C++11 поймал себя на том, что понял еще одну причину недовольства старых C++ников развитием современного C++.

Для того, чтобы пояснить придется предаться воспоминаниям из глубокой старины :)

понедельник, 25 февраля 2019 г.

[prog.thoughts] Legacy for the masses?

В свете последних вестей с полей стандартизации C++ (TL;DR: С++ станет еще больше и сложнее, сильно больше и сильно сложнее) подумалось о том, что мы становимся свидетелями того, как с понятием legacy сталкивается все больше и больше разработчиков. Что достаточно необычно для массового софтостроения, как мне кажется.

Попробую пояснить свою мысль.

четверг, 21 февраля 2019 г.

[prog.concurrency] И о чем же потрындели эти трое заслуженных товарищей?

Наткнулся давеча на разговор трех мэтров конкурентного программирования: Джо Армстронга (это который папа Эрланга), Тони Хоара (это который папа модели CSP) и Карла Хьюитта (это который папа модели Акторов): Let's #TalkConcurrency Panel Discussion with Sir Tony Hoare, Joe Armstrong, and Carl Hewitt. За несколько подходов осилил стенограмму их разговоров. Но не осилил главного: что в сухом остатке?

Ну вот реально не понятно, что полезного из этой беседы мог вынести для себя человек, который заинтересовался конкурентностью? Или который плотно занимается этой темой...

Есть ощущение, что три почтенных старца потрепались о чем-то своем, изрядно поржав походу дела. И, собственно, все.

Причем Джо Армстронг -- это типичный практик. Хоар -- ученый, который занимается теорией, но теорией, имеющей непосредственное влияние на практику. Тогда как Хьюитт производит впечатление витающего в небесах теоретика, который повернут на акторах и на том, как акторы волшебным образом все разруливают в идеальном мире. Уже не в первый раз сталкиваюсь с рассуждениями Хьюитта и до сих пор не могу понять, что такого практически значимого он сделал, чтобы его мнение воспринимать всерьез.

Кстати говоря, ссылка на эту беседу была найдена на HackerNews. Там в комментариях ничего интересного не обнаружилось. Мне показалось, что доминирует типичное фанбойство Erlang-еров. Мол, в Erlang-е все зашибись, мы делали на Erlang-а ахриненные программы, ничего лучше и не пожелаешь. И все это на фоне неасиляторов с жалобами в стиле "мы не понимаем как акторы нам помогут". Ну еще и Rust-оманы в очередной раз прибежали с воплями про то, какой у них замечательный фетиш.

Хинт для тех, кто не понимает, как акторы могут помочь: акторы вовсе не обязаны вам помочь, это всего лишь один из подходов, где-то он применим, где-то нет.

Но туда же в комментарии пришел и Карл Хьюитт, выдав очередной поток какой-то мутной херни, уж простите мне мой французский. Классы ему, блин чем-то помешали. Ну прямо как в анекдоте: "Не люблю я кошек, от них шерсть, вонь..." -- "Ба! Да вы просто не умеете их готовить!"

В общем, если кто-то хотел потратить часть своего времени на прослушивание/прочтение этой беседы и/или ее обсуждения на HackerNews, то лучше не нужно. Потратьте это время лучше на изучение Erlang, Elixir, Go, Akka, CAF, SObjectizer, Vert.x, Orleans и других инструментов. А так же примеров их использования. Практической пользы будет больше.

понедельник, 18 февраля 2019 г.

[prog.c++] bad_alloc == приговор?

В принципе, свое мнение по поводу контроля или не контроля успешности выделения памяти в C++ программах, я в концентрированном виде высказал когда-то в комментариях на Хабре:

По опыту обсуждения подобной темы складывается ощущение, что в Интернетах есть две секты. Приверженцы первой свято уверены в том, что под Linux-ом malloc никогда не возвращает NULL. Приверженцы второй свято уверены в том, что если память в программе выделить не удалось, но ничего уже в принципе сделать нельзя, нужно только падать.

Переубедить их никак нельзя. Особенно когда эти две секты пересекаются. Можно только принять это как данность. Причем не суть важно, reddit это, Хабр, LOR или еще какой профильный ресурс.

Но в последние несколько недель регулярно приходится сталкиваться с навязыванием мнения, что как-либо бороться с нехваткой памяти бесполезно, что bad_alloc, по сути, является приговором. Причем происходит это так часто, что имеет смысл вновь вернуться к данной теме. Кому интересно, милости прошу под кат.

понедельник, 11 февраля 2019 г.

[prog.memories] Фича, о которой я уже успел пожалеть раза три, минимум. И это еще не предел, наверное...

Когда долго ведешь какой-то проект, то рано или поздно приходится сталкиваться с тем, что принятые когда-то решения, казавшиеся когда-то привлекательными, приносят проблемы. Сегодня попробую рассказать об одном таком решении. Рассказ будет связан с SObjectizer-ом, но главным в рассказе будет не это. Так что кому интересно, как я посыпаю себе голову пеплом, милости прошу под кат.