bash.im ithappens.me zadolba.li
13308

Падал прошлогодний диск

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

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

— Тут Эксель падает…

— Диски проверил?

— При чём тут диски?

— Проверь диски.

— Компьютер медленно загружается…

— Диски проверил?

— Отчётность не работает…

— Диски проверил?

— А какие у нас пароли в домене у %clientName%?

— Диски проверь. %password%.

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

Эникейщик и сисадмин (должности повыше обычно уже изучили этот урок), помни: диск — это коробка, в которой хреновина крутится на скорости несколько тысяч оборотов в секунду. Это очень тонкая и хрупкая механика, и она всегда под подозрением. У диска истёк срок гарантии? Новый уже должен лежать на столе, а бэкапы должны проводиться минимум ежедневно. На диске появились бэды или (не приведи боги!) S.M.A.R.T. failed — диск вообще более не должен быть использован. Оперативка на моём опыте выходила из строя всего шесть раз, из них пять — при работе в хостинге, проц — один раз, проблемы с материнкой, видяхой или звуковухой практически не бывают аномальными почти никогда, сетевухи и модемы — да, соглашусь, но проблемы с ними мне встречались менее десяти раз, а вот мёртвых дисков я видел сотни, и, в отличие от других компонентов, именно на дисках лежит самое ценное — клиентская информация.

13307

Мышка лежала, хвостиком глюкнула

Работаю в Очень Крупной Западной Компании, точнее, в ее русском филиале, в техподдержке.

Однажды пришла заявка: мол, странно ведёт себя комп, выделять мышкой толком не даёт, а если выделяет — то не то, что надо, не так, как надо, и вообще, и такое — во всех приложениях.

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

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

Да, всё железо поменяли. Кроме мышки.

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

Искренне посоветовал пользователю кинуть мышкой в стену или подарить врагу.

13306

Эта штучка в женских ручках

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

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

— Ты слишком идеальна, так не бывает.

— А в чём подвох?

— Если через пять лет я будет свободен — женюсь.

В итоге я одна, а мужчины гуляют с клубными барышнями.

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

Так вот, дорогие мужчины, если вам нравится, когда к вам относятся по-свински, тогда не нойте о том, что «идеальных женщин не осталось». Определитесь уже, что вам надо.

13305

Руки на высоте плеч

Найдено в коде одного проекта. В stdafx.h:

#ifndef handsOutOfShoulders 
  #define handsOutOfAss 
#endif

Далее, в about:

#ifdef handsOutOfShoulders 
  /* нормальные реквизиты фирмы */
