Истории с тегом: мысли о вечном

Всего историй: 830

829

Дитя хаоса

В университете при проверке лабораторной работы преподаватель спрашивает студента:

— Почему нет проверки входного значения?

— Да какой нормальный человек, задавая время, будет писать что-либо, кроме цифр и двоеточия — особенно, если видит надпись «Введите время в формате ЧЧ:ММ»?

— Молодой человек, хороший программист должен учитывать всё! Откуда вы знаете, какой пользователь будет работать с этой программой?

Задумчивый голос откуда-то из глубин аудитории ставит точку:

— Ага, пользователь — это периферийное устройство хаотического ввода...

809

Дежавю

Занимаюсь фрилансом — разрабатываю всевозможные мелкие программы для автоматизации процессов.

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

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

Отсылаемые архивы я не пронумеровывал, и клиент по невнимательности запускал старый скрипт — назывались-то файлы так же.

Даже если программа никогда не уйдет в публичный доступ и пишется исключительно под одного человека, всегда нумеруйте версии!

800

Удивительная история простого фотолюбителя

Шесть лет назад я купил компьютер и тотчас же захотел завести свой сайт. Сказано — сделано: сначала это были три шаблонные странички на boom.ru, потом — сайтик на HTML на Народе, через пару месяцев я освоил скрипты и сделал более-менее приличного «хомяка».

Естественно, в какой-то момент мне захотелось выгрузить на сайт фотографии. Тут и начались проблемы.

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

Картинки получались, конечно, не слишком привлекательного вида — сегодняшние телефоны снимают с лучшим качеством. Разумеется, из снимков хотелось вытянуть всё, что можно. С фотошопом я не был знаком, так что единственным способом подкорректировать цвета и хоть немного «оживить» картинку для меня была кнопка «Автонастройка» в Microsoft Photo Editor, входящем в Office XP. Понятно, универсальная функция не всегда давала на выходе то, что мне хотелось бы видеть, да и на отпечатанных в ателье фотографиях с балансом белого было не всё здорово. Частенько я лицезрел на мониторе то красно-жёлтые оттенки на холодных зимних фотографиях, то какую-то зелень в небе.

Однако небольшой опыт работы с видеокамерой в то время у меня был, и я знал, что освещённость объекта напрямую влияет на то, как он будет выглядеть на экране телевизора. Решив поэксперементировать, я сделал для себя несколько открытий: оказывается, холодные зимние снимки «сканировать» лучше всего при освещении из окна, весенние — в свете лампы дневного света, а летние — включив настольную лампу прямо над фотографией! Фотографии неожиданно «заиграли», хотя, конечно, до снятых современной любительской цифровой камерой им было далеко.

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

794

Критическая ошибка — нажмите OK для увольнения

Вы говорите, ошибки программирования? Это всё ерунда. Незначительные недоработки, огрехи и шероховатости.

Хотите узнать, что такое настоящая ошибка?

Представьте: здоровенный автоматический погрузчик, управляемый программой, которую написали в твоём отделе, вываливает восемь с половиной тонн строительного мусора прямо перед зданием управления.

В день приезда генерального директора.

На машину генерального директора.

В которой мирно спал кот жены генерального директора.

790

Этот ноут не задушишь, не убьёшь

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

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

Смотрю в BIOS — на процессоре можно кипятить воду! Поднимаю ноутбук и вижу аккуратно обрезанный по краям кусок мягкого коврового покрытия с длинным ворсом. Естественно, коврик закрыл все вентиляционные отверстия.

Друзья признались, что переживали за экстерьер новенького ноута и поэтому решили таким образом обезопасить его от царапин. Чрезмерная забота до добра не доводит!

786

Моральные аспекты трансплантации

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

Однажды на одном из компьютеров падает ОС. В целях повышения квалификации моего напарника именно ему начальник смены велел переустановить ОС, для чего выдал установочный диск.

Напарник три дня шаманил с машиной, не притрагиваясь к компакту. На четвёртый день я увидел работающий компьютер с полным комплектом необходимого ПО. Только я хотел похвалить своего напарника, как увидел начальника смены, стоящего рядом. Вид у него всегда серьёзный, но тут он был озадачен донельзя.

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

С тех пор прошло три года, напарник уже стал начальником смены. То ли ещё будет.

768

Тапочки-убийцы против Ctrl+S

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

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

Через пару месяцев собрались мы с подругой в в кино. Сижу у неё, жду, пока она закончит статью. Вдруг подруга вскрикивает: «Ну вот! Опять перезагружается!»

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

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

767

Картон его укутывал — смотри, не замерзай!

Приезжаю к клиенту, осматриваю больного. По всем симптомам налицо перегрев процессора. Снимаю кулер, намереваясь освежить термопасту, и наблюдаю суровый теплоизолятор в виде рекламной наклейки от материнской платы. Не какой-то новомодный пластик, а настоящий экологически чистый картон в половину миллиметра толщиной!

Процессор укутали заботливо, чтобы не замерз в любую стужу. На мой простой вопрос, где же так обошлись с компьютером, ответили просто: «В мастерской».

Единственное разумное объяснение — клиенты довольно прижимистые люди в отношении оценки труда и знаний. Может быть, доблестный «мастер-из-мастерской» таким образом решил их проучить?

763

Отказавшись от поиска лёгких путей, удалять зубы исключительно у проктолога - клянемся!

Я спец на все руки: эникейщик, сисадмин, консультант по рабочим и нерабочим вопросам. Так исторически слежалось. По совместительству я — столп адекватности и светоч здравомыслия. Вот, например, звонит после работы сослуживец:

— Если воткнуть в ТВ-тюнер антенну, а из видеокарты провод в телевизор, я смогу смотреть телепередачи?

— Слушай, а ты не можешь воткнуть антенну напрямую в телевизор?

Коллега теряет дар речи, нервно хихикает и вешает трубку.

733

Watch your six

В университете в качестве курсовой работы по программированию мы небольшой группой писали игрушку — двумерную платформер-стрелялку.

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

Принялись за объект героя, написали ему систему поражений и прикрутили обратно. Тут началось странное — при попытке атаковать первого же врага главный герой погибал.

В чём дело? Условия смерти героя мы описали верно, разве что кровь ещё не нарисовали. В игре используется всего один объект «пуля». Бились над проблемой долго и безрезультатно.

Наконец меня осенило. Герой оказался самоубийцей! При выстреле пуля начинала полет с земли, догоняла героя и смертельно поражала его в пятую точку.

Проблему решили, написав новый объект «пуля_героя», для которой сам герой был неуязвим. Товарищи, никогда не забывайте про кровь — по крайней мере на время разработки!