bash.im ithappens.me zadolba.li
10239

Обмоем?

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

Привезли чудо техники в пятницу. Ну кто в здравом уме в такой день новое дело начинает? Отложили знакомство до понедельника. А чтоб у нового оборудования ноги случаем не выросли, заточили сервер в комнату подвальную без окон и с единственной бронированной герметичной дверью. И человека с ружьём приставили.

В понедельник админы, начальство и прочая пошли торжественно распаковывать новинку. Открыли дверь… и были чуть не смыты волной воды. Как оказалось, в выходные на третьем этаже производился ремонт силами специалистов из солнечной республики Таджикистан. Один гуру ремонта в трудовом порыве, сверля стену, досверлился до стояка с водой и сделал в нём ювелирную, микроскопическую дырку. Её хватило, чтобы за выходные вниз набежало полкомнаты воды. Так как текло тихо, то никто ничего не услышал, а герметичная дверь не дала протечь влаге наружу.

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

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

10296

Сиди дома, не гуляй

Было это году в 2005–2006, сейчас уже и не упомню. По роду службы я в то время мотался по просторам нашей необъятной и, так сказать, нёс автоматизацию техпроцессов в массы. Верным и бессменным моим спутником во всех командировках был ноут Samsung P29. Потертый, со сколами на корпусе, с ободранными от долгого воздействия цементной пыли и прочих прелестей наклейками — такой себе трудяга-внедорожник. По нынешним меркам — дрова, а не ноут, но в те времена мне его хватало за глаза.

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

То утро началось обычно: очередной объект, перед выездом из гостиницы — проверка всего, в том числе и ноута. И тут случилось непонятное: ноут отказался включаться. И ещё раз отказался. Помогло, как ни странно, вынимание батареи. Кое-как включил — не грузится операционка (ХР), вернее, доходит до экрана приветствия и наглухо виснет. Ребут, защищённый режим — загрузился. Ещё раз ребут, нормальная загрузка — загрузился. Прошёлся по винту — всё нормально, ничего не бито.

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

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

Я его похоронил. Спи спокойно, дорогой товарищ. Спасибо, что спас, и прости, что не прислушался к твоим предупреждениям.

10365

Любите ваших женщин

Господи, во что превратился IT happens! Где вы, 40-летние дядьки с 20-летним стажем в IT? Где ваши истории, от которых дух захватывает? Операционные системы с девушками они сравнивают…

Наша команда обслуживает более ста серверов c осями, рождённых от дедушки Дебиана, «Красными Шапочками» и даже бесплатными осями родом из Калифорнийского университета в Беркли.

В офисе мы сейчас переводим сотрудников на Office 365 в федерации с нашими серверами с Windows Server 2012, на которых крутится Lync, Exchange и Sharepoint. У рядовых сотрудников на десктопах — Windows 8 Pro.

Наши программисты пишут софт в Visual Studio 2012 и сразу же деплоят его в Windows Azure.

Ещё у нас есть отдел разработки игр. Знаете, что стоит на рабочих местах? Mac mini и MacBook Pro с OS X Lion. Для теста игр на реальном железе у разработчиков есть третьи айпады с айфонами 4S.

Без ложной скромности скажу: в операционных системах я понимаю всё.

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

Слава Богу, фирма на их внедрение и освоение денег не жалеет, так что и OS X, и Linux нам приносят деньги, а не неприятности. А вам, мои дорогие коллеги, желаю скорейшего взросления и карьерного роста. И прекращайте уже эту муть. Противно уже.

10277

Божественная задница

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

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

— Вот вы знаете, мы были в отделе бухгалтерии, так вот: почему у вас русская программа для этого называется Odin’s ass? А то я посмотрел на вашу футболку и сразу вспомнил это странное название.

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

10331

Закладки сладки

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

Сюжет раз. Автоматизация теплового пункта. Директор — жук. Компания имеет репутацию ниже плинтуса. Но кризис, денег нет, и работать с ними приходится. Как и ожидалось, после сдачи объекта начинаются разговоры об отсрочке оплаты работы в связи с недостроенной дачей. Окей. Достаю мобильник, отправляю SMS, говорю: «Я в коридорчике подожду». Директор удивлён. Через десять минут выбегает в коридор: теплопункт встал, заслонки закрылись, на кнопки не отзывается. А на линии ни много ни мало городская дума! А на улице −15. Короткое разъяснение, оплата труда в течение пятнадцати минут, запуск теплопункта новым SMS.

Сюжет два. Контрактная разработка железа. Заказчик забирает его к себе и начинает долго и мучительно тестировать. Через три месяца звонит: «Сдохло». Да не сдохло, закончился пробный период. Прошивай «чистой» прошивкой — заработает дальше, только заплати сначала.

И таких сюжетов на моём веку мильон.

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

10297

Кто американцу ньюби, тот русскому лох

Посетила коллегу гениальная идея: учиться программированию. И спросил он у меня, единственного программиста в компании, какой язык обязательно должен знать программист. Я ему честно ответил: английский. Обиделся на меня коллега. Он-то думал, что я назову что-нибудь вроде С++ или ассемблера.

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

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

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

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

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

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

И ведь по-английски решение русской проблемы нашлось на первой странице. Много думал.

10304

Стринги-стретч

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

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

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

Но, блин, никогда мне не приходилось говорить, что нечто принципиально невозможно из-за ограничения на длину «стрингов». Да, можно не предусмотреть такую ситуацию, бывает, всё сразу учесть тяжело. Но отказываться её исправить, лепетать про принципиальную невозможность и советовать ручками посчитать в Экселе — это однозначное «вон из профессии».

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

10335

Такая корова нужна самому

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

Как-то ей срочно нужен был продавец интим-товаров в весьма престижном торговом центре. А соседа, программиста-красноглазика, на его основной работе отправили в бессрочный стендбай: сиди дома, получай две трети оклада, когда нужен будешь — позовём. Вот сестра к пареньку и обратилась за помощью. Сосед согласился, пару дней готовился: лазил в интернете, читал форумы. На новое рабочее место пришёл с ноутом, на который повесил объявление: «Есть вопросы — обращайтесь», а сам что-то сел программировать. Сестра его после работы подвозила домой, заодно интересовалась, как идут продажи.

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

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

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

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

Пришли женщины, интересовались, куда делся грамотный продавец.

Приходили ещё люди, хотели проконсультироваться по выбору ноутбуков и телефонов.

И вот когда сосед приехал, сестра зашла к нему передать коньяк и прям в коридоре набросилась на него с поцелуями, повалила в кровать, разорвала одежду, а дальше вы и сами догадаетесь. Когда я вижу у подъезда машину сестры, а дома её нет, я знаю, где она, и рада за неё. Торговую точку сестра забросила, а своего парня никуда от себя не отпускает: такая корова нужна самому.

10301

Frequently Given Answers

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

Зашёл за кофе на кухню офисную.

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

На меня уже смотрят шесть пар широко открытых глаз.

— А…
— Да, я читаю мысли. Да, и сейчас тоже.

Вот так и рождаются легенды о сисадминах-телепатах. Или человеческой предсказуемости — кто знает?