October 5th, 2010

Main

IBM Thinkpad Security

Вот ведь какие у IBM секьюрити на ноутах. Оказывается там при задании пароля в BIOS он в микросхеме приживается намертво и никак его не отресетить. Только вот так, взяв в руки резисторы, диоды и разъемчик:

Hacking IBM Thinkpad Bios Password

Припоминаю, что у нас в конторе был Thinkpad. И в нем даже зная пароль нельзя было его сбросить. Там кстати курьез приключился. Какая-то вымогательная проверка согласна была взять в качестве выкупа ноутбук. Ну и отдали этот Thinkpad. Бумажку с паролем предусмотрительно сняли, -- женщины не знали -- вдруг это что-то нужное и внутреннее. На следующий день позвонили, спросили пароль :)
Main

PHP, UTF-8, итераторы вдоль строки

Евгений Степанищев (aka bolk) продолжает писать заметки о портировании php приложения на UTF-8.
Обновлю свою запись со списком статей. Обращаю внимание на последние статьи про итераторы. Доступ к символам UTF-8 строки несколько более сложный и медленный, чем в обычной однобайтовой строке, поскольку длина символа в байтах не одинакова, и то, что байт является продолжением предыдыущего мы можем узнать по 10 в старших битах, т.е. $b & 192 == 128. Таким образом усложняется и просто перемещение от символа к символу, и доступ по индексу $s[$i] -- мы не можем знать заранее правильного смещения нужного символа в байтах. Об этом и написано в последних двух заметках.

PHP и UTF-8
PHP и UTF-8: первый этап
PHP и UTF-8: второй этап (ничего не забыли?)
PHP и UTF-8: второй этап (продолжение: ничего не забыли?)
PHP и UTF-8: третий этап (создание прототипов)
PHP и UTF-8: четвёртый этап
PHP и UTF-8: четыре с половиной или некоторые функции
PHP и UTF-8: четыре и шесть десятых или ещё проблемные функции

И вот, те самые заметки про итерацию:
PHP и UTF-8: пятый этап (итератор "туда")
PHP и UTF-8: пятый с половиной этап (итератор "обратно")

Кстати узнал, что в 5.3 появились новые SPL конструкции, вот навскидку статьи про них:
SPL в PHP. Продолжение
PHP 5.3 SPL data structures: SplStack, SplHeap, SplPriorityQueue, SplDoublyLinkedList
Main

mod_rails, passenger, first run

Завернул Redmine под mod_rails. Поскольку рельсам надо стартовать в какой-то момент, то стартуют они при первом запросе к сайту. Получается медленно. Т.е. на продакшене надо после рестарта апача или энжикса делать псевдо запрос к сайту:

wget -O /dev/null http://localhost/ 2>/dev/null