Был ли Альберт Эйнштейн троечником в школе
Опубликовали оцифрованный персональный архив Эйнштейна. В частности, есть копия его школьного аттестата (выданный высшей технической школой Цюриха). То есть можно теперь доподлинно узнать правдиво ли распространнёное мнение, что Эйнштейн был троечником в школе.

Итак список оценок (шесть — максимальный балл):
Немецкий — 5 Французский — 3 Английский — не аттестован Итальянский — 5 История — 6 География — 4 Алгебра — 6 Геометрия — 6 Начертательная геометрия — 6 Физика — 6 Химия — 5 Естественная история — 5 Художественный рисунок — 4 Технический рисунок — 4
Как видите, да, Эйнштейн чисто технически троешник, хотя его «тройка» выше нашей, отечественной (насколько я понял систему оценок в Швейцарии, в тех случаях, когда у нас ставят «кол», у них ставят «ноль», так что их система вообще семибалльная).
Но троечник троечнику рознь, глядя на оценки, можно сказать, что он блестяще учился, а с французским могло не сложиться — язык не нравился или с преподавателем не сложилось.
PHP 5.4
Поставил себе на ноут ПХП 5.4, смотрю как работает. Трейты, конечно, приятная штука, но гораздо важнее, что синтаксис в порядок стали приводить. К сожалению, с первой попытке порядок навести не удалось, но стало гораздо логичнее.
class B {
function arr() {
return [
'i' => 0b101,
'f' => function () {
return ['i' => 1];
}
];
}
}
var_dump((new b)->arr()['i']); // works!
var_dump(call_user_func((new b)->arr()['f'])['i']); // still works…
var_dump((new b)->arr()['f']()); // don't :(В примере дан класс «B», метод «arr» которого возвращает массив из двух элементов. По индексу «i» там число, по «f» — анонимная функция, которая так же возвращает массив. В новом (5.4) ПХП есть возможность получить элемент массива, возвращаемый функцией, не присваивая его переменной (и, кстати, вызвать метод объекта сразу после его создания).
Но увы, пока нельзя так же вольно обращаться с функциями, приходится их оборачивать в «call_user_func». Но я рад, что ПХП постепенно избавляется от своих болезней.
Обратите внимание на более короткий синтаксис массивов. Это начинает походить на своеобразный стандарт уже.
Челябинск
Я уже два раза был в Челябинске, но ещё ни разу о нём не написал. Надо исправляться, тем более, что я обещал Илье Бирману это сделать.
Основная ассоциация с Челябинском у того, кто в этом городе не был — Челябинск суровый. Мем, рождённый, кажется «Нашей Рашей» и подхваченный в интернетах надёжно закрепился и в моей голове. Суров ли Челябинск? А то!
— Нечего дурью маяться, — считают суровые челябинские сотрудники Бюро Занятости, — проходи в тоннель, начинай подметать!
Суровые челябинцы паркуют на улицах танки и БМП. Танк — серьёзная машина, не чета вашим «хаммерам». Один из них стоит около «МакАвто».


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



