5309

Свято место полно

Засел я обновлять пакет Офиса на своём стареньком ноуте с 2003-й до 2007-й версии. Догадываясь, что может понадобиться много места, снёс всё лишнее и редко используемое, и с большим трудом освободил целых 1,9 гигабайта на диске С:. Запустил setup.exe, выбрал всё нужное, поставил. Смотрю — места остался один гиг. Так и думал: прожорливый, зараза.

Захожу в Program Files, смотрю размер папки Microsoft Office 2007 — всего 300 МБ. А где же ещё 600? Хожу по диску и натыкаюсь на две свежесозданные папки: C:\MsoCache и C:\Windows\Installer, каждая размером ещё по 300 метров. Внутри каждой из папок — частично распакованная копия дистрибутива. Зачем мне две копии, если у меня оригинал есть?

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

Ладно, неважно, сейчас мы его опять освободим. На фига нам MsoCache? На крайний случай — вот он, дистрибутив на диске. Удаляю папку MsoCache, запускаю установку сервис-пака, жду. Опять ошибка. Лезу в лог — опять не хватило места. А сколько ж ему надо? И вообще, сколько сейчас свободно? Один гиг. Как так, я же MsoCache удалил, а она 300 занимала? Опаньки, а почему это Installer уже 600? Так и есть, в нём полураспакованная копия сервис-пака.

Ё-моё, вы задолбали. Удаляю папку Installer. Запускаю опять установку сервис-пака. Две секунды — «Установка завершена успешно». Отлично, даже удивлён, что так шустро. Даже сомнения берут, возможно ли такое. Надо бы перепроверить… Где наш лог-файл? «Установка невозможна, потому что база установки повреждена». А кто говорил «успешно»? И что мне с тобой теперь делать?

Окей, попробую переустановить Офис, потом подумаю, где ему найти место на сервис-пак. Доступные варианты: установить, удалить, отремонтировать. О, это мысль, выберу «отремонтировать», пусть восстановит себе папку инсталлера, если уж он без неё жить не может. Выбираю. Шуршит, шуршит — «Ремонт завершён с ошибкой». Где наш лог, будь он неладен, почему ошибка? Потому что база установки повреждена…

Ну, последняя попытка — там был пункт «удалить», выберу его, потом поставлю заново. Хотя уже заранее догадываюсь: удалиться без папки Installer он тоже не сможет. Проверяю — так и есть. В лог уже даже не смотрю.

Что ж, я попробую пока обойтись без сервис-пака, а сотрудникам Microsoft пусть будет хоть немножко стыдно за свой продукт.

5308

Да, он такой

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5307

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

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

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

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

5306

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

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

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

5305

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

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

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

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

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

5304

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

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

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

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

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

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

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

5303

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

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

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

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

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

5302

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

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

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

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

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

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

5301

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

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

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

5299

Будем последовательны

Клиент (мы им сайт поддерживаем) пишет в асю:

— А почему флешка в шапке сайта до сих пор старая? Мы ж просили новую поставить.

— Обновите страничку, Ctrl + F5.

— Нет, всё равно старая.

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

Как вы думаете, в каком порядке нажимается Ctrl + F5, дабы обновить страничку не из кеша? Как пишется, так и нажимается, к вашему сведению. Сначала Ctrl, затем плюс, затем F5. Так-то.