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

#8082: О тщете мелких коммитов

13:00 21.12.2011, IT happens

С другом содержим небольшую аутсорсную контору. Поехали как-то срочно к клиентам, а поесть не успели. Ну, не беда: в здании есть автомат со всякими чипсами, печеньем и колой.

Сую деньги, выбираю ячейку, жму выдачу товара. Пружинка крутится, пачка ползёт, но не падает, застревая. Сумма крохотная, но всё же обидно. Покупаю такую же пачку чипсов. Вторая выталкивает первую, первая падает, вторая тоже падает вниз, но застревает непосредственно над окном выдачи — не достать.

Не беда! Друг покупает напиток, находящийся как раз над застрявшей пачкой. Страйк!

#8083: Фейл по-чёрному

13:00 21.12.2011, IT happens

Звонит коллега по работе:

— Слушай, тут у подруги системный блок столько лет стоит сломанный, а выбрасывать жалко. Заберёшь?

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

В чёрном-чёрном корпусе (с ЖК-дисплеем и термодатчиками), в чёрном-чёрном дисководе забыли чёрную-чёрную дискету, с которой компьютер каждый раз безуспешно пытался загрузиться и на чёрном-чёрном фоне писал «что-то не по-нашему».

Теперь продаю полностью рабочий четвертый «пенёк». Вам часом не нужен?

#8084: Пёсика-то за что?

13:00 21.12.2011, IT happens

В процессе работы полез в исходники одного пакета (очень удобного и полезного, кстати). Код красивый, прозрачный, понятный, неплохо откомментированный. И вдруг натыкаюсь на такой кусок:

// check if any component is linked to OnRxChar event

procedure CheckLinks;

{$WARNINGS OFF}

var

I: Integer;

FuckMeAndMyDogToo: Pointer; //TCPortBytes;{Pointer}

ComLink: TComLink;

ReadFromBuffer: Boolean;

begin

FuckMeAndMyDogToo := nil;

Это ж до чего человек дошёл в процессе разработки, что так переменную обозвал?

#8085: За повышение load average

13:00 21.12.2011, IT happens

Я работал программистом и сисадмином, но фирма разрасталась, и совмещать становилось всё труднее. Шеф решил взять админа отдельно, и одна из сотрудниц предложила своего сына. 11 класс, мальчик умный, поступать будет в соответствующий вуз. Платить много не надо. Чем чёрт не шутит — пригласил его на собеседование. Действительно умный, вежливый, свободен четыре часа в день. Сообщаю шефу: «Можно попробовать, вроде всё хорошо».

Всё действительно оказалось неплохо. Схватывал парень быстро, был ответственен и исполнителен. Вместе с ним на пару собрали и подняли новый сервер. Через два месяца я полностью отстранился от администрирования, а школьник потихоньку улучшал всё это дело.

Летом парень благополучно поступил в свой вуз. К концу лета на шефа то ли родственники надавили, то ли сам решил. Взял он нового админа — своего родственника, только закончившего вуз. По идее, он должен был месяц входить в курс дела, но уже через неделю админ-выпускник с обидой сообщил, что уходит: «Новый говорит, что уже всё понял, и советы школьника ему не нужны». Ну, оба молоды, всякое бывает.

Спустя четыре месяца произошло крупное ЧП: умер сервер, обеспечивающий 80% документооборота фирмы. Работа встала почти полностью. Шеф рвёт и мечет, админ кивает на «закладки» предыдущего, меня как одного из сборщиков сервера кидают на его восстановление.

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

Было у нас правило: каждую неделю админ делал бэкап всех пользовательских данных на болванки. Радость шефа, когда он узнал, что последние три месяца бэкапов не было никаких, трудно передать. Через неделю головной боли и полного паралича всей фирмы админа уволили, а я отправился в университет в поисках старого знакомого.