С первым апреля!
Если бы инопланетяне
Я не люблю этот «праздник». Даже серьёзные издания, на которые я подписан
CSS sprites, data URI
CSS sprites, data URI+mhtml, склейка CSS с JavaScript. Что ещё придумают
Например, в FireFox есть прекрасно подходящий для этого протокол «jar» (а в Internet Explorer немного похожие на него «mhtml» и «res»). Этот протокол стал известен массам в основном благодаря уязвимости, которая работала через него.
URL выглядит как «jar:http://sample.org/file.jar/folder/file.png», где «http://sample.org/file.jar» — путь
К сожалению, FireFox сейчас сделать так не позволит, а жаль (так они залатали уязвимость).
Тёма — виртуал Воробья?
У меня в последние пару недель ощущение, что Тёма взял в соавторы своего дневника в ЖЖ умницу Анатолия Воробья. Потому что, кроме обычного тёминого стрёмного гонева и поливания гамном, стали появляться вежливые посты, оформленные совсем другим языком. А два предпоследних поста вообще про программирование и шахматы, что для Воробья более, чем характерно.
Позднее: Костя в комментариях сказал, что Воробей и Лебедев первого апреля поменялись журналами на день.
eGo Helium

Мы довольны. Хотя скрепка на фото с сайта производителя в несколько раз больше обычной канцелярской.
Псевдофакты: сердце слева

Тёма недавно
Один из лжефактов, которые раздражают меня — «сердце находится слева», потому что люди довольно часто, со словами «сердце болит», прикладывают руку
Люди воспринимают слова врачей слишком буквально: как будто сердце находится сразу за левой сиськой. Я узнал, что это не так ещё в начальных классах, когда увидел собственный рентген сердца. Хочу открыть сейчас эту истину тем читателям, которое этого не знают (а так же прогуляли то занятие анатомии или никогда не задумывались почему на уроках по оказанию первой помощи руки, при массаже сердца, кладут на середину груди).
Сердце находится чуть слева от середины грудины и несколько ниже, чем то место, куда обычно кладут руку при болях. Я на фото нарисовал две примерные линии: вертикальная — позвоночник, горизонтальная — уровень подмышек, чтобы было легче найти сердце на себе.
Теперь вы знаете куда надо класть руку, когда «колит сердце».
P.S. Сподвигла меня на написание этого поста картинка на сайте студии Лебедева в разделе «Понос».
P.P.S. Уже после написания я подумал, что не все смогут найти сердце, если никогда не видели его рентгена. Сердце — белый мешочек, начинающийся с перекрестия, и «лежащий» на белом большом внизу фото.
Наверное, так же стоит упомянуть о том, что примерно у одного из десяти тысяч сердце располагается ближе к правой стороне (а печень у них слева). Это называется «транспозиция внутренних органов», декстрокардию писать не буду, если интересно, можно посмотреть в «Википедии».
Про технологии и чудеса
«//» в ссылках
Как известно, в вебе, в подавляющем большинстве случаев, для адресации ресурсов применяются HTTP или HTTPS протоколы. Как вы понимаете, я не Капитан Очевидность, так что за этим последует
Бывает так, что одна и так же страница должна быть видна по обоим протоколам (например, у нас в интранетах такое бывает часто). В зависимости от того как пользователь зайдёт.
То, что я скажу дальше NDA не является, например, об этом рассказывал Олег Оболенский
В итоге, когда человек заходит на страницу, ему грузится ещё и CSS с другого сайта, внутри которых могут быть абсолютные (с протоколом) пути, которые подгружают картинки. Если человек зашёл по HTTPS, то и всё остальное должно отдаться по HTTPS (иначе, например, Internet Explorer заругается), если он зашёл по HTTP, то всё должно отдаваться по HTTP (HTTPS нагружает сервер и вообще отдаётся по шифрованному протоколу всё заметно медленее).
Как это реализовать? Как менять протокол, в зависимости от протокола страницы, если CSS, который грузится статичен и менять пути внутри него не получится? Делать два отдельных CSS?
Есть способ проще.
Откуда я о нём узнал, я не помню.
Способ заключается в том, чтобы не указывать протокол. Выглядит такой URL вот так: «//example.net/picture.jpg» и описан в RFC 1738 как «Common Internet Scheme Syntax»:
While the syntax for the rest of the URL may vary depending on the particular scheme selected, URL schemes that involve the direct use
of an IP-based protocol to a specified host on the Internet use a common syntaxfor the scheme-specific data://<user>:<password>@<host>:<port>/<url-path>
Смысл в том, что в таком указания без протокола должен использоваться текущий тип протокола. Таким образом, хорошее решение — просто всегда указывать полный URL в таком виде.
Ксения Возняк
В отличие
от Линукс-фанатов и яблочников, Windows пользователи не стараются сделать из использования своей системы культ и уж тем более не превращают факт потребления услуг, предоставляемых системой, в свой личный подвиг. Поведение же большинства линуксоидов иначе как аггресивным снобизмом назвать нельзя.Яблочники — это вообще гламурные кисо в мире ИТ…
Говорит нам товарищ Yeah с «Хабабры» и я с ним совершенно согласен. Вот что меня смущало во всём этом поклонении яблочной продукции — её фанаты всё время рассказывают какая пусечка их любимый гаджет и чему он научился с прошлого апдейта.
Я, вот, до сих пор не знаю всех новых клавиатурных комбинаций в Windows 7 (хотя работаю на ней не первый месяц), да и весь объём нововведений не представляю. Но будьте уверены, как только у «Эппл» выйдет новое кошачье (тут я какбэ намекаю на названия Mac OS X, для тех кто не в курсе), они заучат все новые комбинации, в деталях разберут все новые возможности и расскажут всем про все няшные плюшечки.
А так, по отдельности, они нормальные ребята, ага.
Ну, и чтобы два раза не вставать…
iTunes — гавно, гавно, гавно, пользоваться iTunes — стыдно! Стыдно! Пользоваться iTunes — стыдно! (надеюсь, сработает).
Windows 7: repair screen
Ну, раз так, давайте я

