Почему молоко киснет во время грозы?

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

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

  1. Во время грозы в воздухе образуется озон (трёхатомный кислород). Кислород является окислителем, а озон, появляющийся во время грозы, – соединение неустойчивое и быстро разлагается на кислород и атомарный кислород, который в свою очередь вступает в реакцию со всем, что попадется, в том числе и с казеином молока. В результате казеин (а это в основе кальций) теряет отрицательный заряд, присущий ему в молоке, и прекращает предотвращать выпадение в осадок жира.
  2. Причина связана с «сфериксами» – длинноволновыми электромагнитными импульсами. Кальций в молоке спонтанно переходит из связанного состояния в ионное и вступает в реакцию с белком, вызывая его сворачивание.
  3. При грозовом разряде происходит резкое снижение электростатического поля в результате чего происходит денатурация белков, входящих в состав молока (молекулы белка теряют свою форму, то есть, разворачиваются). За поддержание структуры молекулы белка несут ответственность несколько типов взаимодействия, включая кулоновское (притяжение зарядов, противоположных по знаку). Возможно, оно нарушается во время грозы вследствие «наэлектризованности воздуха». Увеличение этого параметра способствует ослабеванию притяжения зарядов и молекула белка разворачивается, а молоко сворачивается.
  4. Во время грозы в молоке повышается концентрация перекиси водорода, т.к. звук вызывает небольшое подкисление (ударяя по молекулам воды и нарушая водородные связи).

[Решение] Let's Encrypt, Nginx и 403 ошибка

При ручном получении / продлении сертификата для домена на сервере с Ngnix может возникнуть ошибка 403 Forbidden при обращении к проверочному файлу:

Make sure your web server displays the following content at
http://site.com/.well-known/acme-challenge/xOtn064NspTWyHkbp6EOM140COWK82PW3v7sOf87kM8 before continuing:

xOtn064NspTWyHkbp6EOM140COWK82PW3v7sOf87kM8.wDLw7SyOVXqZ6Ky635Vc9rgUXobw2uLFgM5S9AukTrk

If you don't have HTTP server configured, you can run the following
command on the target server (as root):

mkdir -p /tmp/certbot/public_html/.well-known/acme-challenge
cd /tmp/certbot/public_html
printf "%s"xOtn064NspTWyHkbp6EOM140COWK82PW3v7sOf87kM8.wDLw7SyOVXqZ6Ky635Vc9rgUXobw2uLFgM5S9AukTrk > .well-known/acme-challenge/xOtn064NspTWyHkbp6EOM140COWK82PW3v7sOf87kM8
# run only once per server:
$(command -v python2 || command -v python2.7 || command -v python2.6) -c \
"import BaseHTTPServer, SimpleHTTPServer; \
s = BaseHTTPServer.HTTPServer(('', 80), SimpleHTTPServer.SimpleHTTPRequestHandler); \
s.serve_forever()"
-------------------------------------------------------------------------------
Press Enter to Continue

