bash.im ithappens.me zadolba.li
5308

Да, он такой

Он не считает себя настоящим программистом, так как знает много пацанов, которые реально круче, и даже одну женщину.

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

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

На стене у него висит плакат «Не забывайте сохраняться!» как напоминание для пользователей и для него самого.

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

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

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

Он не признаётся жене в любви, потому что знает, что услышит в ответ: «Докажи».

Любая кошка в его руках начинает мурлыкать, потому что безоговорочно признаёт в нём хозяина.

Дети в его присутствии перестают плакать, а одно его появление в бухгалтерии внушает уверенность и умиротворённость.

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

Ему до сих пор жалко потерянного рабочего дня, когда он забыл сделать бэкап.

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

Создание SQL-запроса внутри цикла он тоже считает грехом: знает, что такое стек, на аппаратном уровне.

Хеш-массивы вызывают у него чувство ностальгии по постреляционным БД, безвременно почившим в девяностых.

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

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

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

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

В разговоре с пользователем он может произвести впечатление умственно отсталого, когда ему объясняют вполне очевидные вещи (которые в дальнейшем оказываются совсем не очевидными).

Над строкой комментария он думает больше, чем над строкой кода.

Его код красив, а если он на Перле, то читать можно нараспев: «foreach $key (sort keys %FORM)». Красота для него — отсутствие неопределённостей и ненужных сущностей.

Когда ему в очередной раз говорят: «А ведь вы тогда были правы», это вызывает у него не радость, а опустошённость из-за напрасно потерянного времени.

Да, он такой — настоящий программист.

5307

Браузеры отключены, все ушли в офлайн

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

По-настоящему меня поставила в тупик фраза: «Браузеры отключены! Что делать?» Что, все? На компьютерах бухгалтерии свалка, браузеров стоит по три-четыре штуки, но готов биться об заклад, что тамошние «операторы» знают не более одного. И вообще, «отключены» — это как?

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

5306

Аккуратный подстрочник

28 января 2011, 09:00

Тружусь программистом в известной местной конторе. Есть тут грандиозная информационная система, которая потихоньку переписывается с FoxWeb (орудие пыток мозга, развитое из FoxPro с поддержкой сети) на PHP с Ораклом. Казалось бы, всё круто, привет, ООП и остальные прелести жизни! Но не тут-то было и не там-то тоже.

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

5305

Мой хороший с Ботанической улицы

Работал я как-то в конторке выездных ремонтников-сетевиков-админов. Ездили по юзверьским берлогам и фирмам, экономившим на своих админах.

Очередной вызов с короткой формулировкой проблемы: «Не включается ПК». Отметил для себя настораживающий фактор: адрес юзверя — улица Ботаническая, дом 13. Действительно, ботанического вида мама с дочкой, обе в очках с диоптриями, обе в панике: контрольная на носу, а эта зараза не включается. Смело скидываю рюкзак и ныряю под стол. Пилот горит, все провода на месте, даже пыль протёрта, а на корпусе сияют гордые наклейки Билли и продавца. Среди всей этой чистоты и благоухания одна маленькая деталь — выключенный тумблер на БП.

С сакраментальным «ну и ну-у-у» вылезаю из-под стола. Две пары диоптрий вкупе с расширенными зрачками, усугубленные ожиданием «приговора», представляли собой страшное зрелище. Младшие диоптрии, видимо, начитавшись про нашего брата, уже сварганили кофе с печеньками.

Ласково, со словами «Хоро-о-оший мой», поглаживая железку по корпусу, нажимаю кнопку «Power». Приятный шум кулера, лёгкое поскрипывание винта и долгожданное окно на мониторе. Дожидаюсь, пока загрузится вся хрень, которая водится на Ботанической улице, выключаю, требую включить самостоятельно. Ласковое, ботаническое поглаживание корпуса со словами «Хоро-о-оший мой», кнопка «Power»…

5304

Сон в безопасном режиме

27 января 2011, 16:45

Лет пять-шесть назад перетряхивали IT-отдел в одном банке. Вышвырнули с работы слаженную команду профи; оставили одного толкового, но говнюка, который убедил всех, что борьба с БИС — охрененно сложный момент автоматизации, и ничем больше не занимался, кроме, как делал вид, что занят. На должность начальника отдела притащили из Сбера полного дундука, который сам уровнем был ниже, чем большинство пользователей, и жутко гордился тем, что лет десять на VB клепал какую-то фигню.

