bash.im ithappens.me zadolba.li

IT happens

13339

Нет ручек — нет мультиков

Есть у нас одна организация — клиент интернет-услуг. В силу непонятных обстоятельств роутер у них заперт в ящике типа сейфа, и доступ к нему есть только по сети (и с компьютеров организации, и из сети провайдера). D-Link, ни разу не подходящий для использования в крупных конторах, зависает с завидной регулярностью. Перезагрузить физически по питанию — невозможно. Удалённо — пожалуйста, с компьютера зайти и ребутнуть — тоже не проблема.

Не проблема — для тех, кто WWW-адрес отличает от e-mail. Звонили чуть ли не каждый день с единственной просьбой: перезагрузить этого монстра. Порядком надоело, написали скрипт перезагрузки через telnet. Отправили на почту, объяснили, как пользоваться, вроде даже поняли. На следующий день звонок.

— Ребутните!

— Вы ж теперь сами можете. Запускали тот файлик?

— Нет, интернета ж нет, на почту не зайти, не скачать…

13338

Икебана из костылей

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

А вот вторая мысль была реалистичнее: строили всегда как умели и как хотели, а до наших дней дошло то, что дошло. И тут осенило. А как надо строить, чтоб на века? Вот пирамида. Устойчивей некуда. Её можно было и целиком из песочка насыпать. Или навалить тёплой и мягкой субстанции в тех же габаритах. И ничего — стояло бы совсем как живое. Вот Парфенон — крыша на подпорках, политкорректно именуемых колоннами. Нотр-Дам тоже весь в подпорках и костылях, именуемых контрфорсами. Мда. А вот модульные универсальные решения типа хрущоб разваливаются на глазах.

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

13337

Смотрите на первом

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

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

Ничего не ответил ему прикладной уровень. Спросил тогда сисадмин шестой уровень модели OSI:

— Ответь мне, уровень шестой, представительский. Можешь ли ты преобразовывать протоколы, получается ли у тебя кодировать-декодировать данные да сжимать их для увеличения пропускной способности канала? Получаешь ли запросы приложений от прикладного уровня?

Ничего не ответил ему уровень представления. Спросил тогда сисадмин пятый уровень модели OSI:

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

Ничего не ответил ему сеансовый уровень. Спросил тогда сисадмин четвёртый уровень модели OSI:

— Ответь мне, уровень четвёртый, транспортный. Готов ли ты данные доставлять, блоки на фрагменты делить и отправлять их?

Ничего не ответил ему транспортный уровень. Спросил тогда сисадмин третий уровень модели OSI:

— Ответь мне, уровень третий, сетевой. Готов ли ты к определению путей передачи данных, получается ли логические адреса и имена в физические транслировать, можешь ли кратчайшие маршруты определять да неполадки в сети отслеживать?

Ничего не ответил ему сетевой уровень. Спросил тогда сисадмин второй уровень модели OSI:

— Ответь мне, уровень второй, канальный. Хорошо ли поживает наша сеть локальная, готов ли ты её узлам данные передавать? Да посмотри заодно на первый уровень — может, в нём какие проблемы увидишь?

И ответил канальный уровень:

— Есть нарушения где-то на первом уровне, физическом, что-то не в порядке. Иди в серверную — чую, там беда корни свои прячет.

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

А админ этот день не забыл, купил вторую сетевуху и настроил её как резервную.

13336

Вовсе нет никакого эфира

Вчера, 08:00

На DX-ы и прочий LOCAL
Всех делила ребячья порода.
В коллективке весь двор пропадал
Днём и ночью в любую погоду.
Забывалась любая беда,
Лишь бюро QSL приносило,
И не верили мы никогда,
Что кончаются, что кончаются,
Что кончаются волны эфира.

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

Отвечал на запросы ты всем,
Сам был рад каждой карточке новой,
Но однажды купил ты модем,
Ещё тот, в виде платы слотовой.
Ты сквозь шум его что-то кричал,
Только плохо тебя слышно было.
Лишь одну фразу я различал:
«Я вернусь ещё, я вернусь ещё,
Я вернусь ещё в волны эфира».

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

13335

Монтировкой спутнику в торец

21 мая, 09:24

Слесарь ЭВМ? Это что!

Бортовой журнал троллейбуса. На обложке перечислены полезные номера телефонов: парк, техпомощь и так далее. И один из этих номеров обозначен как «слесарь ГЛОНАСС».

13334

Четыре в уме

21 мая, 08:00

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

Работает у нас «менеджер по продажам». Работает в смену. После выходных периодически забывает свой пароль в 1С. После третьего раза написал ему его пароль на листочке, сказал выучить наизусть. Через месяц снова забыл пароль. «А где листочек?» — «Потерял». Ну, блин, запиши себе в ежедневник!

