JavaScript: небезопасная изоляция скриптов
Я смотрю многие начинают задумываться об изоляции JavaScript, подключаемых в контекст страницы. Например, вы подключаете
Сейчас считается, что безопасным методом является
(function (window, alert) {
alert('Функция «alert» изолирована и доступ к методу из «window» теперь получить нельзя');
})({}, function (){})Это не правильно.
Такой вызов вас ни от чего не защищает, более того, можно запросто «восстановить справедливость» и получить изнутри такого скрипта доступ к оригинальному window:
<script>
(function(window, alert){
alert('Пичалька');
(function(){ with(this) {
alert('Уже всё хорошо');
}}).call(null);
})({}, function(){})
</script>В общем случае идея такой изоляции — плохая. Я не видел ни одного удачного примера подобной изоляции и не смог придумать его самостоятельно.
Помидорный сок
Я люблю томатый сок, больше любых других. Особенно с пряностями. Мне всегда казалось, что в стране моего детства, СССР томатный сок существовал всегда. Читая книгу Ильфа и Петрова «Одноэтажная Америка» узнал что это не так (действие происходит в 1935):
И, наконец, с опаской, не сразу начали пить обыкновенный помидорный сок, предварительно поперчив его. Он оказался самым вкусным и освежающим и больше всего подошел к нашим южнорусским желудкам.
Ильф и Петров
Два факта о вине, которые мне показались интересными
Из заметки о музее вина в Париже (ЖЖ Сергея Доли):
В то время, технология не позволяла наливать одинаковое количество вина в бутылки. Чтобы это скрыть, придумали колеретку или галстук — горлышко бутылки закрывали фольгой. (…)
Мы много раз слышали о «ванне из шампанского». На самом деле, обычно, набирают ванну с водой и сверху наливают пару бутылок шампанского. Был случай, когда «наш пацан» решил сделать ванну для своей любимой чиста из шампанского. Уж не знаю, сколько бутылок «Кристалла» на это ушло, но он не знал, что алкоголь прекрасно впитывается через кожу. В общем, как только его любимая села в эту ванну, она сразу скончалась от алкогольного отравления…
Добавлено позднее: про второе в комментариях написали, что это неправда.
В гугле меня забанили!
Похоже, моя внутренняя статистика слишком часто дёргала
Витамин Цэ и простуда
Вадим Макишвили рассказал в комментариях в «Ярушке» как именно действует витамин Це, который обычно употребляют при простуди. Для справки, Вадим по образованию врач.
Вы не в ту сторону думаете, когда ищете инфу про действие витамина С. В учебнике по биологической химии (Мед.Ин, 3 курс) есть незаметный абзац, который мало кто читает. Я бы и сам не прочитал его, если не преподаватель не акцентировал наше внимание на него.
Суть в том, что витамин С в огромной дозе
(3-6 грамм/сутки) резко уменьшает проницаемость сосудистой стенки. Всё :)Если выпить
3-6 грамм в начале болезни, когдатолько-только почувствовал симптомы недомогания, то есть шанс, что токсины из кровяного русла не проникнут массово через сосудистую стенку в ткань головного мозга, мышцы и другие важные органы. Если при этом еще много пить, наводнять организм литрами, то очень высок шанс, что токсины вымоются из русла (с мочой, извините), а за это время организм победит возбудителя.Вот почему в моей семье при первых симптомах мы закидываемся
6-ю граммами вит.С. А если болезнь развилась — не пьём его. А в чай добавляем лимон исключительно для вкуса: шоб не так противно было употреблять литры горячего питья.Покупаем конвалюту, в которой 12 таблеток по 0.5 гр.
Сразу 6 таблеток с большим количеством воды. Часа через
два-три-четыре (по настроению) следующие 6 таблеток.И много-много пить, всё равно что. В желудке получается всегда есть жидкость — стенки не раздражаются.
Теория разбитых окон
У меня в комментариях «Теория разбитых окон» в действии.
Настоящий бластер
В моём детстве, когда фантастика в СССР была на службе идеологии и вовсю популяризировала полёты в космос, было такое слово «бластер». Сейчас я его в книгах встречаю очень редко, именно поэтому, наверное, мне кажется, что «бластер» это слово моего детства, а заодно
Я не увлекался идейцами, хотя и знал, кто такие Фенимор Купер и «Чингачгук, Великий Змей», так что лук со стрелами мне хотелось
Продаёт эту красотищу предприятие ООО «Милленниум», правда со вчерашнего дня страница этого оружия из каталога
Как в детстве говорили, «зыкий пистик».
Добавлено позднее: мне тут Костя Коломеец напомнил немаловажный вопрос. Умеет ли эта вещица «пиу»?
У вас компьютер какого пола?
Шутка пару дней гуляет по интернету, я её только несколько улучшил — теперь компьютер сам называет свой пол и можно пускать из командной строки (программист я или копипастер?). Работает только на Windows.
Нажимаете Win+R (или просто запускаете из командной строки), копируете туда следующую строку:
mshta "javascript:close((V=(v=new ActiveXObject('SAPI.SpVoice')).GetVoices()).count&&v.Speak('Hello! I am '+V(0).GetAttribute('Gender')))"Потом нажимаете «Enter» и слушаете.
У меня оба ноута — девочки.
Синтаксис @font-face, совместимый с IE
@font-face {
font-family: 'MyFontFamily';
src: url('myfont-webfont.eot#') format('eot'),
url('myfont-webfont.woff') format('woff'),
url('myfont-webfont.ttf') format('truetype'),
url('myfont-webfont.svg#svgFontName') format('svg');
}У IE
Посмотрите на третью строку, видите там „#“? IE
Вот такой простой и красивый трюк.
Добавлено позднее: не все поняли. После решётки в адресе страницы идёт идентификатор внутри страницы. Эта часть на сервер на отсылается.
Купили ремонт в квартиру