Кардинальное различие в том, что когда раньше Windows
Видимо, сейчас (по крайней мере, если физически всё исправно и загрузочный сектор винта цел) ничего такого не надо. Ура.
P.S. Чтобы не гадали
Мне интересно, что бы мне потребовалось сделать, если бы у меня сломался (единственный)
Век живи, век учись, от нехватки памяти умрёшь
Наступил недавно на отличные питонячьи грабли. Хорошие такие, массивные, со специальными шипами на рукоятке.
Есть модуль, внутри него происходит fork — внутри потомка изолируется libmapi, у которой нещадно течёт память. Модуль используется внутри программы, которая перехватывает все exceptions (!). Знаю, что это неправильно, но она это делает в режиме отладки, для отладки и используется.
Загвоздка в том, что
sys.exit пораждает иключение и выходит с его помощью. Если
Libmapi: размер поля

Вот чем я занимался сегодня большую часть рабочего дня: вручную декодировал события, на которых свалились тесты, побайтово. В отличие от машины, я способен распознавать данные по их внешнему виду, например, вижу границы nttimestamp или вижу где начались буквы. Машина без посторонней помощи это не умеет, а потратить времени на помощь ей можно очень много.
Вывод, кажется, такой: в документации от Microsoft поле ReminderSet имеет тип boolean и размер 8 бит, вот по данным кажется, что оно
P.S. Пока тесты не падают. Значит размер поля ReminderSet в структуре ExceptionInfo действительно 32 бита (это структура внутри PidLidAppointmentRecur).
О5 25: JavaScript — не Java!
Ллео, +1, зачетно обосрал JS ))) Ненавижу javascript, а еще заточку на кроссбраузерность, где код JS вырастает раза в 3
из-за разных браузеров. Говно это. Кастрат Java. Долой JS!
Пишет у Каганова в блоге
Ну и про «заточку на кроссбраузерность». Так уже давно никто не делает (если не считать
Teamicide — командтоз?
Они вбивают клинья между членами коллектива, часто
из-за зависти, что ДеМарко (DeMarco) и Листер (Lister) называют непереводимым термином teamicide (team — команда, а teamicide — созвучно suicide — самоубийство): непреднамеренный развал ранее сплочённых команд
Из перевода статьи Джоеля Спольски «О вреде премирования».
Такой уж и непереводимый? Я его предлагаю перевести как «командтоз». Достаточно очевидно или надо расшифровать?
P.S. Кстати, хорошая, на мой взгляд, статья про премирование (у Спольски
P.P.S. Смирнов убивает лулзы!
Часть правды о бытовой химии
Цитирую целиком, ибо мне это кажется достаточно важным:
- Шампунь по составу мало чем отличается от геля для душа, поэтому они легко заменимы.
- Страна производитель — важный показатель качества. Fructis российского производства и французского — разные шампуни. Для развивающихся стран используются более дешевые ингредиенты в меньших количествах (все остальное — вода), производства EU находится под более строгим контролем (меньше риск, что в бадью с вашей любимой помадой упадет бидон с казеиновым клеем, что случается), в Европе строже стандарты качества. Другими словами, для EU делают более дорогой и густой шампунь, чем для российского рынка. Поэтому покупайте то, что сделано в Европе для европейской компании.
- Читайте этикетки. Состав продукта перечисляется по убыванию массы ингредиентов. Например, если написано: «Состав: вода, сода, соль…
какие-то непонятные слова….масло виноградных косточек точка», это значит, что на 99% ваш шампунь состоит из воды. Масло виноградных косточек туда тоже попало, но в виде трех капель на мегатонную бочку. Если описание состава вашего любимого крема для рук начинается со слов «вазелин, парафин», то выбросьте его в форточку и купите банку вазелина. Скорее всего, кроме этих двух ингредиентов и пары отдушек, закодированных в латинские названия, там ничего нет. Да, кстати, как это ни прискорбно, бомбочки для ванн LUSH на 99,9% состоят из соды, поэтому их себестоимость — порядка 30 центов (при цене 300 рублей). Там есть еще пару капель эфирных масел и отдушки, но проще сделать такие бомбочки самим.
- Уважаемые родители, стиральные порошки «Аистенок» и «Ушастый нянь» сделаны в России (читайте второй пункт). «Ушастый нянь» сделан на фабрике «Невская косметика», что,
вообще-то, уже лет 30 как не внушает доверия, «Аист» сделан на неизвестном российском производстве. По составу эти порошки ничем не отличаются от «взрослых порошков» — это все простой маркетинг. Покупайте для своих детей жидкие концентраты, сделанные в Европе.
- Любой стиральный порошок на 80% состоит из балласта, чтобы радовать покупателя большой коробкой. И, кстати, вот эти синенькие и красненькие точечки в стиральном порошке — тоже балласт, а вовсе
не какие-то мифические активные вещества. Покупайте жидкие концентраты — это экономичнее, они не так вредны для природы как порошки, которые попадают в водоемы и рушат экосистему.
- Ополаскиватели для цветного и белого белья по химическому составу идентичны. Различаются только этикетками.
- Самый большой обман в том, что стиральные машинки ломаются от накипи и поэтому надо покупать Calgon. Не верьте! Машинки от этого не ломаются, а стиральный порошок Calgon ничем не отличается от других.
- Грустная новость для российских защитников животных: если на товаре написано, что он не тестировался на животных, это не значит, что в России не пострадал ни один кролик. Дело в том, что для выхода на российский рынок любой косметический продукт должен пройти миллионы СанПинов, которые были придуманы
в 70-80х гг. в СССР, в том числе, пробы на животных. Их никто не отменял даже для Green Mama и Body Shop. Другое дело, что компания может не проводить эти тесты самостоятельно, а отдать свою тушь российскому подрядчику, который и будет закапывать эту тушь в глаза кролику, пока его сетчатка не покраснеет.
Девушка, парень которой долгое время работал на косметические компании и компании, выпускающие бытовую химию, делится откровениями. Про «Калгон», кстати, подтверждаю, я сам
В домашнем интранете кто-то неправ!
Моя жена обживает интернет просто семимильными шагами. Не в том смысле, что она его раньше не видела, а в том смысле, что в понимании сетевой культуры, которая её раньше не интересовала, она сильно продвинулась и уже начала переносить её понимание в реальную жизнь. В доказательство, диалог, который произошёл только что:
— Марин, я уже кушать хочу! — Солнце,… я кушать хочу больше тебя, (с угрозой) ты хочешь со мной об этом поспорить?
Python 2.4 не освобождает память
Как я уже не раз говорил, libmapi нещадно течёт. Я сейчас работаю с версией из транка,
Поэтому я изолирую libmapi в отдельном процессе, получаю данные, пока могу и отдаю их «наверх» — родителю, потом делаю новый процесс и получаю следующую пачку. Для того, чтобы отдать данные родителю я использую os.pipe, а данные туда можно передавать только строкой. Так как данные у меня сложные, я их сериализую при помощи cPickle, а для сериализации нужна память.
Где взять память, если всё, что было доступно процессу, съела libmapi? Я пытался выделать память при помощи list(range(20 * 1024 * 1024)), а перед сериализацией удалять, но это не работало. Сегодня я узнал почему. Оказывается Python до версии 2.5 никогда не освобождает память. У меня как раз Python 2.4, приехали.
P.S. Чтобы предотвратить вопросы для чего я делаю list(range(…)), расскажу сразу: для совместимости с Python 3.0, на который мы все
Добавлено позднее.
Я сейчас немного поисследовал, сделал замеры и выяснил, что если обращаться к аллокатору памяти Python напрямую (например, через ctypes), то память возвращается:
from ctypes import *
mem = pythonapi.PyMem_Malloc(c_size_t(100*1024*1024))
pythonapi.PyMem_Free(mem)libmapi: насколько всё запущено
Похоже, что если некоторая задача программирования достаточно сложна, то рано или поздно Microsoft обязательно напишет API, упрятывающий все неудобства и сложности за простым в использовании интерфейсом.
Однако к MAPI это отношения не имеет
Цитата из книги «Основы MAPI» Ирвинг де ла Круз, Лес Талер, вырванная из контекста.
Opera и document.all
«Опера» в одно время пыталась притворяться Internet Explorer’ом — копировала его
var isIE = document.all && self.operaВпрочем, на Западе «Опера» не популярна, поэтому «Оперу» не исключают и считают её разновидностью IE.
Так вот, в последние годы «Опера» пытается открестится от своего «иешного» прошлого, например,
В новых «Операх» конструкция alert(document.all ? 1 : 0) выдаст «0», тогда как alert(document.all) — «[object HTMLCollection]». Сделано понятно для чего: обратная совместимость не ломается, но проверка «не IE ли» теперь уже выдаёт false.
Госпожа Бовари смотрела много голливудских фильмов
Я тут на днях начал читать великолепную (по моим ощущениям) «Госпожу Бовари» Гюстава Флобера, там Бовари чувствует себя потерянной в жизни
Там было все про любовь, там были одни только любовники, любовницы, преследуемые дамы, падающие без чувств в уединенных беседках, кучера, которых убивают на каждой станции, кони, которых загоняют на каждой странице, дремучие леса, сердечные тревоги, клятвы, рыдания, слезы и поцелуи, челны, озаренные лунным светом, соловьиное пение в рощах, герои, храбрые, как львы, кроткие, как агнцы, добродетельные донельзя, всегда безукоризненно одетые, слезоточивые, как урны.
Так вот: не Голливуд виноват. Это всегда было. И Донцову не надо обвинять. В конце концов, не она же эти книги пишет, да и покупает у себя их не она.
Доступ по паролю
Большое заблуждение, считать, что http://user:password@example.org/ и http://example.org/user/password/ сильно различаются. Ничего подобного. Единственное различие между ними, что если набрать второй адрес руками, то он останется в истории браузера. Для AJAX’а более пригоден второй путь — «logout» делать сильно проще.
Необходимое замечание: речь, конечно же, идёт
Итак http://example.org/jfdhfjhrtjktjkfhdjht/ это вполне себе парольный доступ.
Интранет-вики
Мнение о том, что использование
Определение UTF-8 на чистом Perl
У нас сейчас смена админов: отдел переходит из ведомства одних админов к другим. Соотвественно, все задачи выполняются сильно медленее. Задача по установке модуля к Perl висит уже несколько дней. Вот и пришлось мне написать на чистом Perl функцию, определяющую
На Perl’e не писал уже очень давно, так что было интересно что я помню. Функцию, в итоге, сохраню здесь, мало ли — понадобится кому.
sub detect_utf8($) {
my $str = shift;
my %exclude = map { $_ => undef } (0..191, 194..244); # RFC 3629
for (my $i = 0, $l, $len = length $str; $i < $len; $i++) {
$code = ord substr($str, $i, 1);
return 0 unless exists $exclude{$code};
for ($l = 0; $code & 128; $l++, $code = 0xFF & ($code << 1)) {}
$i += $l - 1 if $l;
return 0 if $i > $len or $l > 4; # broken
}
1;
}Что можно улучшить: проверять, чтобы дополнительные байты имели старшие биты «10».
Уточка №4

Не могу не попе*арить прекрасный блог, который радует меня по утрам: «уточка №4». Особенно хороши
I � Unicode
Давайте я вам про Unicode ещё раз расскажу?
Как известно, в памяти компьютера числа представлены битами, которые группируются в байты. Один байт может хранить одно из 256 значений (поскольку состоит из восьми бит, каждый из которых может хранить одно из двух). Следовательно, числа, значения которых > 255 хранятся в больше, чем одном байте.
Например, числа до 65535 можно уместить уже в двух байтах: в так называемом старшем записывается сколько раз полных 256 содержится в числе, а в младшем — остаток: старший × 256 + младший.
В зависимости от типа процессора, порядок, в котором записаны в памяти старшие и младшие байты, различается. Собственно, мне хорошо известны только две системы: младший записывается первым (как в процессорах Intel) и старший записывается первым (в процессорах ARM, которые стоят в смартфонах). Есть ещё смешанная, но с ней я не сталкивался. Системы эти носят имена:
Есть ещё системы, которые умеют переключать порядок (те же ARM) и называются
Термины
Сюрприз для непрограммистов: буквы в памяти компьютера тоже представлены числом. Это просто номер по порядку в компьютерном алфавите. Так девочки в нашем классе «кодировали» записки: вместо букв ставили номер позиции в алфавите.
Было принято очевидное решение — выделять на символ не один байт, а несколько. Так появился стандарт Unicode, где огромному количеству символов дано своё число и закреплены начертания, стандарт дополняется и новые версии выходят почти каждый год.
Система кодирования Unicode, где выделяются два байта, называется
Так как способов хранения чисел, не умещающихся в памяти у нас несколько, то системы подразделяются
Первого апреля
BOM. BOM расшифровывается как «byte order mark» (признак порядка байт) и ставится внутри файлов упомянутых двух- и четырёхбайтных кодировок. Если BOM внутри файла не встретился, принимается порядок
Теперь непрограммистам будет трудно.
Пока всё было достаточно просто, но человечество придумало ещё одну кодировку —
Трудность в том, что
Итак. Каждый символ в кодировке занимает от 1
Тут надо вспомнить что такое биты. Бит — единица информации, мельче не бывает, у него всего два значения — 0 или 1. Байт состоит из 8 битов, биты очень удобно записывать в позиционной двоичной системе: 00001011. «Позиционная» тут означает, что значение числа зависит от его позиции. Кстати, это привычная нам система. В числе «22» две двойки, но у первой значение в десять раз больше, чем у второй. Это десятичная позиционная система. В двоичной, каждая более левая однёрка будет больше в два раза своей соседки.
Таким образом число 1011 расшифровывается из двоичной как 1 × 23 + 0 × 22 + 1 × 21 + 1 × 20 = 1 × 8 + 1 × 2 + 1 × 1 = 8 + 2 + 1 = 11 в десятичной системе.
В первом символе нужно посчитать количество бит со значением «1» до первого нуля. Это общее количество байт, которым записан данный символ. Если количество байт — один (это вроде как специальный признак), то вы нашли не первый байт символа.
У нас в примере количество бит до первого нуля — два. Значит, буква записана двумя символами — первый это тот, на которым мы находимся и второй — который следует за ним. Каждый байт
Могу рассказать
Знаете ли вы JavaScript
У Дмитрия Барановского (это автор Raphaël —
Итак, что выведет каждый кусок кода?
if (!("a" in window)) {
var a = 1;
}
alert(a);var b = function a(x) {
x && a(--x);
};
alert(a);function a(x) {
return x * 2;
}
var a;
alert(a);function b(x, y, a) {
arguments[2] = 10;
alert(a);
}
b(1, 2, 3);function a() {
alert(this);
}
a.call(null);Девид Блейн, раскукож мой Samsung
Samsung выпустили забавный рекламный ролик обращающий внимание
Его сюжет — мужик ходит по комнате, снимая всё, что там попадается, включая свою подружку и восхищаясь
На «Хабре» довольно быстро заподозрили, зеркала никакого нет и в нём стоит просто
Но помимо мелочей, Samsung прокололась в главном: отражение в чайнике (или что это такое) не совпадает с отражением в «зеркале». И никакие мелочи изучать не надо. Но это только поможет этой рекламе побыстрее забраться нам в головы.

Дополнение от 16 апреля 2009 13:22: мне в комментариях подсказывают, что необходимости
Повторенье — мать ученья
Простите, наболело. Многие товарищи
while True: passЧему учит нас этот бесконечный цикл на «Пайтоне», кроме того, что бесконечность — это очень долго? Не надо забывать, что повторенье только мать ученья. А чтобы ученье зачалось нужен ещё и папа, а чтобы родилось, хорошо бы и акушера под рукой держать.
Поколение твиттера
Наверное многим известен термин «клиповое сознание», его часто связывают с невозможностью сосредоточится на длинных текстах, следить за длинной логической цепочкой (вспомните «ниасилил, много букв»), хотя правильнее, на мой взгляд его связывать с попыткой справиться с быстрым устареванием знаний. То есть рассматривать причину, а не следствие. И правда, зачем изучать
Я сам частично этому подвержен — мне нравятся блоги, а это признак. Блоги характеризуются небольшим размером поста, хотя мне нравится и художественная литература. Вот что мне не нравится, так это твиттер. Для тех, кто не знаком: это так называемый «микроблогинг», разновидность блога. Размер сообщения в данном микроблоге — 140 символов.
Я легко могу понять почему так популярны блоги: для сознания клипового типа так проще. Почему стал популярен твиттер, я уже тоже начинаю понимать. Рождается новое сознание «стриповое», для которого текст на два абзаца сложен.
Это значит, что поток информации ещё более увеличился за последние годы и люди не успевают её перерабатывать. Наверное, немаловажна и обратная сторона — авторская. В «микроблог» можно писать быстрее, более сыро, на ходу и чаще. Но эту сторону я рассматривать не хочу, не интересно. Хотя, именно этим мне «Твиттер» не нравится — негде развернуться, да и туземная краткость талантом блещет редко.
Мне более интересно, что я теперь знаю почему меня так раздражают «настроения» в «Ярушке»: это микроблогинг (куда люди, якобы, пишут своё настроение) с лёгким форматом, туда можно записать любую короткую фразу, уж совсем не обременяя себя усилиями по вкладыванию в неё смысла. Я, кстати, ничем не лучше: я четыре раза пользовался этой функцией: один раз написал пошлый афоризм, один раз высказал сомнение в полезности «настроений» и два раза процитировал великих (одна цитата из Маяковского, другая — из «Соляриса»). Только второй фразой я хотел
Если вас утомил предыдущий абзац, у вас «стриповое» сознание.
Если вам кажется, что в слове «стриповое» есть
«Спасибо за покупку»
Мир перевернулся. Меня родители воспитали в том духе, что это продавец должен говорить «спасибо», что я у него купил товар, а я ему должен ответить «пожалуйста». Косвенно эту точку зрения подтверждают чеки, на которых до сих пор пишут «СПАСИБО!» или «СПАСИБО ЗА ПОКУПКУ!».

В последнее время я всё чаще замечаю, что продавцы начали говорить мне «пожалуйста». Причём, пару раз сказав «пожалуйста» одновременно со мной, два продовца получили разрыв шаблона средней тяжести.
P.S.
Определить начало дня в Python
Искал в Python способ переставить время на начало дня. В Python для манипулирования датами есть довольно удобный (если не считать временных зон) модуль datetime, получилось два варианта: первый придумал сам, второй подсказал (ещё раз спасибо) Иван Сагалаев:
import datetime
currentdate = datetime.datetime.today()
print currentdate.replace(hour=0, minute=0, second=0, microsecond=0)import datetime
currentdate = datetime.datetime.today()
print currentdate.combine(currentdate.date(), currentdate.min.time())Обезболивающее и жаропонижающее
Я тут слегка приболел (привет, любители открытых окон в офисе!), попросил жену купить таблетки от головной боли, так как оказалось, что в доме нет ни одного болеутоляющего без жаропонижающего эффекта. В аптеке таких тоже не оказалось!
У меня температура около 37,5°, то есть сбивать её не нужно и даже вредно, голова болит со вчерашнего вечера и хочется уже облегчения.
У меня в последнее время ощущение, что люди не понимают для чего их организм повышает температуру во время болезни и что сбивать её вредно. Ребята, это он так борется с болезнью — часть микроогранизмов погибает при повешении температуры тела, кроме того, при повышенной температуре в тканях ускоряется обмен веществ и восстановление пораженных участков. Не надо мешать организму! Это плохо и вредно.
Конечно, надо обращать внимание на динамику повышения температуры и состояние организма. Сам себе я сбивать температуру начинаю примерно с 39°, заранее, так как при 42° кровь уже загустевает достаточно, чтобы образовались тромбозы, а лекарства действуют не моментально. Если температура достигла опасного предела — в холодную ванну. Если отключили воду, можно натереться
Впрочем, если температура выросла до такой отметки, лучше вызвать врача. Не надо забывать, что в Москве скорая помощь будет ехать несколько часов.
Кстати, интересно, что «температура тела» — условность. Когда градусник под мышкой показывает 36,6°, в вашей печени температура может достигать 38°, а кончики ног могут быть охлаждены до 24,4°. Если вы пробежались, мышцы могут поднять температуру на 5—7°.
Так что повышенная температура — это не плохо, не надо её сбивать. Только подскажите — что вы покупаете в аптеках от головной боли, только чтобы без жаропонижающего эффекта? А то голова очень болит.
Дополнение от 18 апреля 2009 23:41: мне в комментариях подсказывают, что все доступные обезболивающие обладают жаропонижающим эффектом.
Сборки FAR 2.0 alpha
Читатели подсказали (потерял уже кто и где), что на googlecode выкладываются свежие сборки FAR 2.0 alpha. Судя по тому, что выкладываются не каждый день, человек проверяет их на стабильность. Я пользуюсь уже несколько недель, полёт нормальный.
Кстати, блогер Iceman делает собственные сборки FAR 2.0, причём аж двумя компиляторами — gcc и VC9. Пеарю.
Torrents & Rapidshare
«Торрент» (точнее — BitTorrent), это сеть для обмена файлами между пользователями сети через интернет, «Рапидшара» или «Рапида» (Rapidshare) — классический хостинг файлов большого размера.
Я попробовал то и другое и хочу сказать, что пользоваться «Рапидшарой» мне понравилось больше. Достоинства и недостатки каждого способа скачивания файлов я написал ниже.
Rapidshare
Минусы: чтобы пользоваться без ограничений, нужно заплатить (от €1,50 до 15 центов в день, в зависимости от срока подписки); скорость скачивания может оказаться меньше возможностей вашего канала; для скачивания желательно пользоваться специальными программами, так как файл бывает разбит на 10—15 кусков.
Плюсы: поиск осуществляется любым поисковиком (просто добавляем к названию слово «rapidshare»); скорость скачивания постоянная; обратный канал почти не занимается; файл после скачивания не нужно хранить; можно качать даже браузером.
BitTorrent
Минусы: нет
Плюсы: бесплатная сеть, если повезёт, скорость скачивания файла будет упираться только в ваш канал. Клиентскую программу можно поставиться на некоторые модели роутеров
«Книга постоянств» Императора Пхп
Около года не читаю жежешный ru_php, а он всё не меняется, оказывается:
Вырисовалась проблема — при var_dump ($класс), var_dump, как последний предатель, выдает все private переменные класса… — так должно быть или это глюк? Не хотелось бы при гипотетической краже скрипта, обработанного Zend Encode что бы отвардампили все пароли и ключи оплат.
Я подумываю о том, чтобы добавить это сообщество в свой
Почему разработчики браузеров не внедряют CSS3?
Лично для меня очевиден ответ на вопрос, вынесенный в заголовок. Но умница pepelsbey расписал всё настолько хорошо, что грех не процитировать:
Чтобы чётко понимать чем стандарт отличается от черновика, прочитайте черновик CSS 3, а особенно места, помеченные красным. Фразы там звучат примерно такие:
— А может назовём свойство
blah-blah иначе? Напримерfoo-foo! — А давайте возьмём свойства a, b и с и… объединим их в одно с именем abc? — …и так далее.И что в итоге? Каким образом производителям браузеров внедрять свойства, которые ещё до конца не описаны? Нет, конечно есть модули, которые близки к статусу рекомендаций, но над большинством вещей ещё думать и думать. В частности, на мой вопрос
про border-radius, разработчики Opera ответили, что оно уже реализовано в экспериментальных билдах, но вокруг него крутится столько нюансов, а Mozilla делает так, а Webkit иначе… как же поступать Opera? Вот и тормозит внедрение новых классных фич…Поэтом заявление MS о том, что, мол, мы не поддерживаем CSS 3, пока черновик не превратится в финальную спецификацию, звучат вполне резонно. Как бы это ни было грустно.
В общем, меньше фанатизма и больше читайте спецификации ;)
Валюты разных стран

Весна — время, когда хочется странного (несмотря на снег за окном). Поэтому
Слева направо: интренет, Белоруссия, Мальдивы, Украина, Китай.
PDF417
На обложке сзади у многих переводных книг на техническую тему есть странная область, рядом
Двумерный
штрих-код переменной длины для кодированиябуквенно-числовых данных. PDF417 очень похож на DataMatrix и предоставляет немного больше возможностей, требуя, соответственно, больше места. Используется для общего применения, включая ярлыки на багаже, маркировку различных частей и на удостоверениях личности
Есть специальное SDK для распознавания и
Вот как выглядит PDF417 с фразой «This is PDF417 sample for bolknote.ru»:
В социальных сетях черствеют
Учёные Университета Южной Каролины предупреждают: если плотность потока информации, поступающей через СМИ и интернет, останется прежней, человек перестанет различать категории добра и зла.
Проведенный ими тест мозговой активности показал, что реакция при виде физической боли наступает почти мгновенно, а вот сопереживание моральному страданию запаздывает на 6—8 секунд. «Если при этом мы продолжаем получать поток все новой и новой информации, эти чувства могут не возникнуть, что обязательно скажется на моральном облике человека», — считают ученые.
Их коллеги из Университета Огайо винят во всем Twitter и другие социальные сети со стремительным потоком сообщений длиной 140 символов: беглый взгляд на них не позволяет сформировать мнение и дать оценку. Кстати, об оценках: по статистике средние баллы студентов, пользующихся Facebook, ниже, чем у их сверстников.
Пишет газета «F5» (№9 за апрель 2009). Говорил я, что «Твиттер» — это плохо! А бесчеловечный PDF, в котором газету «F5» предлагается просматривать — это вообще вселенское зло.
Каждый день по фильму
Как я уже не раз говорил в комментариях, я каждый день смотрю по фильму. Иногда — по два. Обычно, смотрю пока ужинаю и досматриваю перед сном. В почте спросили пару раз какие фильмы я посмотрел последними. Дабы не отвечать на эти и будущие письма по отдельности, отвечаю тут. Последние фильмы (в обратном порядке с сегодняшнего дня), которые я посмотрел:
- «Дедовщина в школе» — фильм Первого канала с говорящим названием. Кажется, стоит посмотреть. В моей школе всё обстояло так же.
- «Люди Икс. Начало: Росомаха» — история Росомахи с самного начала. Фильм ужаснейший.
- «Девственность» — российский фильм о том как девочки пытаются «завоевать» Москву, есть сюжет про Карину Барби
- «Типа крутой охранник» — комедия о парне, который Делает Свою Работу. Я не оценил.
«Адреналин-2» — ооооооооооаааааааоаоаоаоаоаоаоаооооооооо!!!!- «Только секс» — история о том как две девушки решили встречаться с парнями только для секса и как это переросло в любовь
Дальше не помню. Естественно, я совершенно не помню смотрел якакой-то фильм или нет только по названию (имён режисёров и актёров я не запоминаю, мне есть чем забивать голову кроме этого).
Спектруму 27 лет!
«Спектрум» был вторым компьютером в моей жизни (первым был «Радио
Всё утро ностальгируя, я нашёл на одном сайте все (!) выпуски «ZX Форум» и «ZX Ревю» и в первом же номере «ZX Форума» наткнулся на свою фамилию:
Но особенно приятны нам письма, в которых читатели делятся своими несколькими первыми (но, конечно же, не последними) POKES, найденными самостоятельно после того, как они начали активно изучать машинный код. Большинство из них пишут, что им очень помогли в работе наши книги по программированию в машинных кодах. Это Селифонтов Михаил из г. Углич Ярославской обл., Степанищев Е.В. из Лениногорска […]
Правда, я писал, кажется, в «ZX Ревю», а не «ZX Форум» и, к тому же, писал вместе с братишкой. Надо будет пошарить по архиву
Добавлено 23.04.2009 11:27: вот ещё:
ИФК: Степанищев Е.В. из г. Лениногорска (Татарстан) пишет: КОРР: Недавно обнаружил неприятную особенность
MONS-3: попробуйте выполнить в пошаговом режиме команду HALT — и он зависнет.
Добавлено 23.04.2009 11:32: И ещё:
А пока приводим информацию Степанищева Е.В. из Лениногорска (Татарстан) — результаты «лечения» игр, не идущих на «Компаньоне» всё по той же причине — неправильная обработка прерываний второго рода. […]
«Компаньон» — это как раз тот клон «Спектрума», который был у нас с братишкой.
Добавлено 23.04.2009 13:13: Из «ZX Ревю» №3 за 1995 год:
Таинственный любитель адвентюр и творчества Булгакова, проживающий в Воркуте, и подписавший свое письмо так: «FLAT 50, MESSIR», отвечает на ряд вопросов из «Перекрестка». В частности, Степанищеву Е.В. из Лениногорска: В ADVENTURELAND, чтобы избежать проблем с медведем, надо дать команду HOLLO (кричать).
Соединённые Штаты Веспуччии
Новые страны и континенты не разу не называли
в чью-либо честь по имени, а только по фамилии!А Америка названа в честь зажиточного купца из Бристоля — Ричарда Америка! Р.Америк финансировал
2-ю экспедицию Джона Кабота, который в мае1497-го на корабле «Мэтью» достиг берегов Лабрадора, став первым европейцем вступившем на американскую землю — на 2 года раньше Веспуччи. Он первый и составил карту побережья Сев, Америки (в которой кстати Веспуччи вааще не бывал, токо в Южной..) Так и возникла запись в честь главного спонсора экспедиции: «…в день св. Иоанна Крестителя (24 июня 1497г.) найдена земля Америка купцами из Бристоля…»
Кроссплатформенная среда: ZX Spectrum
Прочитав в «Википедии», что ZX Spectrum — самая эмулируемая платформа, я подумал — а есть ли эмулятор на JavaScript? Скорости должно уже хватать (там процессор Zilog Z80, 3,5 МГц и видеопамять несколько килобайт). Оказывается, есть, называется JSSpeccy. Можно посмотреть online и даже запустить 10 игр.
«Яве» и прочим кроссплатформенным языкам такая переносимость и не снилась.

Кстати, очень хорошая возможность потестировать браузеры на производительность (там 644 килобайта ядрённого
ZX Recoloring
К дню рождения «Спектрума» на «Хабре» был анонсирован интересный проект — ZX Recoloring. Идея простая до зевоты: эмуляторы «Спектрума» существуют для чего угодно, кроме, разве что, кофеварок, игр для «Спектрума» — вагон, есть просто шедевры, но нюанс: графика, по нынешним временам, просто ужасная.
Автор проекта предлагает накладывать на эмулятор специальный «облагораживатель» графики — создаются два набора спрайтов: «что искать» и «на что заменять». Программа, работающая поверх эмулятора, ищет в кадре знакомые спрайты и заменяет их на спрайты из второго набора. Получается красивая графика без вмешательства в код.
Идея неплохая, но в таком виде годится только для совсем простых игр. Даже если взглянуть на скриншот игры «Everyones a Wally» из моего предыдущего поста, сразу станет видно, что спрайты там пересекаются: справа скамейка перекрывает дерево, а скамейку закрывает фуксиновый мужик.
Если же попытаться заменять спрайты по неполному совпадению, расставлять приоритеты (мужик перекрывает скамейку, скамейка мужика — нет), то тут такой цирк получается, что игру проще переписать, чем оттестировать все случаи (что если

Или вот взять одну из моих любимых игр на «Спектруме» — «Snoopy & Peanuts» (на иллюстрации): плинтус на заднем фоне,
Хотя, в эту игру я и сейчас, не морщась, могу сыграть.
«Надо уколоть палец, чтобы кровь перестала идти»
Стоит с московскими курильщиками заговорить о курении, как попадаешь в «Зазеркалье». Помните?
— Ах, нет, я никуда не хочу попасть! — сказала Алиса. — Мне и здесь хорошо. Очень хорошо! Только ужасно жарко и пить хочется!
— Этому горю помочь нетрудно, — сказала Королева и вынула из кармана небольшую коробку. — Хочешь сухарик?
Алиса подумала, что отказаться будет невежливо, хотя сухарь ей был совсем ни к чему. Она взяла сухарь и стала его жевать; сухарь был страшно сухой, и она чуть не подавилась.
— Я совершенно не порчу лёгкие — говорят московские курильщики — в Москве и так воздух плохой.
Надо будет спросить едят ли они сухарики, когда хочется пить.
У создателя сети «ФИДО» не было собаки
Известно лишь, что один из потомков по кличке Fido попал к Тому Дженнингсу, основавшему впоследствии одноименную сеть FIDO, ставшую прообразом интернета.
Пишет Леонид Каганов в своей статье «Космонавтика родилась в собачей конуре», тогда как у Тома не было никакой собаки:
Сегодня в соседней деревушке (Mountain View, CA) в компьютерном музее выступал основатель фидонет. Рассказывал полтора часа как все создавалось (кстати, вопреки красивой легенде о собаке Fido он сказал что название для новой сети он позаимствовал с визитки
какой-то компьютерной конторы).
Добавлено 27 апреля 2009 9:47: вот чем опасно читать только начало и только конец статьи, я правда подумал, что статья Леонида
«XHTML», что значит «Хороший HTML»
Обсуждаем с Вегедом как прикручивать корпоративные
— Пусть у тебя на входе плохой HTML — говорид Вегед и пишет, вероятно по привычке, «XHTML»
— «Х» от слова э… «плохой»? — интересуюсь я.
Блог Виктории Григорьевны
Наткнулся на «Хабре» на блог Виктории Григорьевны. Не напрягайте память, это не очередная лобковая звезда, меня блог заинтересовал тем, что женщине 71 год и она ведёт блог в интернете. Посмотрите, кстати, на средний размер поста — куда больше 1—2 абзацев (намёк понятен да?).
Внуки, если вы будете это читать, то это у вас там, в будущем, пруд пруди дедушек и бабушек с бложиками, а у нас тут это явление удивительное.
Canvas в разных браузерах
Сегодня с утра, порадовавшись выходу Mozilla Firefox 3.5beta4, решил погонять её на

Плохо то, что Firefox, как оказывается, сильно размывает Canvas. Когда я играл на эмуляторе в одну из игр, мне казалось, что у меня
Получаем ещё один «стандарт», который ведёт себя во всех браузерах
Проект засекречен, учёные могли и не знать
Не забуду, как меня «уличили», что пою под «фанеру» и делаю это неумело. Тогда
только-только появились ушные мониторы, позволявшие работать на удалении от сцены. Но я не учла, что радиоволнам нужно время на преодоление расстояния и звук из наушников может не совпадать с тем, который слышат зрители.
— говорит Пугачёва в своём свежем интервью «Итогам». Я, честно сказать, всегда думал, что радиволны распространяются со скоростью света (физики, я знаю, что скорость зависит от среды,
На каком же расстоянии от приёмника пела Пугачёва?
Puzzle

Сфотографировал около офиса.
libmapi: почему так долго?
Вчера один из моих читателей вскользь поинтересовался — неужели с libmapi так сложно работать.
Для примера, чтение данных переговорок (включая рекуррентные встречи), занимает сейчас у меня в «Пайтоне»: 1275 строк основного файла модуля, 647 строк файла описаний структур MAPI, 4046 строк констант MAPI, плюс 457 строк файла данных
Рано радоваться: цены на жильё

Диаграмма взята с сайта Metrinfo.
Лечу в Казань
Завтра,
Первый телеэфир моей жены
Моя жена занимается изготовлением открыток ручной работы, фотоальбомов и так далее, а неделю назад её пригласили на телевидение, на канал «СеверТВ», чтобы она продемонстрировала процесс изготовления
Марина, поздравляю тебя с первым эфиром. Вижу, что волновалась. Но мой первый эфир выглядел куда менее достойно.
Добавлено 30.04.2009 9:49: видео выложил к себе на «Яндекс.Видео».