Дорожные работы

Время, когда ты счастлив, что окна твоей квартиры выходят во двор =))

Интересно, на сколько лет хватит затеянного ремонта. Неожиданно основательно за него взялись.

Гениальный трейлер

Шутки про «Кодзима — гений» уже давно боян, но представленный вчера трейлер Death Stranding гениален точно.

 

Многим стоит поучиться у Кодзимы как делать трейлеры. Трейлеры, которые с одной стороны показывают тебе некую суть игры или фильма — геймплей, персонажей, окружение; дают какое-то общее представление о происходящем, но при этом за почти 9 минут умудряются не проспойлерить сюжет и хоть какие-то детали происходящего, оставляя чувство любопытства и желание самому дотронуться до финального продукта. Самостоятельно узнать кто все эти люди и что же именно происходит. А не как в современных трейлерах, когда тебе половину сюжета покажут, а вторую — легко домыслить самому.

«Гибель сенсации» («Робот Джима Рипль») 1935

Гребаный фантастический триллер с роботами и хакерами из СССР тридцатых годов… Хрен знает что еще тут сказать =)))

Удивительное в этом кино, пожалуй, то, что сценарии и игра актеров некоторых современных фильмов достигают того же самого дна =) Но для 35го года скидочку сделать можно.

Сюжет происходит в некоей капиталистической стране (вероятно США, но это не точно, или я был невнимателен), где под гнетом буржуазии страдает рабочий класс. Ставятся эксперименты по увеличению скорости конвейеров, приводящие к травмам, рабочие работают на износ. Главный герой — Джим Рипль — инженер и изобретатель, вышедший из семьи рабочих. Его мечта и план — совершить промышленную революцию, построив роботов, способных заменить человека на производстве. По его мнению, это должно полностью перевернуть текущие устои и освободить рабочих.

 

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

 

Для массового производства роботов Джиму предоставляют любой завод на выбор, одним из удачных вариантов оказывается тот, на котором работает его брат и друзья. Желая объяснить, что он им не враг, Джим своим роботом случайно причиняет вред рабочему, что провоцирует стычку между рабочими и охраной завода. В стычке Джим получает несерьезное ранение, а роботы, под управлением военных, в отместку отправляются атаковать рабочий поселок. В результате Джим погибает, пытаясь остановить свои творения, а роботы оказываются взломанными рабочими, которые за все это время разобрались в их устройстве при помощи тестового образца, поломанного Джеком. Захваченные рабочими они отправляются громить буржуазию )

Повторюсь, фильм невероятно слабый с современной точки зрения. Снят он по мотивам романа «Железный Бунт»  и я не знаю много ли он потерял от первоисточника. Несмотря на весьма достойные «фантастические» кадры — дизайн роботов, их шествие на поселок —  в нем крайне слабо показана мотивация главного героя, не раскрыты детали его плана. Рабочие вполне справедливо считают что роботы им во вред, и Джим не объясняет в чем же профит. Так же и игра актеров оставляет желать лучшего… впрочем опять же по современным меркам, возможно на тот момент это и было нормой. Однако мне было интересно смотреть этот фильм исключительно с точки зрения интереса «а что такое советская фантастика 30х годов», а также взгляда фильма на проблему рабочего класса. Честно говоря я так и не понял… учитывая что фильм советский, в нем должны топить за рабочих и против буржуазии — это есть. Но при этом ученый создает машины, которые лишают людей работы… ну наверное это может быть даже хорошо с точки зрения коммунизма? Он же не отрицал автоматизацию как способ облегчения труда рабочих. Но при этом сам рабочий класс в фильме явно против такого облегчения, и вообще придерживается капиталистической точки зрения  — хотим работать больше, потому что нам нужно бабло. Очень сложно мне представить как этот фильм смотрелся тогда, и насколько соответствовал тогдашним идеологии и линии Партии. Однако небольшим кирпичиком в складывании общей картины, в том числе картины кинопроизводства, он для меня однозначно будет =)

