Ковырял сегодня модуль на PHP. Уже было собрался заканчивать, но вспомнил, что не дописал одну необходимую функцию. Полез снова в код, и так его крутил, и эдак — не работает, и всё тут!
Через некоторое время, когда я уже исправил всё, что только можно, меня это окончательно достало — решил заняться чем-нибудь другим и закрыл редактор кода. Взгляд упал на файловый менеджер, в котором, конечно же, была открыта директория с локальной копией файла, с которым я только что работал. Неудивительно, что на сайте изменения не отражались.
Когда же я скопировал изменённый локально файл на сервер, всё сразу заработало без отладки. Для исправления кода мне оказалось достаточно одного лишь факта, что он не работает. Вот такое, блин, программирование вслепую!
Сдача дипломного проекта — экспертной системы с функциями самообучения. Гриф «секретно». Пишется код в спецпомещении на спецкомпьютере, все материалы после работы упаковываются в чемодан, сдаваемый на спецхранение. Язык — Пролог, который во всем вузе знают ровно два человека, я и товарищ-студент. За неделю до защиты вирус сносит всю информацию с диска. Бэкапов нет — «секретно».
В срочном порядке методом копипаста генерируется листинг программы позаковыристей, рисуются блок-схемы, оформляется сопроводительная документация. Диплом спасён: все документы налицо, всё проштамповано и зарегистрировано в секретной части, защита подготовлена и отработана. А что программа не работает — так она же секретная, ей нельзя!
Учился я в техникуме на программиста. Курс тогда был то ли первый, то ли второй. Урок программирования на Паскале. Была у нас в группе светловолосая девушка Ира, которая, как и большинство, ни черта не понимала в программировании, но очень выпендривалась, наслушавшись своего парня-программиста. Ира спрашивает учителя:
— Почему мы ещё учим Паскаль, а не Делфи? Мой парень говорит, что мы должны уже изучать Делфи. — Твой парень программист? — Да. — Ну, а на каких языках он программирует? — В смысле? Ну... на русском, английском...
Только бедняжка Ира не поняла, над чем все хохочут.
Работаю городской компьютерной скорой помощью. Так вот, моя жена училась на программиста. За трое суток до сдачи диплома созналась, что программа не работает. Двое суток плясал с бубном — написал ей новую.
Диплом жена сдала на отлично. А её куратор (мы давно знакомы по работе) через час после этого позвонила и попросила в следующий раз писать код для студентов так, как они их учат. А это как, простите?
У нас эксплуатируется взрослая система радиосвязи от одного маститого европейского производителя. Так вот, у этой штуки, в программе управления абонентами есть две вкладки: «Permissions» (разрешения) и «Blocking» (запреты). Так вот, в «Permissions» установка галочки напротив того или иного пункта означает запрет абоненту пользоваться услугой, обозначенной в пункте, а на вкладке «Blocking» — наоборот.
Интеграторы заметили это дело поздно, когда система уже пошла в серию, а поэтому просто задокументировали: «Это не баг, это фича».
Пишу прошивку для микроконтроллера. Понадобилось обеспечить полную перезагрузку после определённой команды в терминале, чтобы удалённо можно было железку с микроконтроллером «отресетить», да ещё и минимумом команд обойтись — память у контроллера не резиновая.
Читаю мануал к компилятору. Есть функция программной перезагрузки. Работает, только если у программы один поток, а у меня три — не подходит. Есть функция аппаратной перезагрузки. Нужно выделять ножку ввода-вывода на контроллере и цеплять её к линии сброса контроллера. Не пойдёт: схему менять уже нельзя, да и ног свободных уже нема. А потом вспомнил: у меня же используется встроенная в микроконтроллер защита от повисания (мало ли что) — если две секунды сторожевой счётчик не сбрасывается, то самоперезагрузка обеспечена.
Цикл while true do begin end в итоге решил всё дело. Уложился в 18 байт машинного кода вместе с обработкой команды.
Сегодня засиделась под утро над SADT-моделированием системы дистанционного образования. Опа, уже пять! Пора баиньки. Перед сном заглядываю в холодильник и по инерции размышляю: «Надо будет завтра спроектировать салат с шампиньонами». Мысленно открываю BPWin, рисую диаграмму... Всё-таки ночью лучше спать!
8 марта 2010
В этот совершенно не-айтишный праздник мы ни в коем случае не можем забыть о вас, любимые наши женщины! Счастья вам и бесперебойной работы вашим компьютерам!