Заметки в категории Other

Amazon AWS

Мне очень нравится работать с Amazon AWS. Особенно если эта работа происходит с помощью Packer и Terraform. Эти инструменты позволяют формировать инфраструктуру быстро и непринужденно.

Но в этом есть подводные камни.

Всегда надо читать условия использования сервиса Amazon, т.к. там могут быть существенные ограничения, например, на скорость доступа к сервису. Потом может быть больно. ;)

Еще раз - всегда читайте то, что пишет Amazon о сервисе и условия предоставления услуги. Яркий тому пример - Amazon EFS.

Есть ли жизнь с Chrome

Поскольку у меня в ноуте памяти 16 ГБ решил попробовать перейти таки на Google Chrome.

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

Ну и заодно посмотрим что там поменялось за последние 5-6 лет, которые я его не использую.

Дайвинг - больше, чем просто хобби

Съездили с женой в отпуск и она подарила мне курс CMAS One Star Diver. Это такой аналог PADI Open Water Diver.

Прошел курс, успешно сдал экзамен (теория + практика). Т.е. теперь я сертифицированный дайвер. :)

Я и до этого погружался до 12 метров. Было вполне нормально. Но сертификация дала возможность структурировать разрозненные знания. Плюс к этому - новые знания о планировании погружений, как действовать в ситуации окончания воздуха в баллоне...

Очень интересно, немного экстримально и очень красивые глубинные ландшафты и обитатели подводного мира.

После окончания курса, так уж вышло, сразу пришлось воспользоваться знаниями и возвращаться на октопусе buddy. :) Слишком много дышу под водой.

Всячески рекомендую всем подобный курс. Это очень интересно и познавательно. Плюс сообщество дайверов - это отдельная тема. ;)

Несколько деталей о регулярных выражениях

Несколько простых, но не всегда очевидных вещей о регулярных выражениях:

Регулярные выражения не просты.

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

Регулярные выражения - это не символы подстановки из командной строки.

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

Регулярные выражения - это как небольшой язык программирования.

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

Классы символов - это маленький язык внутри регулярных выражений

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

Certificate Authority Authorization

В 2013 году появился черновик стандарта RFC6844, который был призван улучшить безопасность выдаваемых SSL сертификатов с помощью DNS записей. Это предлагается делать с помощью специальных ресурсных записей Certificate Authority Authorization (CAA).

В них перечисляется список доверенных центров сертификации, которым позволено выдавать сертификаты на домен.

Т.е. если в домене установлена запись типа:

example.com. IN CAA 128 issue 'letsencrypt.org'

то никто, кроме letsencrypt.org не в праве выдавать сертификаты на этот домен.

Есть еще расширение issuewild, которое говорит о том, кому разрешено выдавать wildcard сертификаты.

На данный момент не многие центры сертификации поддерживают эти записи, но дело все таки движется.

Из DNS серверов эти записи поддерживают многие, но в различных форматах. Bind9, например, поддерживает стандартную запись, которая указана выше, только с версии 9.9.6. Все версии до этого поддерживают только TYPE257.

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

Блокировки и Яндекс Метрика

В связи с блокировками сервисов Яндекса в Украине Яндекс.Метрика предлагает заменить в коде счетчика URL, с которого будет грузиться javascript.

Вместо:

s.src = "https://mc.yandex.ru/metrika/watch.js";

надо прописать:

s.src = "https://d31j93rd8oukbv.cloudfront.net/metrika/watch_ua.js";

После этого все будет работать как прежде.

При этом для доступа к веб-интерфейсу предлагается использовать Tor сеть или VPN/Proxy сервисы.

Блог в сети Tor

Сделал то, что давно хотел попробовать. Опубликовал этот бложик в сети Tor. Баловство, конечно. Но опыт интересный. Довольно все просто и легко.

В общем, кому хочется быть аноном, вам сюда - ampnckidnqwtd7ry.onion

Дуглас Адамс и таблица ASCII

Если вы не читали книги "Автостопом по галактике" и даже не смотрели экранизацию в виде фильма, то стоит это сделать прямо сейчас. Отличный юмор и прекраснейший сюжет. :)

"Ответ на главный вопрос жизни, вселенной и всего такого" - это стало легендой и абсолютно все, кто смотрел/читал эти произведения сразу отвечают "42".

Казалось бы, а почему 42, а не 43, 34 или на худой конец 24?

Но ответ очень прост. Достаточно вспомнить, что Дуглас Адамс был приверженцем технического прогресса, а значит увлекался современными технологиями (компьютерами). Если предположить, что Дуглас Адамс знал о существовании регулярных выражений и ASCII таблице, то многое становится очевидным.

Поищите какой символ стоит в ASCII под номером 42. Думаю, что вы будете удивлены и порадуетесь очередной шутке великого автора. ;)

Отказ от соцсетей

Павел Дуров разродился призывом откааться от социальных сетей. Если вы еще не видели, то я процитирую его:

Друзья в социальных сетях – явление из 2010 года. Все, кто нужен, давно в мессенджерах. Поддерживать устаревающие списки друзей в публичных сетях бессмысленно и долго. Читать чьи-то новости – засорение мозга.

Чтобы расчистить место для нового, нужно не бояться избавляться от старого багажа – устаревающих идей, представлений, связей, мест работы.

Говорят, что лучшее – враг хорошего. Но верно и то, что хорошее – враг лучшего. Единственная преграда на пути к лучшему – это цепляние за то хорошее, что уже есть.

В принципе, я с ним согласен и сам давно отказался от большинства социалок. Только вот Twitter и Instagram остались. Ну и еще LinkedIn, в качестве "профессионального лица". :)

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

PHP7 и Wordpress W3 Total Cache plugin

Вернулся я на Wordpress и сразу на PHP7. По старой привычке поставил W3 Total Cache, но он стал выдавать Warning внизу каждой страницы:

Warning:  Parameter 1 to W3_Plugin_TotalCache::ob_callback() expected to be a reference, value given in /var/www/wp-includes/functions.php on line 3297

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

curl https://gist.githubusercontent.com/DmitriyLyalyuev/9fd64536f4bab4c02f83/raw/35a578ae5ecf71a480d3fdf58cfb27dec6b8bf86/w3tc-php7.patch | patch -p0

Чтоб не быть обвиненным, что патч что-то ломает (да, Тим? :) ), выкладываю его в "сыром" же виде:

--- wp-content/plugins/w3-total-cache/lib/W3/Plugin/TotalCache.php  2015-11-20 11:19:10.595861000 +0300
+++ wp-content/plugins/w3-total-cache/lib/W3/Plugin/TotalCache.php  2015-11-20 11:18:09.859861000 +0300
@@ -509,7 +509,7 @@
      * @param string $buffer
      * @return string
      */
-    function ob_callback(&$buffer) {
+    function ob_callback($buffer) {
         global $wpdb;

         if ($buffer != '') {