Киношный день: ГитС, Аквамен, Дюна, Веном

Заценил вчера все из сабжа. Какой-то день хренового кино вышел прямо! Коротенько о каждом.

Веном (2018)

Показался мне просто фильмом снятым наотъебись. Просто максимально наотъебись. Многие говорят что Том Харди как-то подвытаскивает, но как по мне — его персонаж таков, что никакой игрой вытащить нельзя ни его самого, ни фильм в целом. Слабый сценарий, слабые отношения Брока и Венома, слабый Брок… Брок вообще разочаровал. Если по канону он был лузером и точил зуб на человека-паука, из чего потом развивался как герой, то тут Брок вроде бы вполне успешный и популярный журналист, который становится лузером по какой-то максимально дурацкой причине, заставившей его шефа послать Брока на неподходящее ему никак задание, а Брока — зафейлить его потому что он, блин, такой принципиальный. Выглядит это невероятно тупо и, к сожалению, все остальные сюжетные ходы фильма тоже в лучшем случае очень средненькие. Ну и главный злодей унылый шописец. Я даже не требую сразу ему карнажа кидать, но уж поехавший злодей-ученый в миксе с каким-то важным «генералом»-симбиотом ну точно мог бы выглядеть как-то поинтереснее. Если сравнивать этот фильм с черной пантерой, я бы сказал что пантера снята просто скучно, но при этом ровненько, а веном — снят лениво и на это постоянно обращаешь внимание. Этот фильм — прямой конкурент Эры Альтрона.

2/10

Дюна (1984)

Наконец-то я до нее добрался! Смотрел буквально раз, когда-то давно, нихрена не помнил и вот да, заценил творение Линча. Самое интересное — потом полез в википедию и почитал что о ней писали критики, и вот ППКС. Максимально сумбурный фильм, в который, кажется, попытались впихнуть невпихуемое, из-за чего часто теряется нить повествования и понимание кто все эти люди вокруг. Особенно в самом начале фильма, когда на зрителя выкидывают кучу императоров, баронов, какие-то гильдии навигаторов и бабские культы, желающие хрен пойми чего и хрен пойми каким путем. Серьезно, я так и не понял почему Пола Атрейдиса не должны были рожать, если вроде как родить мужика-избранного и было целью  и пророчеством и всем таким.

Хотя если откинуть все эти фракционные хотелки, то по сути фильм сводится к приключениям максимально рафинированного Избранного. Настолько избранного, что это пипец как скучно. Никакого развития персонажа за счет его превозмоганий, все строго по рельсам пророчества. Ты — избранный, поэтому на тебе и умение шашкой махать, и голосом повелевать, и червя оседлать. Наверное в книге все эти достижения им как-то реально достигались, но в фильме это выглядит просто как череда подкустовных роялей, обрушивающихся на героя в нужный момент.

Ну и в лысых бабах я в конце окончательно запутался — то там мать, кто сестра, а кто вообще вражья ведьма и сколько их всего там.

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

3/10

Призрак в доспехах (2017)

Тоже давненько лежал отложенный. Хотел даже предварительно аниме пересмотреть, но забил и, как оказалось, да и фиг бы с ним. Так испоганить первоисточник (ну, в данном случае скорее именно аниме) это надо было постараться. Главное что фильм ну не совсем говно — так, типичный боевичок, сам по себе вполне неплохой даже. Но хреновым его делает именно попытка показать что «мы тут аниме переснимаем», со всеми этими вставками сцен из оригинала. В итоге тебе им — оригиналом — тычут постоянно, тычут, а по смыслу фильм на несколько голов ниже. Всю философию вырезали, все проблемы ИИ, проблемы самоопределения  гг — вырезали к хренам или кастрировали так, что лучше бы и не было ничего. Сюжет теперь сводится к борьбе ГГ с корпорацией, которая обидела лично ее, а Кукловода заменили ее бывшим бойфрендом (к слову без какой бы то ни было необходимости и смысла вообще).

