Bash.org.ru IT Happens Истории ## 1 – 800 | страница 50



Но на следующий день началось странное – клавиатура начала беспрерывно гене рировать букву "r".

Ни в систему не войти, ничего.

Ну ладно, бывает. Воткнули другую.

И что бы вы думали – она тоже генерирует букву "r".

Воткнули третью. То же самое.

Что за дела ?

И с USB, и с PS/2-клавиатурами – одно и тоже.

Продолжалась эта чертовщина до тех пор, пока не догадались выдернуть шнур от приёмника старой, беспроводной клавиатуры. В куче хлама что-то зажало на ней кнопку "r". Исправно играть в призрака она собиралась явно до тех пор, пока не закончилась бы батарейка...


#156: Порождение изначального хаоса

13 ноября 2008, 20:30. рейтинг: 1137


Занимался я пару лет назад поддержкой одной CMS, написанной на PHP в течении лет 4-5 несколькими сменявшими один другого программистами.

CMS платная, исходники сначала никому не давали. А потом в один прекрасный момент гендиректор почему-то стал относиться к раздаче исходников совершенно спокойно. "С энкодером проблемы? Высылай как есть, ничего страшного". На мой вопрос о том, что случилось, ответом было имя одного файла и предложение загля нуть.

Посмотрел. Файл по сути является ядром CMS – принимает данные от пользова теля из админской части, хитро распихивает их по куче XML-файлов и просто текс товых файлов, что-то кладет в реляционную базу, предварительно проверив права доступа и так далее. Взгляд останавливается на 4х строках:

// TODO: фигня какая-то написана

$respondent = $respondent;

global $preLoadExternals;

$preLoadExternals = .....;

Комментарий имеет логический смысл. Первая строка – чтоб точно запомнил, да. Вторая – оно и так исполнялось только в global scope. Третья – строка длиной в пару килобайт с несколькими закрывающимися скобками в конце, после чего $preLo adExternals далее в скрипте нигде не используется.

И такой фигни на три тысячи строк

Да, действительно. Стоит ли бояться, что исходники попадут в чужие руки, если сами разобраться не можем.


#157: Распознавание образов

14 ноября 2008, 09:00. рейтинг: 2586


Велик и могуч Русский Язык!

А все началось с простой задачи: принять на входе строку, введенную пользо вателем, и найти информацию в БД по ключевым словам.

Будь это какой-нибудь английский – задача решается в два счета.

Но ведь у нас как всегда все иначе, у нас есть падежи, склонения, спряжения, окончания, рода, а поэтому простое слово "трансклюкатор" может иметь множество форм, включая "трансклюкаторное оборудование".

Вспомнив уроки русского языка в школе – набросал табличку с падежами, таб личку с окончаниями, и сел заполнять табличку с корнями, подставляя к словам под ходящие варианты. Получилось долго и трудно.