История произошла со мной, когда я работал в ночное время в небольшом офисе.
Сидел я, значит, пялился в монитор, как вдруг до моих ухолокаторов донеслось лёгкое постукивание. С минуту я было грешил на глюки, но равномерный и отчётливый стук не прекращался. Мне стало любопытно, и я начал искать источник. Как оказалось, звук шёл из электрощитка. Раздираемый любопытством, я открыл его и выпал в осадок — об донышко щитка бился торчащий сверху Ethernet-кабель с привязанной к нему запиской: «Передай в третий щиток». Пытаясь сдержать смех, я начал тянуть кабель, как платки из кармана у фокусника.
В щитке под номером три уже обнаружился «заказчик» — проволока с крючком и с запиской: «Цепляй». Аккуратно зацепив коннектором за крючок, я слегка подёргал за проволоку, и та начала погружаться, увлекая за собой кабель.
Я стоял и контролировал «процесс». Через полминуты крючок появился вновь: «Спасибо!»
Полностью довольный собой, я продолжил работу, а 30 минут спустя, получив из третьего щитка команду «Вытягивай», помог кабелю вернуться домой.
Таинственный процесс, в котором я участвовал, как и личности людей, стоявших за ним, — так и остались тайной.
Напишу и я немного о «кулибинстве». Тяжёлое детство, 8-битные игрушки, Spectrum, i286, AMD 5×86… Ой, не об этом. Это совсем древность. Сегодня возьмём время чуть поновее…
Итак. Есть мама EPoX 8KTA3-Pro на старом добром Via133. Есть к ней проц AMD Athlon XP 1.6+ GHz. Мама эта замечательна тем, что на ней 1 AGP + 6 PCI + 1 ISA слотов. Именно поэтому я и выбрал её в своё время для домашнего компа. Воткнуто туда было следующее: видео в AGP (профессиональный Matrox), SCSI-контроллер (Tekram), звуковуха (Awe64), две сетевухи (3com 905) и ISA-шный модем. Вдобавок четыре модуля памяти. Кроме того, проц был слегка погнан (так как был из «хорошей пластиковой» серии) до 2.0 реальных ГГц (ясное дело, с поднятием напряжения).
И всё было хорошо (даже глюк чипсета по работе с дисками не доставал, ибо Linux умеет его обходить), но разъём питания у мамы был ATX 2.0 (2.4 тогда ещё не придумали). И в какой-то момент я почуял запах гари (а комп-то работал, не выключаясь).
Анализ ситуации показал, что обгорели и обуглились все ножки питания +5 В в разъёме на маме. Дело в том, что эта плата почти не использовала +3.3 В с блока питания и получала нужные ей напряжения вторичным стабилизатором из +5 В, установленным уже на самой плате, тем самым недогружая линии 3.3 В и перегружая линии 5 В.
Решение родилось мгновенно: с обратной стороны платы было найдено четыре участка с крупными дорожками +5 В (рядом с разъёмом), они были зачищены, и к ним были припаяны провода по четыре квадрата. Ответные стороны проводов обжаты в разъёмы и подключены в БП (блок питания был мощный и имел достаточно разъёмов). В результате вместо трёх линий на маму стало идти семь линий +5 В.
И жизнь наладилась, а этот комп без всяких изменений до сих пор трудится у моих родителей — теперь, правда, уже не круглосуточно.
P.S. Проц все ещё работает в разогнанном виде, не умер и не глючит.
Работал в одной немецкой компании по хостингу и саппорту.
В один прекрасный день к нам явилась команда харизматичных парней в оранжевых майках с замерительными приборами, которые объявили, что проводят проверку электрооборудования, согласованную с начальством.
По немецкому орднунгу в рамках проверки каждые два года замеряется каждый агрегат, который имеет вилку и может быть передвинут человеком, скажем, чайник или системный блок, а затем наклеивается штрихкод-бирочка со штампом. Поскольку электрооборудования у нас было много и днём оно было занято работающими людьми, парни предложили прийти поздно вечером и проработать ночью на отключённом оборудовании.
Итак, вечер, парни деловито снуют под столами, исступленно молотят по кнопочкам приборов, бодро наклеивают бирочки. На мой вопрос про смысл сего действия с умным видом объясняют, что замеряется сопротивление заземления розеток и допустимый ток утечки оборудования обоих классов: 1) с заземлением; 2) с изоляцией. Плюс осуществляется осмотр провода и корпуса на предмет повреждений, что в принципе эти сотрудники и маркируют красными «фу»-наклейками и кладут на стол, как неисправные.
Казалось бы, придраться не к чему. Но, чтобы не лезть под стол, парни замеряют сопротивления заземления мониторов своим кабелем. Многократно. Своим кабелем.
Нет, я понимаю, сроки, конкуренция, но ведь они пришли проверять безопасность оборудования!
Я даже не стану говорить, что блоки питания не имеют тока утечки, если их не подключать к потребителю, так что я не знаю, что они там замеряли — по-моему, они только клеили бирочки и пили кофе. Только если кого-то долбанёт током или что-то начнёт гореть — это будет на их ответственности.
Хотя бы спросили, трогать вилку сервера или нет, и на том спасибо.
Работаю админом в отделе сопровождения софта в %companyname%.
Помимо обслуживания серверов, сети, а также юзверей у себя на месте, приходится мотаться по бюджетным организациям и внедрять софт, который мы сопровождаем.
Только недавно вышел из отпуска, утром сонный и злой еду на работу. Оказалось, злой был я неспроста — по приходе девчонки, которые принимают заявки от бюджетников, «обрадовали» — за каждый день моего отпуска поступала как минимум одна заявка.
Ну, думаю, выпью чашку кофе — и в бой.
Звоню в одну организацию — просят перенести визит на неопределённый срок по технической причине. Не хотите — как хотите. Звоню во вторую, опять же, чтобы уточнить время визита — такая же ситуация. И так со всеми, кроме одной. Съездил туда, закрыл заявку, радостный возвращаюсь восвояси.
Раздаётся звонок от начальства. Сообщают, что есть две хорошие новости: первая — послезавтра привезут новые сервера и сетевое оборудование, а вторая — начальство отметило мои старания и трудовой энтузиазм и решило повысить меня до старшего админа, так что по заявкам мотаться больше не придётся.
В 2011 году после долгого перерыва в работе длиной в три года я вновь устроился админом в одну небольшую, но очень важную фирму. Из семнадцати пользователей не VIP-ом с некоторой натяжкой можно было назвать разве что офис-менеджера.
Фирма молодая, постоянного человека у них никогда не было, по части IT всё всегда делалось по принципу «срочно, сейчас, лишь бы работало». Соответственно, за два года накопилось столько всякого, что все эти важные дядечки могли в любой день лишиться всей своей системной работы, но так как все поголовно VIP, с их точки зрения у них, конечно же, всё было хорошо.
По инициативе директора было решено перекроить, точнее — построить с нуля IT-инфраструктуру с привлечением экспертов, а моё дело лишь поддержка и сопровождение. Естественно, всё перестраивать надо было на ходу, потому как бизнес ждать не будет.
Изначально вся эта красота держалась на одном сервере с Pentium 4, на котором кто-то с прямыми руками настраивал Server 2003 ещё пять лет назад, там же и 1С, и Kerio, и файловое хранилище, и всё на свете. При этом все пользователи работали по Wi-Fi через однорогий 801.11g-роутер.
И началось… Проблемы по всем фронтам, вопли «у нас всё работало», принтеры зависают, почта не ходит, рвётся Wi-FI, any-key нажать некому, и компы тормозят, и прям застрелиться. Месяц разгребания «авгиевых конюшен» в режиме аврал-нон-стоп, всё более-менее уладилось, стало потише. Естественно, всё это под беспрестанные вопли «раньше у нас всё именно так и работало», серьёзные разговоры про «не усложняй нам работу», «отцепись — не мешай, но чтобы всё работало прям сейчас», ну и, конечно же, чуть ли не служебные записки с требованием одной кнопки «сделать всё зашибись». И всё время виноват, виноват, виноват…
Причём вся эта мистика в какой-то момент перестала происходить сама по себе. Потом мы уже спокойно налаживали сервера и приводили всё к задуманному виду.
Из этой истории я сделал вывод, что все серьёзные бизнес-дядечки и тётечки свято верят в сказку и волшебство, если дело касается не их сферы. И ещё то, что все проблемы — они от лукавого, просто господам VIP-ам надо меньше нервничать, а господам айтишникам чистить карму и всегда быть немножко психологами, для людей ведь работаем.
Во-первых, где вы видели, чтобы обычный рандом был с нормальным распределением? Спору нет, есть всякие мат. библиотеки, позволяющие привязать его к любой функции распределения, но кто же их будет специально искать и использовать, не зная, что это такое? Бывают глупые ошибки типа произведений рандома (или рандома от рандома).
Во-вторых, сессия для инициализации рандома используется в одиночных играх с целью борьбы с читерской магией load-save. Другого смысла постоянно дёргать seed просто нет.
В-третьих, игрокам вообще много что кажется, и они с радостью это интерпретируют как факты. Плюс — confirmation bias. Я помню случай, когда игроки были свято убеждены, что по случайному номеру в ссылке для предотвращения кеширования можно было определить успех ремонта предмета. И никого не смущало, что к скрипту шли десятки обращений в секунду и от момента генерации ссылки до последующего запроса рандом дёргался более тысячи раз.
Это же касается вообще любых якобы повторяющихся паттернов в рандоме. И «вычисления алгоритма работы». Чего его вычислять — всё есть в открытом доступе, почти всегда используется штатная функция выбранного языка разработки. Только никому это знание ничего не даёт.
Искренне порадовался аргументу про сокращение выборки. Ясное дело, что чем меньше выборка, тем более она неравномерна — это очевидно. Нетрудно получить «решку» в 8−10 случаях из 10, шанс на это чуть более 5%. А вот получить её в 80−100 случаях из 100 уже вряд ли удастся хотя бы раз за миллион попыток.
P.S. Ну, а парень из предыдущей истории просто не учёл, что по-умолчанию большинство генераторов псевдослучайных чисел инициализируются от текущего времени с точностью до секунды. Так что, запустив одну и ту же программу на разных машинах, вторая из которых отстаёт примерно на пару секунд, можно получить полностью идентичные результаты.
Дело было в 98−99 году, когда, скопив приблизительно 1000 $, я наконец-то приобрёл свой первый комп (кстати, он неплохо работает до сих пор в качестве маршрутизатора под FreeBSD в режиме 24/7/365, пару раз в год чистится от пыли, и меняются кулеры).
Эпопея началась в процессе освоения, Windows я на тот момент не видел даже в книжках и свежая 98 была откровением. Через год товарищ из параллели открыл для меня NT4 Workstation (не буду рассказывать, как я первый раз ставил её пять часов без smartdrv), на которой я просидел следующие несколько лет (года аж до 2002, несмотря на Win2000), что меня и спасло. Система была офигительно стабильна, по сравнению с 95/98, и падала, только когда я сковыривал в ней что-то руками. Не припомню ни одного случая, чтобы она упала сама.
У NT было ещё одно большое «но» — DirectX for NT застрял на версии 5, и та была unofficial сборкой, игры же уже требовали шестую версию. Это и спасло меня от бесцельного прожигания времени. Хотя через несколько лет я с помощью Win32Dasm и Hiew убедил The Sims запуститься, заNOPав все проверки версии ОС наличия DirectX, но это уже отдельная история.
Так как играть я не мог, всё времяпровождение за компом тратилось на изучение и исследование. В том числе чрезвычайно внимательно были изучены все бумажки, прилагавшиеся к компу, практически целиком прочитан весь встроенный в винду хелп (Пуск → Справка, кстати до сих пор есть множество описанных там вещей, о которых знакомые айтишники знать не знают) и методом тыка изучено содержимое CD-диска с драйверами-утилитами от ASUS’овской материнки. Знание английского у меня тоже было никакое, поэтому буржуинские мануалы воспринимались со словарём с большим трудом. В конечном итоге я понял главное — на диске записаны драйвера. Это программы для лучшего взаимодействия Windows с железом. И если установлены «родные» драйвера, то производительность будет лучше. Эпопея «как уронить Windows» стартовала.
В принципе, всё обходилось спокойно, кроме одного пункта. На диске были UDMA66 драйвера, в комментариях к которым было сказано, что эти драйвера ощутимо ускоряют работу с диском (что с 32 MB оперативки и уползанием в своп было актуально), и я решил, что установить их просто критически необходимо. После установки картинки грузиться отказались… Восстановив работоспособность винды, я перечитал readme.txt буквально по словам со словарём, и из него я постиг, что с этими драйверами винт сможет работать только с родным же асусовским шлейфом, потому что он имеет определённую capacity в отличие от других.
Вскрыв машину я обнаружил, что на родном асусовском шлейфе висит CD-ROM, а винт подключён на шлейф без эмблемы ASUS. Поменял шлейфы — и вуаля! Винда стартанула! Выключил машину, снял шлейфы и приложил друг к другу. Замерял разницу линейкой. Как сейчас помню: родной асусовский был на 12 с лишним сантиметров (!) короче… Впрочем, помогло мне это не сильно — двухгиговый Fujitsu (работает в «роутере» до сих пор) отказался стабильно работать в UDMA66, и NT-шка буквально через пару минут засыпала меня сообщениями об ошибках чтения-записи. Пришлось откатиться на UDMA33.
Следи за длиной шлейфов, %username%, провода не идеальны и тоже имеют своё сопротивление и ёмкость.
Пару лет назад в доме у родителей случилась беда: любимый полуантикварный компьютер с «Одноклассниками», фотоархивом и прочими полезными вещами перестал включаться. Сначала просто системник 1−2 раза в день решал отправиться поспать, списывали на жару и перегрев процессора при плохой вентиляции. Но наступила осень, и отключений стало только больше.
Тогда решили поменять блок питания, так как знали, что из-за старого блока тоже бывают аналогичные проблемы. С новым блоком комп проработал ещё пару недель и сдох окончательно.
Вздохнув и признав, что всё же я не инженер и не специалист в железе (максимум могу собрать что-то из стандартных компонентов «для своих» и настроить систему), решили вызвать мастера.
Мастер надиагностировал сгоревшую материнку и сгоревший процессор. Заменил на антиквариат из собственных запасов. Но через пару недель история повторилась.
Тут мы вспомнили, что не раз обращали внимание на наводки на корпусе. И наконец-то догадались проверить напряжение на контактах в розетке.
В общем, в конце 90-х мы делали ремонт. Для компьютера решили поставить «европейскую» трёхконтактную розетку, которые тогда ещё были непривычны. Так как в стене шёл обычный советский двужильный провод, решили боковые контакты замкнуть на ноль, ведь на нём же нет напряжения, чем не «земля»? Прошло время, и то ли в щитке, то ли на подстанции наш ноль поменяли с фазой. Теперь удивляюсь, что техника в таких условиях вообще жила несколько месяцев, и даже данные на дисках остались неповреждёнными.
Дело было в середине девяностых. Учились в универе в нашей группе три товарища. Нещадно прогуливали пары, особенно по непрофильным предметам. Мотивировали тем, что работают программистами в одной крупной софтверной фирме, и мы все им немного завидовали.
В локальной сети универа было много всякого разного, натасканного студентами, в том числе и популярные в то время игры. И вот эти товарищи навострились играть на парах одного из спецпредметов в режиме мультиплей. Благо преподаватель этого предмета слова поперёк не говорил и вообще никак не реагировал на столь вопиющую наглость, тогда как все остальные преподы напрочь запрещали игры на парах, и при них играть можно было только украдкой.
Дошло до того, что эти три друга, приходя на пару, сразу запускали свои любимые игрушки и в открытую отчаянно резались до звонка, даже не сдерживая своих эмоций. Преподаватель этот был вовсе и не преподаватель, а профессиональный программист, подрабатывающий в нашем универе. Внешностью был похож на Вассермана, только худой. Давал несложные задания и не требовал полного их выполнения, больше дискутировал за жизнь, нежели по тематике предмета, и мы все понимали, что с экзаменом проблем не будет.
Так оно и случилось. На экзамене он вызывал студентов по очереди, задавал всего один вопрос, если студент отвечал, то получал пятёрку, если ответа не знал, то преподаватель сам отвечал на этот вопрос и ставил четвёрку, если, конечно, студент был согласен не на высший балл, иначе добро пожаловать на пересдачу, но таких не находилось.
И вот прошли все, остались только те три геймера. Взглянул на них «Вассерман» с улыбкой и сказал: «Ну что ж, для вас у меня особый экзамен, чем весь семестр занимались, то и будете сдавать». И дал он им три задания — завалить его в Quake в мультиплее трое против одного, побить его рекорды на всех трассах в NFS II и пройти созданный им уровень в Warcraft II (если уровень не проходится с первого раза, то на пересдаче даётся новый уровень). Сдавали они этот экзамен всю сессию долго и упорно, и однажды кто-то из студентов или преподавателей не выдержал и спросил его, зачем он их так мучает, они же ведь работают. «Знаю я, как они работают, — ответил „Вассерман“. — Я генеральный директор той фирмы, в которой они якобы работают».
Уж и не помнится, чем там дело закончилось, но к компьютерным играм те товарищи стали абсолютно равнодушными.
Непрекращающийся фейспалм? Вон из профессии? Плавали, знаем. В карьере каждого айтишника есть такое чудо, которое, не пройдя обычный испытательный срок, лезет напрямую к директору: «Они там всё делают не так, неправильно делают, один я знаю, как надо!»
Не дай боже директор поддастся на харизму этого фейспалмщика или просто окажется внушаемым. Как минимум фирма потратит дополнительные ресурсы, чтобы запустить параллельно «как правильно», и не факт, что нововведения окупят что-либо.
В большинстве случаев фейспалмщик будет пытаться перекинуть внедрение новой «как правильно» технологии на старый персонал. Сам же будет бегать вокруг, лезть под руки и театрально стонать: «Ну кто вас учил так делать?! У вас же руки из жопы, вы ничего не умеете! Как вас только в профессию взяли?!» Если старые сотрудники достаточно умны и не позволят повесить на себя внедрение «как правильно» технологий, фейспалмщик будет обвинять их в саботаже: «Они мне не дали чего-то там, куда-то там не пустили, не предупредили, что оборудование старое».
К сожалению, если гадалка вытащила карту таро «Чувак с фейспалмом», от айтишника зависит очень мало. Всё решает компетентность руководства. Начальник адекватный — максимум поручит харизматичному новичку автоматизацию нового отдела или магазина, чтобы не рисковать работой всей фирмы, а там уже по результатам. Босс является иллюстрацией эффекта Даннинга — Крюгера — надо постараться уйти, пока всё не развалилось.
Конечно, есть случаи, когда человек, орущий «ну кто вас учил так делать, у вас же руки из жопы, вы ничего не умеете, как вас только в профессию взяли?!» является специалистом высокого класса. Тогда уход старого специалиста пройдёт безболезненно — ему не будут названивать домой с вопросами:
— Почему вдруг ничего не работает?
— Где ещё могут быть резервные копии. Не, там мы удалили случайно, где ещё?
— Не будет ли любезен многоуважаемый джин за премию починить всё обратно? А вернуться на прежнее место с повышением?