Ура!
Стоимость (с материалами) — 9000 за м², я посмотрел на рыночные цены, это более, чем хорошо, учитывая гарантированное качество (которое даже можно потрогать руками, три квартиры на объекте уже с ремонтом).
Москва ✈ Казань ✈ Москва
С пятого по восьмое марта мы будем в Казани.
Летим на «ЮТэйр», это винтовые самолёты, поэтому время полёта на полчаса дольше обычного (и шума побольше), зато дешевле.
Петь и писа́ть
Вчера обнаружил, что могу (хоть и с небольшим напряжением) одновременно петь, слушая
Я буду жить в Бирюлёве
Название жилищного комплекса, где мы купили квартиру — «Царицыно». Так как рядом есть район «Царицыно», меня и многих других это ввело в заблуждение — я думал, что мы будем жить в царицынском районе.
Ничего подобного. На самом деле наш микрорайон относится к району Бирюлёво Восточное, в этом легко убедиться, если посмотреть на официальную карту этого района (тонкая красная линия — граница района, толстая красная — микрорайона):

Наверное это хорошо. Например, на экологической карте Москвы район Бирюлёво Восточное
В России отменили зимнее время
Президент РФ Дмитрий Медведев объявил об отмене в России перехода на зимнее и летнее время, сообщает РИА Новости.
По словам главы государства, россияне не будут переводить стрелки часов на час назад уже с осени 2011 года. О традиционном переводе часов в марте Медведев говорить не стал, поэтому, по всей видимости, 27 марта Россия в последний раз переведет часы вперед.
Цитата с «Ленты.ру». Ура. Год начинается хорошо.
Добавлено позднее: а ещё это значит, что надо будет обновлять весь софт и пересобирать все пакеты с программным обеспечением, которое учитывает переход на летнее и зимнее время. Гм. Но всё равно, год начинается хорошо.
Bogosort
Сегодня на собеседовании (я всё ещё ищу пайтонистов, ау) всплыли алгоритмы сортировки и я решил немного почитать на эту тему. Оказывается есть смешной алгоритм сортировки Bogosort, который на практике не применяется, а служит только иллюстративным целям:
Bogosort (также рандомная сортировка, сортировка ружья или обезьянья сортировка) является очень неэффективным алгоритмом сортировки. Её используют только в образовательных целях, противопоставляя другим, более реалистичным алгоритмам. Если bogosort использовать для сортировки колоды карт, то сначала в алгоритме нужно проверить, лежат ли все карты по порядку, и если не лежат, то подбросить колоду в воздух, проверить лежат ли теперь все карты по порядку, и повторять процесс, пока не отсортируется колода.
Я, для интереса, написал его на Пайтоне и поразвлекался с запускам на разных данных. Вот код, если интересно:
from random import shuffle
from itertools import izip, islice
def bogosorted(arr):
for x, y in izip(islice(arr, 1, None), islice(arr, 0, len(arr) - 1)):
if y > x: return False
return True
def bogosort(arr):
while arr and not bogosorted(arr):
shuffle(arr)
return arr
print bogosort([1, 1, 3, 2, 2, 2])Детские страхи
На «Лепре» вспоминают кого что пугало в детстве в фильмах. Я составил небольшой коллаж. Кто что вспомнит? Я помню почти всё. Специально сделал помельче, чтобы вспоминать было труднее.

