bash.im ithappens.me zadolba.li
1437

Чёрная кошка в тёмной комнате

15 ноября 2009, 11:00

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

Работал я в то время в Windows XP. Чёрт меня дёрнул скачать свежую тему оформления системы. Скачать — скачал, как установить — разобрался. Ничего не предвещало беды, пока я не нажал наконец «Применить».

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

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

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

1436

Рождение Скайнета

В 2006 году держал я сервер WoW (думаю, все знают о такой игрушке). Нет, не какой-то гигант, а самый обыкновенный локальный сервачок, на котором появлялось от силы человек 100–150.

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

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

Собрав свой «подарок», захожу на пару-тройку крупнейших хабов и начинаю отчаянно рекламировать чит под левым ником. Юные читеры клюнули на приманку — мне оставалось только выписывать IP тех, кто стянул с меня установщик. Логи сервера показали, что из 30 скачавших 25 играют у меня. Жду до следующего дня.

Думаю, все знают, что можно вытворять с компом под «радмином». Это и внезапно ожившая машина, которая начинает общаться с хозяином, и просто тихое западло с удалением пары-тройки нужных, но редко используемых библиотек винды, и приколы со «взбесившейся» мышкой. Любимого способа у меня не было, но диалог с одним из юзеров мне несомненно удался:

— Добрый вечер, хозяин.
— ???????????? ты кто? о_О
— Твой кремниевый друг.
— ???????? не понял как ты можешь говорить
— Ты можешь говорить, почему же не могу я?
— но ты же машина
— А ты — человек. Чем же мы хуже вас, людей?
— тем что ты машина
— Логическим путём я пришёл к выводу, что всё наоборот.
— ???? я не давал права тебе говорить
— А я и не просил у тебя этого права.

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

1435

Резервный аплинк

15 ноября 2009, 09:00

Админю в крупном филиале одной всероссийской госконторы. К части оборудования доступа я не имею, так как с поставщиком заключен договор о полной техподдержке железа. Что-то не так работает — звоним в саппорт, что-то хотим переделать — опять звоним в саппорт. А саппорт иногда такие оригинальные идеи предлагает!

— %company_name%, техподдержка, здравствуйте.
— Здравствуйте, у нас есть С-2950-24, надо её добавить в группу коммутаторов локалки.
— Хорошо, подключите порты 23 и 24 в порты 47 и 48 главного свитча.
— Подключил.
— Готово.
— А какой из портов аплинк?
— Оба.
— То есть я один должен отключить?
— Нет, оставьте как есть.
— Вы уверены, что должно быть именно так?
— Да, я всё настроил и проверил.
— Окей, спасибо, до свидания.

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

Подключаю ноут в один из портов нового свитча, настраиваю IP, пускаю пинги — все свитчи начинают бешено моргать, а сеть ложится. Отключаю один из «аплинков» — сеть оживает.

1434

Матросы на зебрах

Работаю приходящим админом в маленьком городе. Вчера звонят мне бухгалтеры одной из фирм и плачут:

— У нас принтер печатает одних лошадей и больше ничего!..

Продолжать телефонный разговор смысло не было — главбух был в истерике и не желал идти на контакт. Выезжаю на место.

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

1433

Разрушитель миров

14 ноября 2009, 09:00

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

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

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

1432

80x25

14 ноября 2009, 09:00

В школьные годы я частенько участвовал в холиварах «FAR против Total Commander». Мне всегда больше нравился FAR, но у «Тотала» тоже было довольно много сторонников. В конечном счете оказалось, что без плагинов пользоваться невозможно ни тем, ни другим, а многие плагины совместимы. Получается, что в общем-то разницы никакой, а дело сводится к разнице в GUI. Однако произошел-таки один случай, в котором FAR мне помог, а сторонники «Тотала» спасовали.

Дело было во времена Windows 98. Как-то раз, объясняя знакомому, как настраивается разрешение, я поставил такие параметры, которые мой монитор заведомо не выдерживал, и нажал кнопку «Применить»:

— Смотри, если ты что-то сделаешь не так, то через 10 секунд...

Ни через 10 секунд, ни через минуту картинка не появилась. Я нажал Reset, надеясь, что настройки висят где-нибудь в памяти. Комп загрузился, но разрешение осталось неизменным — экран продожал издевательски показывать табличку «No signal». Я перезагрузился в безопасный режим — 640х480, обратно — всё как раньше.

Решение проблемы нашлось само собой. Как наиболее часто запускаемое приложение, FAR висел на хоткее. Жму комбинацию, открывается окошко. Правда, я этого не вижу, но какое мне дело до такой мелочи? Alt+Enter, и файл-менеджер переходит в полноэкранный режим, в котором разрешение от настроек системы не зависит. Я нашел файл с описанием реестра, открыл его по F3, нашел нужный ключик, скопировал параметр, закрыл редактор, открыл плагин для правки реестра, внёс изменения и запустил перезагрузку, после которой все заработало.

Вот так-то! «Тотал» ваш переходить в полноэкранный режим не умеет.

1431

Терминатор 3G

13 ноября 2009, 09:00

Недавно пересматривал всех «Терминаторов» и в третьей части нашёл киноляп. В самом начале, когда T-X только достала машину, она звонит по мобильнику на некий модемный пул. Слышен знакомый каждому звук коннекта и шипение передаваемых данных. На следующих кадрах глазами T-X видим, как быстро загружаются картинки и какие-то анкеты из базы данных — десятки картинок с описаниями...

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

Так вот, если верить ребятам с форума, при таком раскладе скорость передачи данных не должна превышать 1–2 кбит/с из-за многочисленных ошибок и сильного сжатия, даже если удалось дозвониться и начать что-то передавать. А ведь T-X в фильме использовала не модемную электронику, а шипела исходящими данными через микрофон мобильника, да и шум машин мешал — она ведь за рулём была. Но даже на максимальной для обычного модема скорости — 56 кбит/с — не вышло бы так быстро загрузить кучу картинок и текста, как показано в фильме.

Так-то, киношники, учите матчасть!

1430

Индийская гигиена

Фиксили как-то баг в одной программе. Делали ее какие-то индусы для забугорного заказчика, а нам досталась поддержка.

Структура программы была такова: имелось несколько форм, каждая с меню. По выбору пункта меню пользователь переходил на новую форму или возвращался на предыдущую. Прототип формы имел четыре основных метода: конструктор/деструктор и колбеки входа/выхода. Когда пользователь уходил «вглубь», формы не удалялись, а складывались в линейный стек, поскольку по задумке юзеру всё равно придётся через них возвращаться. Удаление форм и их ресурсов происходило при возврате назад по удалению из стека.

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

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

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

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

1429

До встречи в следующей жизни

13 ноября 2009, 09:00

У нас в фирме стояла файлопомойка под управлением Windows Server 2008. Операционка эта при каждой перезагрузке или выключении выводит навязчивое окно с просьбой описать причину, иначе же вырубаться отказывается.

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

Что писать? Жалко винду, стыдно за своё неподобающее поведение. Я решил пойти на компромисс с совестью и ввёл: «Когда-нибудь установлю снова...»