У меня в руках роутер типа «кирпич». С роутерами люблю побаловаться, подобный случай у меня впервые, поэтому взялся за работу с удовольствием. Владелец роутера, человек менее внимательный к чтению инструкций из интернетов, нежели я, описал проблему. Вместо загрузчика — мусор из-за записи прошивки в начало флеш-памяти. Роутер на внешний раздражитель в виде терминала не реагирует, как и не раздражает мои зрительные рецепторы миганием светодиодов.
Выпаял схему памяти, уже корректно прошил её программатором, впаял обратно. Можно сказать, вдохнул жизнь в считавшийся умершим роутер. Уже через терминал вошёл в консоль загрузчика, решил осмотреться.
help
выдал список команд, самой безобидной мне показалась
flinfo
. Я ожидал вывода информации или краткой справки, а в случае с минимальным размером загрузчика — очень краткой справки. Однако ответом последовало следующее:
<code>Bank #1: The hell do you want flinfo for?
</code>
Животное неблагодарное, я воскресил его, а оно так грубо отвечает! Я аж обиделся ненадолго. Ну, что поделаешь: как воспитал (прошил то бишь), так и будет себя вести. Или это всё же животными инстинктами может считаться? Ведь общался на более низком уровне, чем привык. Но теперь есть веб-морда, и общение через неё вышло вполне себе культурным.
Мне очень нравится подход наших айтишников к показательным поркам.
Кто-то где-то поймал вирус. Всем сотрудникам разослали памятку по безопасности с обещаниями анальных кар и припиской: дескать, в следующий раз опубликуем фамилию того, кто виноват.
И всё бы ничего, но в письме указано название зло-файла с полным путём, включающим папку владельца. Примерно так:
E:\VasyaPupkinFiles\Trojan.exe
.
В шахматах, говорят, угроза сильнее, чем её осуществление. Это, видимо, следующий уровень, когда осуществление угрозы входит в саму угрозу.
Я уже год как работаю в серьёзной фирме, дотягиваю себя самообучением до статуса «админ», хотя таковым меня называют тут с самого начала. Историй поучительных, весёлых и грустных уже много за всё это время случилось, так что работу можно называть насыщенной и интересной. Одна случилась в самом начале в период испытательного срока.
Пользователей тут работает много, айтишника давно уже в штате не было, это не считая моих залётных коллег-аутсорсеров. Так что проблем накопилось с лихвой. Но я — человек не робкий — засучив рукава бросился на баррикады, подумав, что сперва надо показать себя.
В один из пятничных вечеров я остался практически один во всём офисе: директор, будучи в хорошем настроении, прогнал всех домой. Я вызвался добровольцем на сверхурочные, так как хотел вплотную заняться проблемами в бухгалтерии. Меня ждали тормозящие, замусоренные компы, мажущие или непечатающие принтаки, выдранные с корнем сетевые розетки, сопли из проводов под ногами. Работают в этом отделе девушки и женщины колоритные, красивые и по складу ума оригинальные. Поначалу даже хорошенько так мне выносили весь разум из черепа за две минуты (специально засекал).
Дело к позднему вечеру идёт, я в одиночку ползаю по полу, приводя в порядок пучки проводов, двигаю мебель. В итоге стулья и кресла незаметно для себя расставил в центре кабинета полукругом и присел, запаренный, на один из стульев.
Мозг требовал разгрузки и нашёл эту разгрузку очень оригинальным способом.
— Здравствуйте! — вещаю я не своим голосом. — Я Мария, и я… бухгалтер.
Прыгая по другим стульям, изображаю различных персонажей, которые говорят: «Привет, Маша!», «Всё хорошо!», «Ты молодец!»
Останавливаюсь на другом стуле и другим голосом стеснительно так произношу:
Таким образом озвучиваю всех персонажей этой пьесы «Клуб анонимных бухгалтеров» и в итоге, сидя на последнем стуле, своим же голосом говорю:
— Я Cергей, и я… админ.
Долгая пауза, затем возмущённые голоса: «Ну ты зверюга!», «Да как тебя земля носит?!», «Отвратительно!», «Мы приличные люди, уходи!»
Не выдержав, начинаю над собой ржать, чувствуя, что напряжение отпускает.
А в полуоткрытую дверь заглядывает директор и смотрит на меня глазами размером с два блюдца. Пару минут он пытался что-то сказать, открывая и закрывая рот, а затем, качая головой, ушёл прочь.
После выходных он вызвал меня к себе. Я чувствовал, что вот-вот мне объявят, какой я долбодятел, и здесь мне не место. Но он лишь похвалил за проделанный объём работы, а в конце так нерешительно спросил:
— Слушай… Вот ты на моей памяти уже третий. Вы все, что ли, такие, а?
Заметил историю на Баше, которая мне показалось странной:
Ты живёшь во вселенной, где пони кушают радугу и какают бабочками.
А в моей вселенной всегда есть гоблин, который запустит скрипт от предыдущей версии в релизе следующей. Причём для другой платформы. И будет биться в истерике, что он всё сделал по инструкции, которую перед прочтением съел.
Как так можно проектировать систему обновления, чтобы была возможность запустить скрипт от предыдущей версии на более новой? И, в общем-то, я понял, почему такая возможность появляется.
Был у нас как-то один проджект-менеджер, который мнил себя разработчиком. Впрочем, и менеджером он был таким же, как разработчиком. Именно он почему-то рекомендовал заказчику сделать «дёшево и быстро» без обсуждения с командой разработчиков. К сожалению, заказчик его услышал. Даже дальнейшие предупреждения тимлида были проигнорированы, а, скорее всего, просто замяты проджект-менеджером.
Ну что же, карты выложены, идею реализовали (хозяин — барин же). И тут — ура! (то есть «ёпт!») — продакшн поломался. Пришлось, конечно же, много времени потратить, чтоб всё восстановить. К счастью, скрипты тогда были обратимыми.
С того момента минуло немало времени, я получил много экспы и уровней, и именно поэтому сейчас ни один гоблин не пройдёт!
Есть сервак, на нём виртуалки. В одной из виртуалок что-то навернулось, она потеряла доступ к сети — зайти нельзя. С консоли хост-сервера через SSH не починить, нужен визуальный доступ.
Подключаемся через IP/KVM дата-центра. Проблема в том, что IP/KVM-клиент сделан на базе ActiveX, поэтому работает только из-под IE в винде. Для этого есть лишний «мусорный» системник с виндой.
Подключаемся к этому компу с рабочего аймака с помощью RDP, идём с проблемой на митинг. На митинге оказывается, что показать-то отсюда нельзя, а если всех вести в комнату, будет балаган.
Достаём айпад, подключаемся к рабочему компу по TeamViewer. При этом айпадом, чтобы было понятно, что и как, управляем с ноута в переговорке через Reflector, изображение с этого компа транслируем на проектор, который снимает веб-камера для одного из менеджеров. А-а-а!
Фанаты Apple (и любых других брендов), остерегайтесь своих мечтаний. А то сбудутся.
Спите и видите, что все вокруг прозрели и начали пользоваться техникой только вашей любимой марки и никакой другой? Хорошо, но учтите: любой производитель занимает не все ниши из имеющихся. Apple занимает в основном премиум-нишу. А ведь есть и сверхпремиум (вроде Vertu), средний класс, бюджет, сверхбюджет. Средним классом у Apple можно считать устаревшие, но остающиеся в производстве модели, бюджетом с некоторой натяжкой можно назвать б/у аппараты. А сверхпремиум? А сверхбюджет? Нету. Ничего. Ещё есть специфические ниши: спортивная, защищённая техника. У того же Apple из спортивного — только Nano, из защищённого — снова ничего.
И вот представьте, что ваша мечта сбылась: ваш любимый производитель стал монополистом. Не занятые им ниши опустели. Конечно, он поспешит их занять, но мгновенно всё равно не сможет. В течение этого периода соответствующие ниши будут совсем пустовать. Вы уверены, что это будет удобно?
Но на этом сценарий не заканчивается. Монополия вредна прежде всего для самого монополиста. Без конкуренции он зачахнет, как заплывает жиром спортсмен, переставший соревноваться. Скажите, ваш любимый бренд радует вас качеством своей продукции? Вот потому и радует, что есть кого догонять и перегонять. Окажется на стадионе один-одинёшенек — остановится.
И в следующий раз, увидев на противоположном сиденье людей с железками брендов, за которые вы не «болеете», не злитесь, а скажите им мысленно спасибо. Своим выбором они внесли вклад в качество техники того производителя, который по душе вам.
Знакомый уехал за границу, далеко и надолго, мы с женой приютили его собаку на ПМЖ. Пёс весёлый, игривый, но непослушный до ужаса. Возраст ещё позволял перевоспитать, поэтому начали немедля. В процессе воспитания выяснилось, что собака на самом деле послушная, только подход к ней нужен особый. Не спрашивайте, каким образом, но мы выяснили, что «сидеть» пёс не воспринимает, а «sudo сидеть» — исполняет охотно!
Жена уже начала подшучивать, что пёс у нас на линуксе, пока я не вспомнил, как однажды стал свидетелем наказания собаки: прошлый хозяин бегал за ней с ремнём с криком: «А ну иди сюда-а-а!» Видимо, хозяйское «сюда» прочно впечаталось в юный мозг как обозначение угрозы, в результате чего наше «sudo сидеть» пёс воспринимал как «сядь, пока ремня не получил».
Есть рационализаторы — очень интересные и полезные люди. А есть перерационализаторы, экономящие там, где не следовало бы.
In a far-far-far galaxy, long-long-long time ago… Или как там? В журнале, до сих пор именующемся «Радио», поместили такую историю. Как нормальные люди обмениваются QSL? Один присылает свою, другой в ответ отправляет свою. Но вот вмешался перерационализатор. «Экономить бумагу!» — скомандовал он. Почин хороший, но так ли следует её экономить? Что, правда надо на входящей QSL-карточке ставить поверх позывного отправителя штамп «Погашено», а рядом другим штампом впечатывать свой позывной? Вряд ли перерационализатор думал, что этой рацухой кого-нибудь рассмешит или обидит, в зависимости от характера. Но выходило именно так.
Наши дни. Разбираю входящие QSL. Что-то знакомое. Да это ж моя карточка! Моя и не моя. Я бы свою так не искалечил. Какие штампы — ещё штемпельную краску расходовать! Вместо этого мой позывной истыкали дыроколом. Любят некоторые вместо кистевого экспандера его использовать, так чего же пропадать джоулечкам? Рацуха в квадрате! А рядом набит новый позывной. По всем признакам — доской, в которую по по контурам букв и цифр вбили маленькие гвоздики. Так раньше дату выпуска набивали на упаковке творожной массы. Только там рваных краёв у отверстий не было. Вот в каком эцихе побывала моя карточка.
Здесь не «Задолба! ли», так что говорить это слово не буду. Скажу другое: проржали. А меня проржать непросто.
Закончил очередную функцию нашей Главной Проги. Андроид-приложеньице отправляет запрос на сервер конторы, получает ответ, выводит очередной график. Очередное сообщение — очередную линию рисует алерт-подобным цветом. Запрос — ответ — отображение.
Дочь скачала программку для соцсети. Сообщения, группы, картинки. Запрос — ответ — отображение.
Гаджет о погоде. Удобно, градусы всегда видно на рабочем столе. Оно постоянно делает запрос на погодный сервер, получает ответ, выводит.
Взгрустнул.
Запрос — ответ — отображение. Таковы 90% ПО и в маркетах, и которое делаю сам. Фактически — урезанная версия браузера. (Ну ладно, иногда расширенная. У нас, например, теги графиков и алертов не по спецификациям W3C сделаны. Три раза «ха».) Блин, но суть-то одна!
90% программистов пишут браузеры. Если повезёт, появляются 10% настоящего программинга на стороне сервера, который заказчику/клиенту/потребителю не виден, но чаще всё уже готово. (Сам использую спелчекер — ну, если юзер вдруг захочет тут же письмо отправить, кошерно бы его сразу и проверить, всё-таки начальство в основном использует, ему негоже ашипки сажать.)
Коллеги говорят: «За что платят, то и делай». Да я не против. Но грустно как-то немного…