Проблема ушла на месяц. После Нового года звонит мне снова: «Я забыл пароль». Спрашиваю его: «У тебя же в ежедневнике записано четыре цифры твоего пароля!» Ответ: «А у меня новый ежедневник».

До сих пор не знаю, зачем таких держат в фирме.

13333

Самопроизвольное индоизвержение

А я теперь официально признаюсь быдлокодером.

Дело в том, что мне приспичило написать обёртку на Go для сишного API Eggdrop. Всё было хорошо до тех пор, пока я не попытался реализовать подобие Tcl-функции bind для C-функций. Полдня я потратил на исследование исходников, так как всемогущий поисковик мне не помог, но не нашёл ничего, кроме функций добавления и бинда Tcl-функций. В результате у меня получился такой механизм: генерируется имя вида eapi:bind_xxx, затем под этим именем добавляется привязываемая функция, затем получившаяся Tcl-функция привязывается как обычно. Возвращаемым значением этого монстра является номер бинда (то самое xxx в названии функции).

Простите меня, оно само.

13332

Лежачие мертвецы

20 мая, 08:00

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

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

Год система отработала без огрехов. Потом начались проблемы. Как только включался четвёртый тренажёр (а в нём стоит обычный ПК, только в корпусе собственного производства), сеть ложилась и не поднималась до выключения тренажёра. Более того, сеть часто падала, даже если этот тренажёр был отключён.

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

Через два месяца директор не выдержал и послал меня… в командировку посмотреть опытным взглядом. Посмотрел. Они кинули новый кабель не под подиумом, а снаружи, при этом установили роутер в режиме концентратора, даже отключили старый кабель от мамки, но сеть была нестабильна.

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

Сброс роутероотброса и выключение всех лишних функций — и сеть ожила. Единственное — бытовой D-Link держит сеть иногда только пять часов.

13331

Держите руки в руках

Уроборос Горыныч — это, конечно, ужас как страшно, и, как показывает практика, шаловливые пользовательские лапки и не туда залезть могут, но зачем пользователям доступ в BIOS/UEFI оставлять? Это ведь всё равно что давать им под админом сидеть. Пароль на настройки BIOS/UEFI, пломбу на системник. Смог сломать? Молодец, отчитывайся по служебке. Не включён SRP — жди запуска странных файлов в профайле пользователя, есть доступ к BIOS — жди сбитых настроек, открыт системный блок — и всеведающий овощ не предположит, что там будет лежать (однажды, ещё на предыдущей работе, достал изнутри бутылку горячего пива).

Я не раз говорил и не устану повторять: пользователю нельзя давать шансов на ошибку, ибо, если есть возможность, пользователь ошибку совершит.

13330

Коричневая неожиданность

19 мая, 08:12

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

13329

Стыдно, но видно

19 мая, 08:00

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

Давеча начальство поставило задачу разбить PDF-файл по абзацам и каждый распечатать отдельно (в оригинале было всё одной простыней). PDF-редактора, естественно, нет, и желания осваивать с наскоку новую программулину тоже не наблюдается. Всякими Файнридерами переводить в вордовский документ тоже не вариант: форматировать и исправлять будешь до морковкиного заговения.

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

13328

Хочешь вслух скандалов длинных?

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

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

И всё бы ничего, его версия была даже стабильна, но тестировщики залили в тестовую базу совершеннейшую чушь. Представьте удивление человека, открывающего новый раздел «Избранное» — и…

Хочешь сладких п#$дюлей?

А теперь представьте, что этот человек — директор компании.

13327

Срочно — понятие растяжимое

18 мая, 08:00

Техподдержка средней фирмы, все работают с 8 до 17.

16:55. Звонок — кассир из одного из подразделений:

— У меня вчера (!) оплата не прошла, чек отбился… (Минут на десять рассказов и наводящих вопросов для выяснения приблизительной ситуации.) Сделайте, мне срочно надо!

— Срочно не получится (время 17:05). Закрывайте кассовую смену как есть. Завтра с утра напомните, мне от вас нужно будет подробное объяснение со скриншотами. Из ваших объяснений я сделал вывод, что не могу сам решить. Оставлю с утра заявку программистам по вашей проблеме.

8:00 следующего утра. С утра, как всегда, текучка, летучка. Cтараюсь прислушиваться к телефону, но нет.

9:00… 10:00… 11:00. Звоню сам — прошу рассказать о проблеме подробнее.

— Вы знаете, мне некогда, я позже позвоню.

13:00… 14:00… 15:00… Состояние в чате «Нет на месте». Звоню — трубку никто не берёт.

16:00. Состояние «В сети», звоню несколько раз — короткие гудки.

17:00. Звонок.

— Вы просили напомнить про платёж, я вчера звонила? Мне нужно срочно…

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