12628

Нет времени объяснять

Работал я в техподдержке по железкам и софту на заводе — обслуживал компы пользователей, устанавливал всякий эникейный софт через Radmin, настраивал принтеры, сканеры; если уж не получалось удалённо решить проблему, приходилось идти забирать компы и переустанавливать системы, менять вышедшие из строя железки и проч.

Контингент пользователей — «кому за сорок», поэтому заявок хватало сполна, не было времени даже сбегать в туалет, голова всё время была забита решением тех или иных заявок. Причём настолько, что иногда съезжала: даже в телефоне вместо набора номера иногда вписывал автоматически IP-адрес, а потом удивлялся, почему этот абонент занят.

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

— «Пуск»!

На том конце таймаут, заминка — и неуверенный голос:

— Ой, подождите…

Положил трубку, со смехом представляя, что подумал пользователь.

12627

Гроб на колёсах с сердцем гепарда

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

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

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

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

Теперь вопрос: с чего вы взяли, что искусственный разум должен быть похож на человеческий и вести себя так же?

12626

В память о домашних сетках

Для работы вне офиса у нас есть VPN-инструмент. Звонит одна сотрудница из дома. Не пользовалась VPN примерно полгода и подзабыла, что к чему. Рассказал, проверили настройки — имена серверов, логин группы, жив ли токен. Сервер nslookup’ится из её домашней сети, вроде бы всё окей, но не подключается. Предлагаю два варианта:

а) Ребутнуться — тем более что сама признаётся, что перезагружалась давно;

б) Ребутнуть роутер — а вот тут начинается самое интересное:

— Я не могу этого сделать.

— Почему? Это несложно. Можно просто вытащить провод питания и через 30 секунд вставить назад.

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

— Как я понимаю, выбираем перезагрузку компьютера?

Помогло.

12625

Декольте-девелопмент

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

На момент моего прихода картина была такой:

  • три менеджера обзванивают потенциальных клиентов;

  • один дизайнер рисует внешний вид;

  • я, как внешний вид утверждён, делаю шкурку к Джумле или Вордпрессу;

  • любую функциональность, выходящую за рамки стандартной, делают за дополнительную плату знакомые РНР-программисты.

Для менеджеров в своё время были написаны инструкции: что входит в стандартные услуги и что не входит. Для всех стандартных услуг чётко прописаны цены и сроки. Стоит ли упоминать о том, что менеджеры в инструкции даже не заглядывали и самым частым ответом было: «Я сейчас дам трубку специалисту, он вам расскажет»?

Другие изречения менеджеров, хоть и встречались реже, тоже достойны внимания:

— Нет, мы не делаем интернет-странички. Только сайты, интернет-магазины и корпоративные сайты.

— Конечно, в стоимость входит интеграция с 1С. (На самом деле её нет в стандартной поставке.)

— Да, вы можете сами нарисовать дизайн, а я дам вам скидку на стоимость дизайна. (А повышать цену на возросшую трудоёмкость вёрстки?)

— Да, конечно, за две недели будет. (Только эти две недели где-то после Нового года, когда закончим предыдущее.)

Со временем ад рос и ширился. Менеджеры спихивали с себя всю работу, которую только можно спихнуть:

  • переписку с клиентами: «Ой, они спрашивают про дополнительную функциональность, я там ничего не понимаю». На самом деле ответы на вопросы есть в инструкции и функциональность вовсе не дополнительная;

  • наполнение сайта фирмы новостями: «Я добавляю текст, а он не добавляется. Вот файлик, попробуйте, может у вас получится». Плавно трансформировалось в «Вы уже написали про запуск нового сайта?»;

  • ответы на тендеры: «А вы можете им ответить, а то я не знаю, того ли они хотят?»

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

Особо отличилась тут девочка с декольте +5 к убеждению. Оно слабо действовало на нас, но безотказно на владельца. Очень быстро она стала старшим менеджером, потом начальником отдела менеджмента (количество людей не изменилось). Когда владельцы поехали в отпуск, её на два месяца сделали исполняющей обязанности директора.

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

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

12624

Голубые мечты о голубом экране

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

Он мечтал о цветном телевизоре с самого начала цветных передач в СССР. Но эта техника стоила дорого — рублей 600-700 за наполовину ламповый «ящик». Столько он тогда потянуть не мог. А ещё пожарами запугали. Настал 1978 год. Выпустили «Электронику Ц-401». Никаких ламп — пожаров можно не бояться, и цена в районе 450 рублей за адын штук. Не, говорит, нэ буду брат — подозрительно дёшево, а ещё экран маленький. Буду дальше, говорит, копить на нармалный, слюшай, балшой цвэтной телевызор, их тоже скоро начнут без ламп делать.

К 1983 году накопил 600 с чем-то. К слову, «Электронику Ц-401» к тому времени уже до 395 подешевела. Но он положил глаз на «Рекорд ВЦ-311». Как раз нет ламп, стоит примерно столько, сколько он накопил, и экран достаточно крупный. Опять — нэт. У 51ЛК2Ц, видите ли, краски блеклые, а он хотел насыщенные. Вот скоро, говорит, будут «трубы» из Японии поставлять, там краски другие совсем.