#else
  #ifdef handsOutOfAss 
    message = std::wstring(L"У нас появился долборукий
    дятел, разваливший сборку, и я не отвечаю
    за работоспособность программы");
  #else
    message = std::wstring(L"БЛ&$Ь!!! ПОКАЖИТЕ МНЕ,
    КАК ОНО РАБОТАЕТ!!!");
  #endif
#endif
13304

Ноль десятых, пять целых

Волнующая связь, говорите? Расскажу свою историю, не совсем из IT, но принцип тот же: надо уметь работать с тем, что есть, и учить по ходу работы. Главное — на входе отсеять совсем уж неадекватных персонажей.

Итак, иду по Старому Арбату, захотелось съесть и выпить вредного. До банкомёта далеко, денег на карточке вроде должно хватить на небольшой перекус, а заведение умеет их принимать. Из наличности — 25 рублей в кармане. Захожу, заказываю еды и прошу «Мне ноль-пять кока-колы лайт». Расплачиваюсь карточкой. «Угу, — говорят, — подождите, сейчас всё принесём».

Приносят пять стаканов по 0,5. Вернуть могут только всю сумму, она попадёт в блокировку и станет доступна в лучшем случае только на следующий день. Наличности не хватит, оставшейся суммы на карточке — тоже. Дитя степей, естественно, не понимает, в чём проблема: он же явно услышал слово «пять», а то, что оно было «ноль-пять» — как-то опустил. Тогда-то мне и стало понятно, почему в фастфуде напитки бывают маленькие, средние и большие. «Ты бы ему ещё „500 миллилитров“ сказал», — добавил злой и голодный внутренний голос.

13303

Дебаунсинг, Карл!

Я смотрю, последнее время популярны истории, в которых авторы ставят знак равенства между множествами «почти всегда это так» и «изредка это так», например, вольно сравнивая undo для IT и не IT. Что же, проблема эта известная и широко распространённая. Расскажу и я свою историю.

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

Карл, даже обычная кнопка оказалась проблемной. Вместо одного события нажатия прилетает десяток по прерываниям! Дебаунсинг, Карл! Хуже того — в простой кнопке нет состояния 0/1, там есть или что-то (например, 1, если цепь замыкается на +3,3 В) и floating, который определяется то как 0, то как 1. Это решается лишь чисто механически.

Разобрался с кнопкой? Призовая игра — rotary encoder (например, колёсико мышки), который шлёт несколько событий, позволяющих определить, в какую сторону он вращается. Из-за того же баунсинга зачастую приходят противоречивые сигналы. Типа, сперва +1 и тут же −1 (тут я понял, почему у меня так же глючит скролл на одной дешёвой мышке). Попытки дебаунсить приводят к тому, что «шаги» проглатываются или неверно определяется направление.

Универсального решения нет.

Ультразвуковой сенсор позволяет измерить расстояние до объекта с точностью до миллиметра… в теории. На практике из пяти измерений одно вернёт 0, одно — какое-то запредельное значение, ещё три выдадут результат с разбросом в пару сантиметров. Более-менее стабильной работы удалось добиться, проводя семь измерений и забирая медианное значение. А ведь ещё бывает эхо…

Когда я добрался до простых дисплеев (TFT, OLED) — это оказался просто праздник! Ни один не заработал сразу. Везде приходилось долго искать конкретную модель, драйверы-библиотеки под неё, а некоторые даже исправлять и дописывать.

Теперь обычные проблемы разработчика воспринимаются с улыбкой. Подумаешь, прочитать документацию — она хотя бы есть и даже не на китайском. Подумаешь, с первого раза не запустилось что-то — сейчас покурим маны и посмотрим логи… (О, как же приятно, когда есть логи!) Снова ошибка? Ничего страшного, по крайней мере, из-за неё чип ценой в десяток долларов не превратился в бесполезный кусок горячего пластика.

В общем, хобби оказалось удачным. Рекомендую.

13302

Волнующая связь

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

И тут продавец выпадает в осадок и мямлит: «Э… Ну, это Bluetooth».

Я говорю: «Радиоволны». Дед меня понимает моментально.

А вот продавец сотовых телефонов, не знающий, какова природа этого самого Bluetooth, конечно, печалит. Bluetooth — и всё.

13301

М-м-монстроидальная ностальгия

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


Захотелось мне на днях вспомнить детство. Добыл «Нереальный турнир» 1999 года, поставил, бегаю…

— Unreal?

— Угу…

— Дай установщик!

Спустя пятнадцать минут:

— А давай по сети?

— Давай!

Бегаем вдвоём, синхронно материмся. Один из соседей отрывается от монитора:

— Что это у вас? Unreal?

— Он самый.

— А дайте установщик!

Через двадцать минут синхронного мата становится больше. Выходит из мида третий:

— Народ, что здесь происходит? Вы по сетке рубитесь?

— Да, вот флешка с установщиком. Присоединяйся!

Сетевые бои быстро стали традицией.


А сегодня к нам аккурат во время очередного заруба пришли соседи — ярые поклонники танковых боев:

— Народ, ну что за дела?! Вы каждый вечер материтесь! Вы уже зае… (Пауза.) Unreal?

— (Хором.) Да!

— А дайте… (В сторону просителей летят сразу две флешки.) Эмм, спасибо.

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


Воистину, классика вечна!

13300

Пессимист разгадывает кроссворды карандашом

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

На самом деле цифровая техника от этой мысли может и отучать. После format С: или rm -rf / обратной дороги нет (или она тернистая/дорогая), высланное «мыло» — не воробей, а попавшись на взломе, уже не «распопадёшься».

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

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

Урок нам всем на будущее: не будем пессимистами! Последствия пессимизма с трудом поддаются исправлению. Хотя в данном случае поддались. Архитектура снова жива: под неё пишут опенсорс, выпускают современные аппаратные клоны и эмуляторы с лицензионно чистыми прошивками. Оптимизм победил!