Угораздило меня в этот момент и влиться в коллектив. То, что делали раньше грамотные ребята впятером, пришлось делать мне: АТС, линии связи, в том числе областные и межрегиональные, настройка и обслуживание рабочих мест, в том числе удалённых, плюс терминалы и банкоматы. Если со всем остальным особых трудностей не было, то с банкоматами встала реальная проблема: я их раньше видел только с программной стороны, а тут ещё потрохами этих кандидатов на свалку пришлось заниматься. Банкоматы — IBM, операционка — OS/2, механизмы все изношенные, плюс стоят в местах массового присутствия весьма изобретательных студиозусов, что жизнестойкости не добавляет.

Надо сказать, что залезть в банкомат можно только в присутствии кассира и охраны. Чтобы поднять банкомат, когда удалённо не получается (мало ли, сбой связи), нужно открыть сейфовую часть, где, помимо компьютерного сердца, находятся депозитные ящики с наличностью. Для этого нужно подать заявку в инкасс-службу, предупредить кассира, что у неё будет прогулка с тройной оплатой, дождаться броневика с автоматчиками и только потом поехать, нажать кнопку «ресет» и по новой вбить все ДИЦы — уникальные настроечные параметры. За время ожидания успевает съесть мозг начальство разных уровней, вплоть до управляющего региональным филиалом.

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

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

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

5303

В глаза гляди!

27 января 2011, 16:45

Полетел модем — обычный «дилинк». Вызвали хлопца из саппорта. Пришёл человек, похожий на Иванушку-дурачка, припёр с собой логин-пароль для нашего подключения. Сбегали и купили на замену Acorp 422G. Сидит это чудо, даже в настройки модема залезть не может — стандартного пароля не знает. «Ща я кое-кого позову, он у нас в этом шарит», — говорит препод.

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

В сумке с нетбуком лежал переносной винчестер на 250 гигов, доверху забитый софтом, дровами, образами операционок, среди которых были не только XP и «семёрка», но и Mandriva. Три флешки, которые валялись там же, оказались загрузочниками всех этих операционок. В недрах сумки нашлись термопаста, отвёртка, швейцарский нож и 3G-модем от белояйцых. Паренёк оказался достаточно общительным и добрым человеком.

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

5302

А был ли мальчик?

27 января 2011, 12:45

Уже несколько лет я занимаюсь IT-аутсорсингом. Небольшие фирмочки от 3 до 20 компьютеров — самый лакомый кусочек в моём бизнесе: настроишь всё на совесть, а потом тратишь всего час в неделю на профилактику. Эта история как раз про начало отношений.

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

Для начала решил проверить программную часть известной утилитой — «авозь» что найдётся. И правда: аж 16 ошибок SPI/LSP, после исправления которых... сеть пропала совсем. Проверка антивирусами не дала никаких результатов. Решил переключиться на проверку аппаратной части. Замена сетевой карты и свитча не помогла. На всякий случай решил проверить линию: отключил патчкорд от розетки и прозвонил. Ура! Перепутана синяя пара, хоть патчкорд и заводской. Исправил, проверяю — опять ничего не работает.

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

И тут до меня дошло: «А был ли мальчик?» Углублённое гугление подтвердило мои опасения: утилита некорректно работала с серверами. Срочно восстановил те самые 16 «ошибок», и сеть взлетела на максимальной скорости.

5301

Всё пиксели да пиксели

27 января 2011, 12:45

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

— Я просмотрел две книги по программированию! Там ничего нет про прямоугольники.

5300

Превед, SSH!

27 января 2011, 11:00

Есть у нас сервер. Изредка приходится им управлять, заливая на него файлы и запуская программы, желательно через дружелюбный интерфейс. Не желая писать «велосипеды», решили, что проще вызывать WinSCP. Система работала, обрастала «мясом», и вдруг случилась ошибка: при соединении через SFTP программа начала сбоить.

Выяснилось вот что. SFTP не может выполнять команды оболочки, и когда нужно запустить программу на сервере, WinSCP поднимает вторую сессию через SSH, попутно выбрасывая в консоль диагностические сообщения наподобие «Подключение» и «Проверка пароля». Эти сообщения и принимаются за результат выполнения программы.

Решение оказалось простейшим: «call echo Preved». Ничего не значащая команда гарантирует, что SSH-сессия уже готова и не будет в самый ответственный момент засорять консоль.