Купили для нужд кладовщиков цветной лазерный принтер. Их начальница (хотя с компьютером почти на «ты») сильно удивилась:
— Я всю жизнь думала, что лазерный принтер печатает, выжигая лазером буквы на бумаге, поэтому может быть только чёрный цвет!
Купили для нужд кладовщиков цветной лазерный принтер. Их начальница (хотя с компьютером почти на «ты») сильно удивилась:
— Я всю жизнь думала, что лазерный принтер печатает, выжигая лазером буквы на бумаге, поэтому может быть только чёрный цвет!
Ковыряюсь в панели управления NVIDIA, пытаясь выжать все соки из своей новой видеокарточки. Через некоторое время на что-то натыкаюсь, но бегу дальше. Запоздалая реакция в мозгу заставляет меня вернуться в список предустановок для разных игр. В громадном списке рекомендуемых настроек натыкаюсь на следующее:
Aliens Versus Predator 3 — avp.exe
И ладно бы просто название — а ведь это прямой путь к моему красноармейцу в комплекте с иконкой! Вона как красная армия, оказывается, «чужих» изводит...
Мудрость наших отцов и дедов гласила: «Нет такой программы, которую нельзя было бы сократить хотя бы на один оператор». Учитывая, что вводить код приходилось с перфокарт, индийский подход был нежизнеспособен. Те времена прошли, но «мышечная память» всё ещё жива в некоторых преподавателях программирования.
История эта произошла со мной, когда я учился на первом курсе МИРЭА. Очередная лаба по программированию: матрица N×N с рандомными числами, задающими расстояние, в которой надо было провести расчет кратчайшего пути из {1; 1} в {N; N}. Первая версия программы была напичкана циклами и массой условий. Работала быстро — ну, насколько это позволял третий «пень». Тётечка-преподаватель, оценив код, сказала, что надо бы оптимизировать. Почесав репу, я изрядно переписал код: количество циклов сократилось вдвое, а условий — втрое. «Всё равно много», — сказала тетечка.
Десятая версия выглядела примерно так:
i := 0;
while ((48 условий) and (i <= N*N)) do inc(i);
Только после этого я получил зачёт и фразу, которая вьелась мне в мозг: «Памяти много не бывает!»
С детства я увлекался электроникой. Потом было программирование, которое стало увлечением серьёзным, заняв меня на долгие годы. Чтобы поступить в институт по интересующей специальности в начале нашего столетия, нужна была кругленькая сумма, поэтому я получил среднее образование. В 2005-м мой опыт разработки ПО достиг такого уровня, что я без проблем смог пройти собеседование на должность инженера-программиста в крупной компании, где закрыли глаза на отсутствие диплома. Через два года я решил всё-таки получить заветную «корочку» и поступил на экономиста. Хоть обучение было заочным, лекции я посещал часто, и преподаватели без проблем ставили зачёты/экзамены — достаточно было пробормотать что-нибудь по теме. Не ходил я только на один предмет — информатику.
И вот зачёт. Предварительно посмотрев, что было на лекциях, шёл спокойный, как танк. В голове крутился интересный проект по работе. Преподаватель — женщина средних лет, строго одета, невозмутимый взгляд. На несколько первых вопросов я ответил, но ей было мало: она меня впервые видела.
— Молодой человек, а теперь скажите мне, какие языки программирования вы знаете.
— C/C++, Pascal/Delphi, VBA немного, — особо не задумываясь, ответил я.
— Это слишком мало. Если бы вы посещали лекции, знали бы больше! Встретимся на следующей неделе.
«Ни хрена себе: оказывается, для экономиста этого мало!» — думал я, выходя из кабинета. Тут меня осенило, что же преподаватель имела в виду. Подождал, попытался всё объяснить. Женщина на меня смотрела круглыми глазами, когда до неё дошло, что в айтишном мире понимают под знанием языка. Преподаватель извинилась и пообещала экзамен автоматом.
При попытке установить старую добрую игру на новый комп столкнулся с неожиданной проблемой: установка вылетала на проверке соответствия системы требованиям игрушки. Окно с ошибкой появлялось на долю секунды, и сразу же после этого установщик валился.
Пораскинув мозгами, я поставил Фрапс и записал процесс установки. Оказалось, установщик считал объём оперативной памяти и, дойдя до 256 МБ, благополучно вылетал. Проблема решилась установкой игры на виртуалку с последующим копированием в рабочую систему.
Рекламное агентство с представительствами в нескольких регионах. Печать материала на местах пока в полной мере не налажена, посему высылаем открытки, буклеты и прочее почтой по мере надобности.
Приходит запрос от сотрудницы, которую, видимо, только что приняли на работу — даже корпоративную почту завести не успели. Перечень составлен грамотно, но человек по непонятным причинам не представился. Из информации на тот момент был только электронный адрес: peaceyulia@ширпотребмейлхост.ру.
Строка «Уважаемая peaceyulia» в шаблоне ответного письма повергла весь офис в пятнадцатиминутный технический перерыв.
Работал я некоторое время назад в крупной компании. Была там одна женщина, начальник отдела, абсолютно IBM-несовместимый человек. Дело было даже не в том, что она не особо умела работать на компьютере, — компьютеры не хотели работать с ней. Прекрасно работавший ещё вчера комп, попав к ней, начинал жутко глючить: рябил монитор, скакал курсор, не запускались программы, отказывала печать, пропадала сеть, висла система, демонстрируя бесконечные синие экраны… Иногда даже что-нибудь из железа сгорало. Если проблема не исчезала сама собой с нашим приходом, через полчаса усердных плясок с бубном её обходили установкой какого-нибудь «костыля», но источник неисправностей найти никогда не получалось. Женщина была серьёзная, в годах, играми и инетом не увлекалась, так что диверсию заподозрить было нельзя. Чего только мы не делали: тестировали систему и железо всеми утилитами, которые только могли найти, меняли запчасти, переустанавливали проги, искали вирусы, напряжение в розетке проверяли, провода перекладывали, разве что святой водой не кропили.
Однажды мне поручили собрать ей очередной комп. Памятуя о недоброй славе дамы, к делу я подошёл максимально ответственно: тщательно отобрал самые надёжные комплектующие, всё делал очень аккуратно, дважды перепроверял каждую мелочь, — в общем, старался больше, чем для себя. Когда я уже почти закончил ставить систему, зашёл наш начальник и между делом поинтересовался:
— А это ты для кого комп делаешь?
— Для %username%.
Секунд через тридцать винда упала в синий экран. Пересобрал, поставил систему и ПО заново, всё вручную настроил. Несколько дней мы гоняли машину у себя в отделе, называя исключительно «комп-для-сами-знаете-кого». Всё работало как часы — ни малейших отклонений. Отнёс. На следующее утро снова что-то сломалось.
В конце концов нашему начальнику это надоело, и он заявил, что мы лентяи и олухи. Персонально для этой сотрудницы был куплен новый компьютер белой сборки с предустановленной системой. Лезть внутрь нам было категорически запрещено. Загнали машину в домен, установили софт, и я торжественно понёс её на место.
У рабочего стола тётушки стоял этакий невысокий шкафчик-тумбочка, где та хранила чашки, ложки, туфли и прочую дребедень. Дверцы в нём не были предусмотрены, поэтому на нижней полке, подальше от тряпок уборщиц, жил системник. Новый компьютер помпезно занял место старого, давно уже желающего смотаться подальше. Заботливо проверив все провода и свободу воздухообмена, я удалился.
На следующий день, едва я зашёл в кабинет, у меня зазвонил телефон. Да, это была она. Коротко бросила: «Зайди».
Под компом обвалилась полка.
На днях принимал на работу креативщика. Проверяю тестовое задание. Весь код выполнен в стиле:
char t = malloc(SIZE);
if (t == NULL)
return 0xFFFUUU;
if (...)
return !(PALM += 0xFACE);
Парня приняли, но с наказом больше так не шутить.
В магазине радиодеталей выбираю оловоотсос. Девушке за прилавком:
— Девушка, мне, пожалуйста, отсос за двести рублей...
Начинаю понимать, как это звучит, но слова уже покинули мозг и находятся на пути к голосовым связкам.
— ...и две насадки за двадцать!
Решил я сменить пароль на небольшом аппаратном маршрутизаторе в городе за полстраны от меня. Маршрутизатор далеко, специфика его работы не позволяет просто набрать passwd в SSH и наслаждаться. Впрочем, можно использовать более другую команду.
Подумал. Ввёл красивый пароль «xnjnjnfv$$». Отправил аппарат в ребут. Возвращается он из ребута, а залогиниться я не могу: неверный пароль. Закравшееся подозрение проверяю на другом маршрутизаторе. Так и есть: $$ — переменная, PID текущего процесса, то есть практически произвольное число.
Грустно, но не фатально. Пришлось писать скрипт для брутфорса собственного пароля.