Каст неплохой, но сами персонажи плоскинькие и актерам там играть особо нечего. Боевка хорошая, но ничем особым не запоминающаяся (если исключить те самые заимствованные из аниме сцены).

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

5/10

Аквамен (2018)

А вот аквамен мне на удивление понравился! После трейлера, который мне показался крайне несбалансированным и шатающимся от типично дисишного пафоса до шуток про поссать, я от фильма не ждал вообще ничего хорошего. Однако ж по факту вполне развлекательное кино вышло. Почему-то мне напомнило по атмосфере Индиану Джонса, хотя такое сравнение в целом наверное некорректно. Хотя поиски артефакта — были, путешествие — лучшая часть фильма имхо… хотя и основная тоже, всякие угарные сражения — тоже в наличии. Вообще очень легкий фильм получился, я приятно удивлен. В нем можно попридираться к сюжету (в частности проблема выбора короля путем махыча — прямиком из черной пантеры и все так же вызывает много вопросов), но смотрится все бодро, красиво (местами очень даже красиво) и не настолько пафосно-натужно-масштабно-глобально как бывает в подобном супергеройском кино в целом. Очень понравился каст — буквально все персонажи сыграны годно и актеры подобраны как надо. Не понравился только братишка Аквамена, из которого получился злодей с какими-то совсем уж нечеткими мотивациями. Особенно в конце он совсем раскис и непонятно то ли он человеков не любит, то ли все из-за мамы — хрен поймешь, короче. Зато Черная Манта — действительно черный (лол, кек) и понятно почему злобится на аквамена! Вообще годный злодей! Мне кажется его даже можно сравнить со стервятником из «возвращения домой», хотя актерская игра и пожиже. И особенно приятно что сам аквамен тоже понимает почему манта на него злобится. В общем приятные такие противники.

7/10

Пол Ромеро в Москве

В субботу ходил на концерт Ромеро — композитора саундтрека Героев Меча и Магии. Очень крутой концерт, ост героев и сам по себе мегаэпичен, а живьем все это слушается вообще улетно. Хотя, конечно, можно немного попридираться — лично мне показалось что тему Fortress немного недожали — но никаких проблем со звучанием инструментов (на ютубах к прошлогоднему концерту писали якобы скрипок не слышно) мною замечено не было. Все жахало как надо и когда надо. Отдельный респект другу Ромеро, который сыграл на саксофоне, насколько понимаю, темы из четвертых героев (в основном игрались темы третьих).

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

 

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

 

В сети пока нет полной записи концерта (надеюсь она таки появится), но дающий более-менее полное представление вариант есть и в неплохом качестве.

Надеюсь это не последний заезд Ромеро к нам, хочу еще =)

Защита wordpress с помощью fail2ban

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

Вообще говоря, защита учеток вордпресса — это совсем отдельная тема, в которую можно погружаться и погружаться. Ботнеты ищут инсталляции ВП и стараются атаковать, как правило, с двух сторон: разумеется это wp-login.php — страница аутентификации с логином и паролем; и xmlrpc.php — кусок механизма для удаленного подключения и управления сайтом. Причем большинство атак приходится на вторую сторону, и в интернете куча инфы (копия) о том, как эту лавочку прикрыть, отрубив весь механизм. На самом деле это вполне дельная мысль, так как велика вероятность что удаленный доступ к сайту вовсе не используется, но если есть желание, например, постить через мобильный клиент вордпресса — он понадобится.

Но вне зависимости от отключения  xmlrpc, придется защищать и основную форму логона. Опять же тут можно (и нужно) возвести многоступенчатую защиту. Негрешно воткнуть капчу при помощи  WordPress ReCaptcha Integration, хорошей мыслью будет вообще запретить или ограничить регистрацию с логином и паролем, включив авторизацию через социальные сети (с этим поможет Social Login). Однако все неплохо, пока на сайт пытаются ломиться люди, но вышеупомянутые ботнеты любят атаковать с пачек IP-адресов, посылая частые запросы на аутентификацию, и тут я подбираюсь к сабжу…