«Скоро» наступило лишь в 1987 году. Накопил он 700 с чем-то уже к этому времени, за столько и купил «Рубин» с японским кинескопом. Радости-то было! Только посчитайте, сколько лет пришлось эту радость ждать! К слову, первый в своей жизни магнитофон он купил всего годом раньше цветного телевизора, потому что тоже хотел «не просто, а хороший» (в его понимании хороший — с венгерской механикой), в то время как у всех знакомых уже почти два десятилетия до этого были «просто».

А когда в начале девяностых телевизор вскрыли для установки декодера PAL, оказалось, что кинескоп сделан в Индии, а «яркие краски» были по большей части самовнушением.

Такие «не слишком богатые» есть и в наши дни. Бывает, долго копят на гигантскую плазму, а на телевизорификацию кухни и второй комнаты не остаётся ни копейки. И вся семья вынуждена смотреть то, что угодно самому авторитетному её члену. А это — системный блок. Он стоит, как самолёт, так же громко гудит и за секунду вымайнивает все биткоины мира, сожрав столько джоулей, сколько самолёт выделяет за час. На него очень долго копили, но он — один. И если занят кем-то, остальные могут сосать лапу, пока не освободится. Потому что когда его купили, на следующее утро пошли занимать к соседям на еду, как в том анекдоте о покупке автомобиля, и о такой «роскоши», как хотя бы б/у смартфоны начального уровня по штучке папке, мамке, сыночку и дочурке, можно было даже не заикаться. И да, до того, как на него накопили, в доме трое десятилетий не было никакой вычислительной техники вообще, даже калькуляторов!

А через два года эта роскошная металлическая коробка обесценилась — теперь за неё даже половину б/у смартфона не дадут.

Когда у максимализма есть «газ», но нету «тормоза», это не есть очень гут…

12623

Видавшая видео

Подарил мне один из заказчиков ящик древнего железа. Под слоем прочих дохлых плат обнаружилась полноразмерная CGA-видеокарта под ХТ. Из надписей явствовало, что я откопал дичайший раритет: карта поддерживала обработку и монтаж видео (похоже, была заточена под нужды телевещания). Надпись «Made in Bulgaria» только добавляла радости от находки. Подключил у друга-коллекционера — работает, хоть и нестабильно. Иду на тематический форум, выкладываю фотки, честно расписываю недостатки. Через несколько часов появляется покупатель. Прошу прислать адрес… и офигеваю.

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

12622

Не боги сети обжимают

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

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

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

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

Мы теперь божества, силой мысли починившие беспроводку. Думаем теперь: сказать чуваку, что мы предпочитаем алкоголю газировку и сок, или посоветовать внимательнее читать корпоративную рассылку?

12621

Что посеем, будем жать весь год

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

Попутно начальство останавливается на статистических данных:

— С момента выхода предыдущей версии продукта объем репозитория вырос с 32 до 34 миллионов строк кода! Мы починили — вы починили — двадцать тысяч багов!

Я, наворачивая салатик:

— Хм. В статистике пропущен важный нюанс. Мы починили двадцать тысяч багов. А сколько внесли?

Коллега, наворачивая шампусик:

— Ну, это просто. По статистике, в программе объёмом больше десяти миллионов строк кода есть один баг на каждые четыре строчки. Мы добавили два миллиона строк, это значит — внесли пятьсот тысяч багов. Даже если при этом починили двадцать тысяч.

И, бросив взгляд на моё ошарашенное лицо, хлопает меня по плечу:

— Учись, малец. Это называется job security.

12620

REST in peace

Я из тех новомодных хипстеров, что разбрасываются словами «инверсия управления», REST, «клиентская шаблонизация», MVVM и прочие Events Observer и Shadow DOM. Мы знаем и применяем эти страшные слова не потому, что хотим погнуть пальцы перед другими кодерами и инвесторами. Инвесторам зачастую вообще всё равно, на чём будет написан продукт, хоть на С++, а от слова «облако» у многих уже начинается нервный тик.

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

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

Мне же на Ангуляре достаточно создать шаблон (или директиву) и инжектировать в контроллер ещё один сервис, потому что API для управления данных для этого маленького виджета выпадающего списка уже есть, ибо нужный список используется уже во многих местах системы. Час на разработку, час на создание автотестов — и новая нужная пользователям функция готова.

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

Всем добра!

12619

Быть можно чётким человеком и думать о красе сетей

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

— Здравствуйте, мне нужен начальник АСУ, мы договаривались о встрече.

— Ну, — гудит хранилище протеина.

И где же вас таких набирают? Повторяю:

— Мне начальник АСУ нужен. По поводу работы.

— Слушаю, — не сдаётся оппонент.

Да что ж ты такой тупой-то! Чуть не по складам:

— Мне. Нужен. Начальник. АСУ.

— Парень, ты идиот? Говорю же тебе: слушаю тебя, я начальник участка АСУ!

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