Суровый челябинский паб как бы спрашивает у вас…
Суровый челябинский панк идёт без шапки и волос. На улице суровый мороз.
В центральном парке Челябинска запрещён выпас скота!
Я ♥ яблоки?
Скоро уже год как я используют только «Мак», но до сих пор помню, что в тот же день, когда я на него пересел, меня тут же записали в фанаты техники «Эпл». Сейчас у нас дома два «Мака» (у меня и жены) и один «Айпад 2», но я до сих пор не считаю, что я фанат.
Ну в самом деле, я каждый день пью чай, но это не делает меня автоматически фанатом чая, более того, это не делает меня даже любителем чая. Бо́льшей частью я его пью, потому что в нашем климате нужно время от времени пить
Это
Точно так же как у меня бо́льшая часть одежды фирмы «Коламбия» — куртки, свитера, кроссовки, футболки, при этом, когда я захожу в магазин, я не бегу к стенду с этой маркой, я часто выбираю всё подряд, просто в конце часто (но не всегда) оказывается, что одежда этой фирмы сидит на мне лучше и носить её удобнее. То есть она мне подходит.
Если мне подходит
При этом на столе «Мак», в сумке «Айпад», но в руке «Гугл Нексус Уан», смартфон на «Андроиде».
Жёны агёнтов спёцслужб, или Ещё раз о важности «ё»
А вот свежая цитата с «Баша»:
Агентов спецслужб, которых поймали на неверности их жены, выгоняют с работы по профнепригодности.
Интересна она тем, что совершенно неясно есть там «ё» в слове «жены» или нет. В зависимости от этого смысл меняется, но фраза всё равно остаётся непротиворечивой.
Если агентов ловят на неверности жены, то их выгоняют за то, что неумело следили за жёнами, если их ловят на неверности жёны, то выгоняют за то, что неумело скрывались.
О разнице в восприятии
Утром наш кот сходил на кухню, принёс под кровать пакетик с кормом и, уютно чавкая полиэтиленом, начал его поедать. Я, услышав звуки кошачьей идилии, пакет отобрал, по ушам надавал. Воровство плохо для кармы, жрать полиэтилен с кормом — для желудка.
Думаю, с точки зрения кота это выглядело совсем иначе. Хитро прокравшись на кухню, ловко минуя все утренние подозрительные шорохи, он нашёл по еле уловимому запаху добычу, принёс в нору и сел завтракать. Возможно подумав, когда наестся, поделиться добычей со мной. А я встал, добычу отобрал,
И, главное, даже умей кот говорить, я бы не смог ему объяснить свою точку зрения, хотя я думаю, что понимаю его взгляд на вещи. Слава богу, у меня нет даже шанса предпринять эту глупую попытку объяснения.
«Мой IP» на клиентской стороне
Бывает, что на стороне клиента надо узнать свой
<!-- pure JS my IP -->
<script>
!function(callback) {
var old = document.write;
document.write = function (str) {
var re = /(\d{1,3}\.){3}\d{1,3}/;
callback(re.exec(str)[0]);
document.write = old;
}
}(alert);
</script>
<script src="http://en.dnstools.ch/out/4.js"></script>Вместо «alert» можно передавать любую функцию, ей первым параметром будет передан искомый
6/9/20
С этим дробными номерами домов всю жизнь путаница.
Я всю жизнь считал, что дробный номер дома означает, что дом стоит более чем по одной улице и через косую черту перечисляются номера дома на улицах, на которых он стоит. Например, в Москве есть
Но я знаю ребят, которые считают, что «30/1» означает «дом 30 корпус 1». Я с ними всегда спорил.
Оказывается в разных городах косая черта означает разные вещи. В Москве и Казани — как раз это номера по улицам на которых дом стоит, в Тюмени — номер корпуса, а в Саратове, если здание построено на месте снесённых «(например, с номерами 7, 9, 11), то иногда такому дому дают номер по первому и последнему снесённым через дробь (7/11)».
libjpeg-turbo
Сегодня от нашего системного администратора узнал о библиотеке
Авторами утверждается, что библиотека превосходит оригинальную по скорости в несколько раз.
Самое интересное, что библиотека бинарно соместима с оригиналом, то есть простой заменой одной на другую в системе можно добиться прироста производительности всех утилит, которые её используют.
Я погонял тесты у себя на ноутбуке с «МакОС», результаты получились следующие:
bolk@Bolk ~ $ otool -L `which jpegtran` | fgrep libjpeg
/usr/local/Cellar/jpeg/8d/lib/libjpeg.8.dylib (compatibility version 13.0.0, current version 13.0.0)
bolk@Bolk ~ $ time for _ in {1..100}; do jpegtran -optimize -crop 4000x3000+2+2 ex.jpg > /dev/null; done
real 1m28.244s
user 1m20.063s
sys 0m7.705
bolk@Bolk ~ $ otool -L /opt/libjpeg-turbo/bin/jpegtran | fgrep libjpeg
/opt/libjpeg-turbo/bin/jpegtran:
/opt/libjpeg-turbo/lib/libjpeg.62.dylib (compatibility version 63.0.0, current version 63.0.0)
bolk@Bolk ~ $ time for _ in {1..100}; do /opt/libjpeg-turbo/bin/jpegtran -optimize -crop 4000x3000+2+2 ex.jpg > /dev/null; done
real 0m59.433s
user 0m50.509s
sys 0m7.728sВ моём случае прирост порядка 30%. Для теста я взял случайную картинку из фотоальбомов с разрешением 5184×3456 и при помощи утилиты jpegtran вырезал оттуда кусок изображения. Каждый тест повторялся сто раз.
Перевод картинки в серый средствами CSS