Хотя на самом деле скажу еще одно: для блокировки пользователей, активно брутящих пароли, можно с помощью неплохого плагина для самого вордпресса — Limit Login Attempts Reloaded. Он вполне шикарен — ведет список IP, банит на установленный срок при превышении лимита попыток, умеет писать об этом в почту админа. Но в какой-то момент мне захотелось, чтобы такие айпишники не просто банились на уровне ВП, а выпиливались на файрволле — это более концептуальное решение, которое ко всему прочему разгружает сервер от левых запросов. Ну и конечно для такого типа задач есть готовое решение — демон fail2ban.

Оказывается прикрутить его к вордпрессу — проще простого.

Для начала нужно в папку «wp-content/mu-plugins» (если ее нет — нужно ее создать) положить файлик:

return_403_on_failed_login.php
 
  1. <?php
  2. /**
  3.  *  * Plugin Name: Return 403 on Failed Login
  4.  *   */
  5. function my_login_failed_403() {
  6.     status_header( 403 );
  7. }
  8. add_action( 'wp_login_failed', 'my_login_failed_403' );

Этот файлик, положенный в эту папку, будет постоянно работающим плагином, который нельзя отключить (папка mu-plugins — именно для таких). Суть его работы в том, чтобы при неудачной попытке залогиниться, в лог вебсервера сообщение о доступе к файлам wp-login.php и xmlrpc.php падало с 403й ошибкой. Это нужно чтобы отличать такие фейлы от простого запроса страниц. Выглядеть это будет примерно так:

 
 
  1. 143.255.155.196 - - [30/Apr/2019:09:11:01 +0300] "POST /wp-login.php HTTP/1.1" 403 2947 "https://qiwichupa.net/wp-login.php" "Mozilla/5.0 (Windows NT 10.0; rv:48.0) Gecko/20100101 Firefox/48.0"

Теперь нужно пошаманить с fail2ban.

Добавляем фильтр таких сообщений:

/etc/fail2ban/filter.d/wp-login.conf
 
  1. [Definition]
  2. failregex = <HOST>.*POST.*(wp-login\.php|xmlrpc\.php).* 403

Простая регулярка, которая выхватит IP из строки с 403ей ошибкой и нужными именами файлов.

Теперь настроим тюрьму:

/etc/fail2ban/jail.d/wordpress.conf
 
  1. [wp-mysite]
  2. enabled = true
  3. port = http,https
  4. filter = wp-login
  5. logpath = /var/log/nginx/mysite_access.log
  6. findtime = 600
  7. maxretry = 2
  8. bantime = 86400

Тут нужно обратить внимание на параметр logpath — он должен вести к аксес-логу вебсервера (apache или nginx, если он стоит перед апачем). Параметры findtime и bantime принимают значение в секундах, первый отвечает за интервал в который с одного айпишника должны упасть фейлы для срабатывания блокировки, второй — время бана. Так данный пример конфига отправит айпишник в бан на сутки, если с него за 10 минут прилетит больше двух неудачных попыток аутентификации.

Собственно и всё. Рестартим fail2ban, смотрим в /var/log/fail2ban.log — в нем должно быть написано что тюрьма запустилась, а спустя какое-то время, если на сайт полезли боты, и сообщения о банах должны появиться:

 
 
  1. 2019-04-30 00:42:10,120 fail2ban.jail : INFO Jail 'wp-mysite' started
  2. 2019-04-30 00:42:37,452 fail2ban.actions: WARNING [wp-mysite] Ban 119.160.136.138
  3. 2019-04-30 00:42:37,483 fail2ban.actions: WARNING [wp-mysite] Ban 143.255.155.57

Прекрасное далеко на английском