Waiting for verification...
Cleaning up challenges
Failed authorization procedure. bulkin.me (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://site.com/.well-known/acme-challenge/xOtn064NspTWyHkbp6EOM140COWK82PW3v7sOf87kM8: "<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>"

В этом случае в конфиге Nginx необходимо прописать следующий location:

location ^~ /.well-known/acme-challenge/ {
allow all;
default_type "text/plain";
}

После перезапуска Nginx (/etc/init.d/nginx restart) ошибки доступа к проверочному файлу уже не будет.

Text track from origin has been blocked from loading

Если вызываемый HTML-плеер находится на одном домене, а, к примеру, подключенные к нему субтитры – на другом, то при попытке воспроизведения видео может появится ошибка, из-за которой субтитры не будут отображаться:

Text track from origin 'https://domain1.com' has been blocked from loading: Not at same origin as the document, and parent of track element does not have a 'crossorigin' attribute. Origin 'https://domain2.com' is therefore not allowed access.

Решение:

В тег <video> необходимо добавить атрибут crossorigin="anonymous".

Про стрижку в Chop-Chop

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

С середины прошлого года решил сменить заведение на более профессиональное и разрекламированное – Chop-Chop. Расценки у них следующие: стрижка машинкой – 600 рублей и 1600 рублей за стрижку ножницами. Один раз выбрал стрижку ножницами, но сильно пожалел потраченных денег – работа ножницами заняла порядка полминуты и только сверху, все остальное под машинку. Давным-давно был как-то в салоне Orange (женский салон красоты, но стригут и мужчин), так там стрижка ножницами занимала порядка 40 минут, и стоило это 900 рублей.

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

На днях вновь посетил их, попросив парикмахер сделать стрижку машинкой, по бокам и сзади с переходом от нуля до 3 мм, а сверху оставить 1,5 - 2 см. Товарищ сказал, что просьбу понял и принялся к работе. Взял машинку, поднес к краю головы, уточнив еще раз – "3 мм, правильно?" Я ответил утвердительно, думая, что сейчас будут стричь бока, однако машинка прошлась по верху головы (!!!) Это было сделано так быстро, что я не успел ничего сказать. В итоге, стрижка закончилась полным разочарованием – вся голова под 3 мм.

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

Как Яндекс борется с нелегальным видеоконтентом

Ответ – никак.

1 января 2017 года состоялась премьера четвертого сезона британского сериала "Шерлок". До 18 января эксклюзивными правами на показ на территории России имел "Первый канал", выкладывая эпизоды на своем сервисе kino.1tv.ru, после – другие крупные онлайн-кинотеатры России (Amediateka, Megogo, IVI).

Попробуем сегодня, 22 января, в поиске Яндекса найти "Шерлока", чтобы его посмотреть:

Запрос: "Шерлок Холмс 4 сезон"

Выдача: из 10 первых результатов – 9 ресурсов являются пиратскими (на своих площадках нелегально размещают видеоконтент), и один ресурс – информационный (Википедия). Ни один из легальных сервисов, на которых доступен для просмотра "Шерлок", не представлен даже на первых 10 страницах результатов.

Пруф:

В итоге, я вроде как и готов был заплатить за просмотр "Шерлока", но ткнул по первой же ссылке в выдаче, и смог посмотреть бесплатно. Легальные же ресурсы недополучили дохода.

Материал по теме: ссылка

Шеф, у нас протечка. Шерлок слит.

В субботу, 14 января, почти за два дня до мировой премьеры заключительного третьего эпизода "Шерлока" (речь про четвертый сезон), в сеть попала копия видео от "Первого канала", которая должна в дальнейшем появится в онлайн-кинотеатре Кино1ТВ.

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

Сумма штрафа со стороны BBC за данный инцидент, без сомнения, будет ощутимой, но куда больший ущерб нанесен по репутации не столь самого Первого канала, сколько по всему российскому медиа-сегменту.

UPD: "Первый канал" огласил причину инцидента, возложив вину на сотрудника компании, нарушившего "протоколы безопасности", в результате чего третий эпизод оказался залит на Google Drive.

Fail2ban – блокировка IP с занесением в черный список

По умолчанию Fail2ban блокирует IP-адреса, которые попадают под условия бана, на время, заданное в файле jail.conf. По истечение данного времени IP-адрес разблокируется, и с него вновь могут начать поступать запросы.

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

Для этого создадим файл "черного списка", куда впоследствии будут заносится IP-адреса:

touch /etc/fail2ban/ip.blacklist

Затем в файле /etc/fail2ban/action.d/iptables-multiport.conf обновим директивы actionban и actionstart:

actionban = iptables -I fail2ban-<name> 1 -s <ip> -j DROP
            echo <ip> >> /etc/fail2ban/ip.blacklist
actionstart = iptables -N fail2ban-<name>
              iptables -A fail2ban-<name> -j RETURN
              iptables -I INPUT -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
              cat /etc/fail2ban/ip.blacklist | while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j DROP; done

Перезапустим сервис:

service fail2ban restart

Материал по теме: ссылка

Переход сервера на Debian Squeeze

Было:

# lsb_release -a
Distributor ID:	Debian
Description:	Debian GNU/Linux 7.11 (wheezy)
Release:	7.11
Codename:	wheezy

Стало:

# lsb_release -a
Distributor ID:	Debian
Description:	Debian GNU/Linux 8.6 (jessie)
Release:	8.6
Codename:	jessie

Избавился от Apache 2, остановившись на связке Nginx + php-fpm.

Попутно настроил использование протокола HTTPS.

[Git] Автодополнение команд

Чтобы использовать автодополнение вводимых git-команд через клавишу TAB, необходимо скачать скрипт git-completion.bash и сохранить его в любом месте. Затем в файле .profile (располагается к корне домашней директории) прописать до него путь:

# Git command completion
source /<директория>/git-completion.bash

После перезапуска оболочки, автодополнение начнет работать.