Экспериментировал в рамках прототипа для рабочего проекта с преобразованием изображения в серую гамму. Вообще, конечно, есть тег CANVAS, там это запросто, но интересно посмотреть появилось ли
.gray {
filter: gray; /* IE 5+ */
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)"; /* new IE */
}Я всё ждал когда же W3C «переизобретёт» микрософтские фильтры. Свершилось. Недавно появилась спецификация Filter Effects, которая, конечно, гораздо шире того, что
«Хром» включил в готовящуяся
.gray {
-webkit-filter: grayscale(1); /* Chrome 18+ */
}В «Опере» и «Файрфоксе» поддержки этих фильтров пока нет, но есть поддержка других — фильтров SVG. Можно, например, засунуть растровое изображение внутрь SVG и применить к нему нужный фильтр:
<svg style="width: 0; height: 0">
<filter id="gray">
<feColorMatrix type="saturate" values="0"/>
</filter>
</svg>
<!-- тут какой-то HTML код и вдруг понадобилась серая картика -->
<svg style="width:400px; height: 431px"><image xlink:href="/imgs/2008.11.27.jpg" width="100%" height="100%" filter="gray" /></svg>Хорошие новости — SVG можно мешать с HTML. С версии 3.5 в «Файерфоксе» есть способ лучше — можно применять фильры SVG прямо к тегам HTML (и делать всякие другие чудесные штуки), правда все описания в документации
<style>
.gray {
filter: url(#gray); /* Firefox 4+ */
}
</style>
<svg style="width: 0; height: 0">
<filter id="gray">
<feColorMatrix type="saturate" values="0"/>
</filter>
</svg>
<body><img src="/imgs/2008.11.27.jpg" class="gray" /></body>Добавлено позднее: в ходе дальнейших экспериментов оказалось, что в более ранних «Хромах» (нижнюю границу я пока не выяснил, но в моём
<style>
.gray {
-webkit-filter: url(#gray); /* Chrome ?? */
-webkit-filter: grayscale(1); /* Chrome 18+
}
</style>
<svg style="width: 0; height: 0">
<filter id="gray">
<feColorMatrix type="saturate" values="0"/>
</filter>
</svg>
<!-- тут HTML и внезапно понадобилась серая картинка -->
<svg style="width:400px; height: 431px"><image xlink:href="/imgs/2008.11.27.jpg" width="400" height="431" class="gray" /></svg>При этом «Хром» требует, чтобы ширина и высота картинки были заданы в абсолютных единицах (остальные браузеры прекрасно понимают проценты).
Если собрать всё вместе, получается нижеприведённый код. Я поставил рядом два изображения: слева обычный элемент HTML img, справа — растр в SVG, по ссылке можно протестировать что поддерживает ваш браузер. Мне негде потестировать IE и тем более десятую версию, но я Посмотреть код.
<html>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<style>
.gray {
cursor: pointer;
filter: url(#gray); /* Firefox 4+ */
filter: gray; /* IE 5+ */
-webkit-filter: url(#gray); /* Chrome ?? */
-webkit-filter: grayscale(1); /* Chrome 18+ */
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)"; /* new IE */
}
.gray:hover {
filter: none;
-webkit-filter: none;
-ms-filter: none;
}
</style>
<svg style="width: 0; height: 0">
<filter id="gray">
<feColorMatrix type="saturate" values="0"/>
</filter>
</svg>
<body>
<img src="/imgs/2008.11.27.jpg" class="gray" />
<svg style="width:400px; height: 431px"><image xlink:href="/imgs/2008.11.27.jpg" width="400" height="431" class="gray" /></svg>
</body>
</html>
Магические методы
Что мне никогда не нравилось в Пайтоне, так это «магические» методы и свойства. Сейчас их существует за сотню:
bolk@Bolk ~ $ wget -O- http://docs.python.org/reference/datamodel.html 2>&- | egrep -o '__(\w+)__' | sort -u | wc -l
108Я, даже если очень постараюсь, вряд ли вспомню хотя бы половину. Всё «магическое» в Пайтоне начинается и заканчивается двумя подчёркиваниями, например, если сменить знак у объекта (сделать
Запомнить все эти методы, наверное, реально при помощи тщательной зубрёжки, но сделать это естетственно, во время изучения языка, нереально, по моему мнению. Причина — неинтуитивность. Я давно высказывался на тему, почему хотя бы не расширить синтаксис и некоторые методы не разрешить называть как операции, то есть «/», «+», «[]» и так далее, смутно вспоминая, что в Си++, кажется, так и сделано.
Оказывается, так в точности сделано в языке «Скала»:
trait Ord{
def < (that:Any):Boolean
def<=(that:Any):Boolean = (this < that) || (this == that)
def> (that:Any):Boolean = !(this <= that)
def>=(that:Any):Boolean = !(this < that)
}Это гораздо проще выучить, изучая язык, чем «__lt__», «__le__», «__gt__», «__ge__» (впрочем, когда перечисляешь в ряд несколько конструкций, кажется что ничего страшного в этом нет, но надо держать в голове, что их больше сотни).
У некоторых методов название упрощать не нужно, например «__unicode__» (преобразование к юникодной строке) всё равно дёргается стоит вызвать unicode(something) или «__del__» (деструктор) вызывается, в частности, если сделать «del something» (если ссылок больше нет). Они уже содержат название операции, просто оно буквенное. Есть методы, которые вряд ли вообще можно
Наверняка есть часть, которую понятнее не назовёшь. На ум сразу приходит метод «__hash__», думаю есть и ещё.
Но, бо́льшую часть, мне бы хотелось именовать
Апач vs. Энжиникс
Меня
Я поставил и настроил ngnix для отдачи статического контента. Это снизило нагрузку в 2 раза…
Речь идёт о сайте president2012.ru. Версия Апача —
Перемена мест слагаемых
Если помещение отапливается электричеством, то ставить туда «энергосберегающие»(люминесцентные) лампы для экономии энергии нет смысла вообще, придется на столько же больше энергии потратить для дополнительного отопления, или будет просто холоднее.
Цитата из одного известного закрытого блога.
Кстати, да, логично же. У лампы накаливания куча энергии уходит на нагрев, то есть на отопление окружающего пространства. Если сменить лампы накаливания на энергосберегающие, отопительные элементы просто будут больше работать.
Сцеплер
От мамы услышал слово «сцеплер», так у них в отделе степлер называют.
Кстати говоря, вспомнилось. Кажется я в школе ещё учился, когда услышал от мамы распространённое тогда слово «отэрить», в те годы «Ксероксов» было мало, чаще встречались отечественные копировальные машины «ЭР», оттуда и глагол. Сами машины я не видел, только результат их работы — фиолетовую (или синюю, точно не вспомню) кальку
Блог жизни
Таскаю ящики с вещами дома — ремонт продолжается, надо освобождать ещё две комнаты. В одном из ящиков нашли восемь тетрадок — мои «дневники жизни», так раньше назывались закрытые блоги.
В моём первая запись
Некоторые записи вполне в формате твиттера. Например:
9/V-90 г. Ничего такого нет всё обычно, сделал схема, а она „не пашет“.
22/I-91 г. Проснулся, сейчас пойду в школу.
18/II-91 г. Сегодня Наиля опять запутывала следы: ей зададут вопрос, а она на него сто слов никак не относящихся к вопросу.
Правда, большинство записей куда более длинные, множество — на несколько страниц.
Пролистал, чего только нет. Надо будет его в электронный вид переводить потихоньку. Там есть вырезанные куски обоев в квартире родителей (вся история как клеили и в каком порядке), исследование почерков моих родственников, планы всех перестановок мебели, приклеенные билеты от автобуса, рисунки схем, листинги первых программ, рассуждения на тему строения мира, изобретение собственных «смайликов» и так далее. Надо заканчивать чтение, а то залипну на часы.
По дневнику выяснилось, что нехватает по меньшей мере несколько фотографий в альбоме покойной бабушки со стороны мамы. Я, например, нашёл копию почерка родственницы, которая у меня нигде не записана, но родство её устанавливается элементарно из написанного. Все записи почерков я, помню, делал как раз
А когда у вас появился первый «блог»?
Надеюсь «Пепси» с человечиной будет только выдумкой газетчиков
Отметим, что накануне Федеральная комиссия США по ценным бумагам и биржам (SEC) фактически разрешила компании PepsiCo выпустить новую газировку с усилителем вкуса на основе клеток человеческих эмбрионов, полученных при абортах.
Пищевому гиганту будет позволено заключить контракт со специализирующей на биотехнологиях компанией Senomyx, которая использует клетки почек мертвых эмбрионов (HEK 293 — Human Embryonic Kedney) при разработке усилителей вкуса.
В соответствии с решением SEC от 28 февраля, договоренность PepsiCo с Senomyx для производителя прохладительных напитков подпадает под определение «обычные деловые операции».
Цитата из статьи на сайте «РБК. Общество». Богатая идея, жду
Добавлено позднее: в ЖЖ есть подсказанная читателем заметка «К теме каннибализма», которая рассказывает о том, что вышеприведённая процитированное выше не соответствует действительности.
Как работает свойство vertical-align в ЦСС
На сайте
Е́жи

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