Internet Explorer 9 RC
Вышел Internet Explorer 9 Release Candidate. Из значимых
Выход этого RC для меня печальное событие. Это значит, что в девятой версии не появится cache manifest, а я очень на это расчитывал. Это единственный браузер из современных, который не будет поддерживать эту интереснейшую технологию. Увы.
Галотерапия

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

Кому что интересно про перевод времени?
У меня в комментариях, на вопросы, касающиеся взглядов энергетиков на перевод часов, отвечает Дмитрий Батарин.
Декорации около Фирсановки
Ездили сегодня с друзьями смотреть на декорации ко второй части «Записок экспедитора тайной канцелярии» — небольшой городок, построенный специально для съёмок. С сожалению, территорию сегодня сдали страйкболлщикам, так что подойти ближе не удалось, пофотографировали издалека.





Малахов в аптеке

О, ужас! «Лекарства» по «рецептам» Малахова продаются в аптеке! Средневековье!
Пайтон обогнал PHP по популярности

Опубликован февральский рейтинг языков программирования. Пайтон обогнал PHP по популярности, кроме того, сильно сдал позиции Perl.
Зефир на костре
В американских мультфильмах часто вижу как персонажи на костре жарят нечто, что называется «зефир». Обычно это
Я долго не мог понять что это, так как в фильмах этого я почти не встречал, да и,
Вчера в магазине увидел «американский зефир для жарки», для интереса купил. Оказалось, что это действительно зефир, только не знакомый нам с детства, а, появившийся в последние годы, «резиновый» зефир (который, обычно, продают в виде разноцветных длинных «косичек»), нарезанный кусочками.
Пожарили его дома над конфоркой, получается на удивление вкусно. Важно только не давать ему загореться и не обжечься при употреблении. Кстати, именно этот же зефир американцы бросают в какао.
Подземный город под Новым Арбатом
Дело в том, что под Новым Арбатом существует подземный город минимум в три этажа, ниже я не спускался. Это коридоры с многочисленными комнатами, кабинетами, складскими помещениями. Все это распределено между теми заведениями, которые над ними находятся.
Нам, согласно нашему требованию, выделили небольшую комнатку, где с трудом могли разместиться на полу две ударные установки, усилители с колонками, контрабас и некоторые другие инструменты в футлярах, а в шкафу — костюмы и всякая мелочь.
— цитата из книги «Козел на саксе» Козлова Алексея.
Скиммер на дверях банка

На дверях некоторых банков есть считыватель — чтобы в нерабочие часы пускать к банкоматам только клиентов банка. Я никогда не задумывался над тем, что там может стоять скиммер. На фото — как раз такая модель.
Поясню на всякий случай, скиммер — устройство, которое, обычно, крепится к банкомату, маскируюсь под его часть, перед отверстием ввода карты. Когда вы вставляете карту в банкомат, она проходит через скиммер и информация с магнитной полосы карты считывается в память скиммера.
Будьте осторожны!
Минус ноль в JavaScript
Я, конечно, знаю, что JavaScript хранит числа по стандарту IEEE 754, но всё больше
Но вот о существовании минус нуля я
Но, оказывается, в редких случаях отрицательный ноль может себя проявлять иначе, чем ноль положительный.
Как вы можете получить минус ноль? Например, просто написав
Похоже, что в реальном коде минус ноль может проявить себя в двух вещах: делении и операции atan2, именно так его и можно отличить от положительного нуля:
function isNegativeZero(x) {
return x === 0 && (1 / x) === -Infinity
}
function isNegativeZeroToo(x) {
return x === 0 && Math.atan2(x, x) < 0
}Крутящаяся девушка
Была такая боянистая анимация — в кадре крутится рисованная девушка, утверждалось, что при определённом умственном усилии удаётся увидеть, что она крутится в другую сторону.
Как я не старался, мне это ни разу не удалось. А вот на этой анимации, пожалуйста, получается: смотришь на левую, потом в центр, на правую, потом опять в центр.

