Просыпаюсь от звонка начальника. Еле-еле понимаю его речь о неработающем сервере и заодно пытаюсь вспомнить, что было вчера. А что было вчера?.. Ничего не помню. Смотрю на календарь — суббота! Значит, вчера была пятница. Начальник уже матюгается в трубку и требует работающего сервера сейчас. Открываю консоль.
$ ssh root@srv1.*****.net
«Connection refused», — отвечает сервер. Получается, он обесточен?
За семь минут доезжаю до работы. Сломя голову, бегу в серверную и вижу там... да, выключенный сервер.
— Александр ***ич (так зовут начальника), вчера после меня кто-нибудь заходил в эту комнату? — Нет, никто.
Поднимаю сервак, смотрю историю команд... Кто-то (как выяснилось, я с домашнего компьютера) зашёл по SSH и тщетно пытался перезагрузить сервер:
Работаю в банке на поддержке АБС. Звонит операционист: «Набираю дату рождения, и программа не даёт ничего сделать: не пропускает дальше, не делает отмену операции, тупо не выходит из поля ввода даты».
Подключилась через Радмин, смотрю: вроде всё правильно. Перебила дату лично, так, на всякий случай: 31.04.1957. Так, стоп, с каких это пор у нас в апреле 31 день?.. Попыталась указать операционистке на её тупость. Однако это не она умом обделённая оказалась. Не то паспортисты рехнулись, выдав документ с такой датой, не то клиентка, счастливо празднующая день рождения 31 апреля, не то все они вместе взятые.
Пожаловался мне как-то друг на сильный шум от системного блока. Мол, гудит и гудит — надоело уже. Ну, я ему сказал: скорее всего, дело в видяшном кулере. Спросил, когда друг смазывал его последний раз, — оказалось, что с момента покупки комп ни разу не разбирался.
Договорились о встрече. Прихожу в гости, снимаю крышку системника, вынимаю видюху, наблюдаю толстенный слой пыли на кулере и дую. После того, как пыль рассеялась, воцарилось молчание. На кулере была одна лопасть.
Если уж все пошли вспоминать своих институтских преподов, то вспомню и я. Первый же день моей учёбы в универе был омрачён парой по информатике (или как её там), где женщина солидного возраста объясняла поточной аудитории, что в течении двух семестров мы будем изучать с ней язык программирования Turbo (тут она сверилась с бумажкой) Basic. Тут мой здравый смысл ушёл на покой, разбудив во мне подросткового быдлокодера, который выучил C++ по книжке и ещё в школе писал всем зачётные-выпускные по информатике — двумерные аркады с подробными комментариями, которые потом были дисквалифицированы за единый стиль. «Бейсик — не язык, а обучающая программа. Для высшего образования это слишком слабо! Да он проходится за неделю! Он не соответствует современным концепциям!»
Короче, меня хватило на две лекции, где оказалось, что «правильный» — только тот код, который в её тетрадке. Реализовать по-своему мы не способны в принципе, а код, что мы написали, если он короче её реализации, «не заработает, мы пробовать не будем — это и так понятно». В самом начале третьей лекции я ушёл, заявив на всю аудиторию:
— Мне надо! Я пойду пиво пить. Не то чтобы мне не нравился предмет — мне он очень нравится, — просто то, что вы рассказываете, это бред. Он делает меня только глупее, так что я не вижу смысла в своем присутствии на ваших лекциях. — Встретимся на экзамене, — тихо ответила женщина.
Группа какое-то время смотрела на меня, как на прокажённого, но после пары семинаров, которые вёл другой препод, стала просить о помощи. Три человека в свободное время ходили ко мне на занятия в свободной аудитории два раза в неделю. Преподавать оказалось непросто, особенно если тебе семнадцать и ты не на одной волне с окружающими.
В день экзамена я зашёл в кабинет с опозданием на час и с порога затребовал задание на «отлично», на что закономерно получил ответ: «Сначала посмотрим, знаешь ли ты хотя бы на тройку». Предлагалось написать программу на бумажке. Не проблема: «Эту задачу можно решить так, но в соответствии с концепцией структурированного программирования... А с точки зрения процессорного времени...» Задание на пятёрку я таки получил и написал код в тетрадь — короткий, оптимизированный, а не тот, которому она учила.
— Садись за компьютер, набирай программу. Если заработает — «отлично». У тебя полчаса. — Мне хватит пяти минут.
Методом десятипальцевого слепого копипаста я набрал код и запихнул его в менюшку: все задания в одной проге. Всё оформил, проверяю. С примером из задания — ОК. С «введите вручную» — ОК. С значениями из генератора случайных чисел, в том числе знакопеременными — неправильный результат! Я покрываюсь холодным потом: время заканчивается... Убираю из менюшки вариант со случайными числами.
— Всё готово. Проверяйте. — Результаты сошлись? — М-м-м... Да! — Ну, не мне вас проверять. Пять.
Ошибку я нашёл позже. На потоке пятёрки получили всего несколько человек: я и моя «группа».
* * *
Позже я помогал «за еду» пересдавать экзамен у той же преподши своей знакомой. Подтолкнув в класс знакомую за талию, я пояснил, что она «очень боится не пересдать, и я её поддерживаю». Через пять минут после раздачи заданий преподша вышла «попить чаю». За минуту я помог подопечной, ещё 15 минут ушло на остальных — сдали все.
По пути домой из ресторана я наткнулся на шумную компанию студентов, отмечавших халяву — оказалось, те самые, которым я помог. Вскладчину ребята выставили мне три ящика пива, которые мы коллективно и распили. На этом воспоминание оканчивается.
В этом году в Черноземье стояла дикая жара: нормальной температурой считались +40 ˚C. В серверной, забитой оборудованием, было бы ещё жарче, если бы не промышленные кондиционеры. Но и они в конце концов сдались. Главный «Дед Мороз» переставал запускаться, если за бортом было теплее +30, что объяснялось наличием защитной бипластины. Приходилось выключать на ночь.
Сам техотдел спасался замороженной в холодильнике водой, минеральной и обычной. Она-то и натолкнула на гениальную мысль: почему бы пораньше утром не обложить внешний блок кондишна бутылками с замороженной водой, а когда охладится, запустить его?
Так и сделали. Кондиционер охлаждается, мы стоим внизу ждём. Тут одна из бутылок падает с четвёртого этажа и разбивается с характерным ледяным хрустом. Налицо потенциальная производственная травма! Стали ржать по поводу возможной формулировки: «В разгар жары прибило сосулькой».
Сейчас я программлю на 1С, но во времена студенчества работал на Delphi и C++. Денег у студента нету, зато есть куча людей, у которых они есть, и они готовы ими делиться ради написанных программ. Брался я с охотой, делал максимально хорошо. Проблем с заданиями не возникало, тем более если они были толково составлены преподом.
В пору сессий «подфартило» мне взяться за задачи каких то ПТУшников. Профит ожидался небольшой, но студенту три задачи по 40 рублей, помноженные на 40 человек в группе ПТУ, могли только сниться. Естественно, меры предосторожности я принял, сперва взявшись за задачи лишь одного человека. Полчаса — и две готовы, а взглянув на третью, я понял, что задания надо читать сразу. Не буду приводить точный текст, но требовалось написать программу, которая парсит и вычисляет логические выражения.
Была убита неделя. За другие задачи я даже браться не хотел после этого. Добило то, что человек платить отказался: программа «не работала», то бишь он не смог объяснить преподавателю, что происходило на экране.
Прошло много времени, но калымить желания так и не появилось. Лёгких денег не бывает.
Три назад на работе я собрал из своего железа компьютер для себя любимого: задолбало сидеть на компах, которые через месяц передаются тому, у кого что-то подохло. Начальство было в курсе ситуации. Меня устраивало, что я сижу за компом, который никуда от меня забрать не могут; их устраивало, что я не пристаю к ним с вопросами, когда мне выделят очередной системник.
Комп верой и правдой служил до момента, пока в кабинете не случился пожар. Верного друга залили водой. Обесточить-то, конечно, обесточили, но UPS на 2600 ВА выдержал. После реанимационных действий и шаманских танцев с бубном машина ожила и с незначительными глюками продолжила работать. Но вот настал страшный день «П»: комп мигнул синим экраном и отказался заводиться. Два дня, прошедшие в попытках оживить боевого друга, лишь подтвердили первоначальный диагноз: сдохла мать.
Прихожу к начальству и сообщаю: так, мол, и так, умер комп.
— Пиши служебку. Опиши причины, обоснуй замену. — Так и писать: «Ввиду того, что мой домашний компьютер вышел из строя, прошу приобрести мне новый?» — ... — Не вопрос! Сейчас напишу, только как вы её подпишете? — А как мне объяснить, что у тебя на рабочем месте стоял компьютер, не числившийся на предприятии, и ты на нём нормально работал?
В общем, полный цейтнот и цугцванг. Крайний срок сдачи программы через полторы недели.
Поставил для XCode, понравилось, переключился с линукса. Последние два часа искал планировщик задач: всё или платное, или не работает. Надоело. Налил кофе, наблюдаю за компиляцией mc в терминале. Через минуту пришла мысль «@#$! BSD! cron!»
За свою жизнь я успел заняться и администрированием, и программированием, так что приколы винды знаю как свои собственные. Именно поэтому мне сегодня позвонил друг рассказать очередную страшную историю. Дальше — с его слов:
— Прихожу после занятий, сажусь за комп, винда молча и дружелюбно пропускает меня, загружает рабочий стол, значки, панели. Решил посмотреть видео. Наткнулся на клип «Как обойти пароль винды» или что-то в этом роде. Начал смотреть — интересно ведь. В процессе изучения полез поглядеть на список пользователей, чтобы создать пароль. Захожу и уже вижу строчку «Защита паролем» под учёткой. Значения не придал: винда никогда не предлагала даже выбирать пользователя, не то что вводить пароль. А если пароль и есть, то 100% один из моих четырёх стандартных — винду ставил сам. Но после перезагрузки оказалось, что пароль теперь запрашивается, и что ещё ужаснее, он не мой! Я не понимаю, как такое может быть!
Во время его рассказа мне лезли в голову мысли о том, что пароли на винду ставятся через какие-то WinAPI-функции, что теоретически возможно написать софтину, которая молча сменит пароль во время активного сеанса без ведома пользователя. И тут внезапно:
— Кстати, а что делает команда net user Admin /random?