Выбрать главу

Я пытался побороть болезнь: выкинул половину хлама, убрался в комнате, купил красивый системник с подсветкой, монитор, поменял кулер, который кошмарно выл, несмотря на постоянную смазку, купил ноутбук. Но в пути случилась неприятность: наушники сломались ещё раз, и я вместо того, чтобы пойти в магазин, скрепил их стяжками. Чую, через полгода болезнь опять возьмёт верх.

#5497: Долго ли умеючи?

12:00 19.02.2011, IT happens

А начиналось всё с невинного: «Не зайдёшь в гости глянуть на ноут моего шефа? Что-то он жалуется на него, может, винду переставить надо. Это же недолго, да?» Прикинул, что дело на пару часов, и пошёл.

Вижу ноут известной двухбуквенной компании, но в весьма печальном состоянии. Это уже должно было меня насторожить. Посмотрел на ошмётки двух Вист, поковырялся, предложил снести всё это к чертям и поставить хорошую годную «семёрку». Шеф, который, к слову, не разговаривает на русском, согласился.

Ночью решил заняться этим чудом. Первый фейл ждал по извлечении содержимого из пакета, в который запаковали ноут. Штекер от зарядки был обрезан, перепаян и аккуратно затянут в термоусадку. При этом ноут не заряжался. Минут через десять поиска энергетически правильного места (прямо по фэн-шую) плюнул и расковырял. Так и есть: «плюс» питания отвалился. После получасового поиска паяльника или на худой конец газовой зажигалки решил просто зачистить побольше провода и скрутить хотя бы что-то временное.

После бэкапа начал ставить винду. Тут ждал второй сюрприз: диск с ней встроенный привод в упор не хотел видеть. Окей, не вопрос — подключаю внешний, толкаю диск. Сюрприз третий: на ноутбуке нет возможности использовать внешний привод в качестве загрузочного. Начал копировать образ на флешку — и вполне ожидаемый сюрприз четвёртый: загрузка с флешек этой чудной компании тоже не нравится. Решение пришло внезапно и элегантно. Вспомнив о трофейной фляжке с коньяком, провёл очистку линзы на приводе — читает! Сюрприз пятый выпал уже в ходе установки. Винда элегантно намекнула, что не очень хочет устанавливаться на этот диск из-за критических показаний SMART. Дальше установка продолжалась исключительно со скрещенными пальцами.

После пары часов установки винды и софта я решил уже расслабиться. Финальный сюрприз — отсутствующий раздел веника с бэкапом, сыплющегося прямо на глазах…

— Не зайдёшь в гости глянуть на ноут моего шефа? Что-то он жалуется на него, может, винду переставить надо. Это же недолго, да?

#5498: Цифра в боксе, плюс в уме

14:00 19.02.2011, IT happens

Учусь в небезызвестной Бауманке на робототехнике. Начало второго семестра, первая в нём информатика и задание: написать на WinForm калькулятор. Пока все радостно рисовали кнопочки на форме, я решил сделать калькулятор из двух текстбоксов, вылавливая в них ключевые символы по событию Change и отправляя в нужные переменные, дабы потом посчитать. Ловила программа элементы не как-нибудь, а брала для этого из текстбокса символ по счётчику, который рос при каждом вызове этого самого Change. Да, знаю, что индусятина, но вылетела из головы команда, чтобы длину строки получить.

Как это должно было выглядеть в идеале? Пользователь пишет число, жмёт, например, плюс, прога радостно этот плюс стирает, переносит в лейбл рядышком и перебрасывает курсор в соседний текстбокс. Как всё получилось? Пользователь вводит число, жмёт плюсик и… лицезреет ошибку.

Дебажили половиной группы во главе с преподом. Путём удаления строк кода выяснили, что ошибка возникает, если после нажатия плюса прога пытается записать в текстбокс что-то длиннее того, что там уже было. Долго дебажили, ошибку не видели. Хотели уже списать на мистику и бросить, но с помощью препода и чьего-то внимательного глаза баг нашли. Кто-то, может, уже и догадался, в чём дело; их попросим тихо читать дальше и не кричать, что убийца — дворецкий. Для остальных же расскажем, как всё это происходило с точки зрения компьютера.

Ой! Пользователь нажал кнопку! Так, счётчик у нас ноль, смотрим нулевой символ… Ага, единичка. Ничего делать не буду, но счётчик плюсану. Ай! Опять кнопку нажали. Ладно, надо свои ватты отрабатывать. Счётчик — единица, и под номером один у нас… ага, плюсик. Мы его из текстбокса убираем. Вай, что это — опять событие Change! Я же и то не закончил! Ладно, справлюсь, у меня оперативки много. Что, опять проверять текстбокс? Ладно. Счётчик — единица. Что? Да нету здесь символа с таким номером! Идите вы все…