Анимацию я сильно ужал, чтобы она занимала поменьше, отсюда «снег» и небольшие искажения.
Кто в офисе?
Побывал сегодня на работе и, в перерыве между делами, написал небольшой скрипт на bash.
На оптимальность решений не претендую, конечно, всё равно основное время работы — это ожидание данных из сокета.
# Кто сегодня в офисе?
# private data vars
WAPIHOST='██████.██████-████.██'
SAPIHOST='█████.██████.██'
SAPI='/█████/██████.xhtml?██████████=█&█████_██=██'
# non-private data vars
WAPI='/where/%s'
NOW=$(date +%s)
function whereAreYou {
exec 3<>/dev/tcp/$WAPIHOST/80
echo -e "GET ${WAPI/\%s/$1} HTTP/1.0\nHost: $WAPIHOST\n\n" >&3
local DATA=$(grep -E '^.?$' -A1 <&3)
if [[ ! $DATA =~ 'VPN' && $DATA =~ 'updated_at' ]]; then
local date=$(echo $DATA | sed -E 's/^.*updated_at"[^"]+"([^"]+).+/\1/' | xargs -Io date -d'o' +%s)
if [ $(($NOW-$date)) -le 3600 ]; then
echo "$1 - $(date -d@$date +%k:%M)"
fi
fi
}
exec 4<>/dev/tcp/$SAPIHOST/80
echo -e "GET $SAPI HTTP/1.0\nHost: $SAPIHOST\n\n" >&4
while read -r line <&4; do
nick=$(echo $line | egrep -o "href='http://$SAPIHOST/\w+" | cut -b$((15+${#SAPIHOST}))-)
[ -n "$nick" ] && whereAreYou $nick
doneСухой закон и динамика убийств

Прежде всего, я не ратую за введение сухого закона. Многим людям нужны
Посмотрите на смертность от убийств за 1965—1999 гг. в нашей стране. Видите провал в 1985—87? Знаете что там? Там горбачёвский сухой закон.
P.S. На графике красная линия — женщины, синяя — мужчины.
28:00
Из воспоминаний одного айтишника о поездке в Японию:
Зашли в HUB, The English pub, который, если верить рекламе, работает с 17:00 до 25:00, а для японцев даже до 28:00 :)
Послушайте, это же реально отличная и простая идея — писать так время! В самом деле, если для тебя вечер ещё не закончился, какой же это час ночи? Это 25:00! Тогда и телепрограммы обретают осмысленность, у тех каналов, которые и по ночам вещают:

Кодеин запрещают
Федеральная служба служба по контролю за оборотом наркотиков (ФСКН) предложила запретить свободную продажу лекарств, содержащих кодеин.
На прошлой неделе стало известно, что минздравсоцразвития придерживается той же точки зрения и собирается вывести такие препараты из перечня безрецептурного отпуска, внеся в список лекарств, подлежащих строгому учету.
Проект постановления, ограничивающего безрецептурную продажу кодеинсодержащих препаратов, в самое ближайшее время поступит в правительство. Предполагается, что новый порядок вступит в силу с 1 мая.
— пишет «Российская Газета». Чтобы понимать историю вопроса, кодеин действительно обладает слабым наркотическим эффектом и входит в состав перечня наркотических средств, психотропных веществ и их прекурсоров, подлежащих контролю в Российской Федерации.
Только раньше его содержание в лекарствах регулировалось (законодательно устанавливалась максимальная доза), а теперь его предлагается запретить совсем. Значит, из свободной продажи должны исчезнуть:
Наше правительство борется с врагом пострашнее, чем алкоголь — с таблетками от головной боли и сиропами от кашля!
Thanks for ruining my childhood
Ролик про копипаст в студии Диснея:
Москва ✈ Челябинск ✈ Москва
Багги



Ездили сегодня в посёлок Путилково, кататься на багги. Холодно, но интересно — сильно заносит на трассе (местами там лёд). Багги машина лёгкая, но очень устойчивая, я видел как сотрудники лихо кружились на ней на одном месте, газуя по полной.
Поводил на хорошей скорости в заносе, руль приходилось выкручивать
Находится по адресу Путилково, Путилковское шоссе, владение 112А (автодром «
Добавлено: мне в лично разговоре задали несколько вопросов. Отвечаю всем сразу: багги заднеприводные, права не нужны. Есть детские машинки.
Советское
































Я считаю себя человеком, не подверженным ностальгии. Со мной это приключается исключительно редко, пожалуй, за всю жизнь было не более пары раз.
Тем не менее, мыслями я люблю бывать в прошлом, особенно я благодарен памяти за неожиданные флешбеки, когда вспоминается
Спасибо Александру Сенникову за то, что он помог мне найти в своей памяти много добрых, забытых воспоминаний детства. Бумажный дед Мороз, те самые фотоальбомы, письмо авиапочтой, перьевые ручки, «лимонные дольки», машинка
Какой же это труд, наверное, найти все эти предметы, сделать из них натюрморт, правильно сфотографировать. Завидую такой увлечённости.
Сходите по ссылке на журнал, фотографий там значительно больше.
Андроид 2.3.3
Обновил свой Nexus One, поставил Андроид 2.3.3, устал ждать когда прилетит «по воздуху», сделал всё вручную (на сайте «Droider» есть инструкция).
Стало всё заметно аккуратнее. Такое чувство. Вернулся на родную для ОС клавиатуру, по внешнему виду нравится больше, чем Swype, хотя Swype и удобнее.