Внезапное сабж существует, и даже не фанатский! Ну не то чтобы авторский совсем, но сделанный по делу. В дополнение к японскому варианту пусть лежит тут.

Отдельное удовольствие получил от ебанутых каментов, начинающихся от «хочу обратно в СССР», оставленных, очевидно, людьми вряд ли старше 30ти, и заканчивающихся где-то в районе «и это америкосы спиздили, суки, детство моё осквернили!». Ну и конечно куда ж без людей с СПГС, объясняющих косяки перевода, очевидно возникшие из-за необходимости уложить перевод в стихотворный размер и всякое такое, заговорами психологов и прочих жидомассонов  ))

Билять, этих бы пациентов да в машину времени… Не, я так-то не против коммунизма, но только если он приходит под такую музыку и с понями, а иначе — нет, спасибо.

Написал поисковик для файлопомоек — pyFileSearcher

По работе нужно было внести ясность в постоянно убывающее место на файловых серверах, на которые пользователи любят сгружать всякий мусор, не относящийся к работе. Столкнувшись с такой необходимостью, полез искать софт и выяснил, что хотя индексаторов в целом довольно много, но они или перегружены функционалом и нацелены на домашнего пользователя — такие просто не справляются с большим объемом файлов; или являются какими-то безумными корпоративными системами, которые выглядят страшно шописец, ставятся как отдельный сервер с разворачиваемыми агентами и настраиваются так, что без поллитры не разобраться.

В общем, я решил что было бы прикольно написать что-то свое. Эту мысль я вынашивал наверное больше года, так как яжнепрограммист ну абсолютно, но вот прошел курс по гуям в питоне и подумал что надо бы попробовать че получится.

Получилось портабельное приложение, которое не обладает горой функционала, но во-первых умеет сожрать в себя 20 миллионов файлов, во-вторых — умеет искать по нужным в быту параметрам, таким как размер файла, тип, и — это важно — дате добавления в индекс. Строго говоря я не видел тулзов, которые бы сами запоминали время, когда файл был обнаружен. Да, у файла есть время создания и время модификации — и казалось бы их должно хватать для отфильтровывания новых файлов, когда мы хотим их найти. Но хрен там был, эти атрибуты ведут себя черт знает как — например файл притащенный с плеера может показать какой-нить 1700й год до нашей эры.

В общем ладно, это все лирика, вот что вышло:

Аскетично, но работает. Прожка может запускаться с ключом, который стартует сканирование, так что можно запускать его раз в сутки по шедулеру и потом смотреть — что же пользователи накидали за прошедшую неделю, нет ли свежих релизов с рутрекера ))

При скролле результатов отсутствующие файлы подсвечиваются красным, список можно сохранить в csv чтобы предъявить владельцу каталога на сервере или его начальнику =) Фильтры поиска можно сохранять (обычно мне нужны медиафайлы размером не менее, список расширений прилагается, в индексе появились за неделю)

Вся эта балалайка разумеется умеет работать под виндой, но и линукс не забыл (была бы макось под рукой, тестил бы код еще и под маком). В качестве базы данных можно использовать или sqlite, базы которого можно рожать прямо из проги, или подключиться к MySQL — мой случай, 20 лямов записей sqlite тупо не вывозит (собственно это проблема большинства несложных индексаторов, какие можно найти в инете)

В общем получилось такое промежуточное решение — простенькое и на скорую руку, не требующее воскуривания мануалов перед использованием, но и не умирающее от большого файлсервера. Да, поиск внутри файлов не умеет, как и кучу других плюшек, так что для домашнего использования скорее всего не пригодится, но мою задачу решает лучше чем что-то похожее, что я использовал (Locate32 — от его интерфейса и возможностей я отталкивался, но он с некоторой периодичностью терял конфиг, жрал под гиг оперативки из-за использования локальных баз, и был виндуз-онли. Хотя в целом прога более чем годная). Так что вот он, первый релиз: https://github.com/qiwichupa/pyFileSearcher/releases также залил на сурсфордж.

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