4354

Сдюжил

Стал изрядно подвисать интернет. Роутер начал терять соединение с провайдером, тяжело, нехотя восстанавливая коннект. Естественно, сперва мы дёргали его за хвостик питания. Потом это изрядно поднадоело. Мы решили выяснить: что же такое творится с сетью? Перерыли килограммы логов бедной коробочки и нашли интересную запись: «Таблица соединений переполнена». В головах начали мелькать догадки и теории. А пройдёмся-ка netstat'ом по машинкам!

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

Роутер теперь занимает почётное место Народного Героя Сети и окрещён Гераклом за все те испытания, невзгоды и горести, с которыми он достойно справился.

4353

sleep 28800

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

Разворачиваю Yakuake, но четвёртые «кеды» плохо работают на моих мозгах. Печатаю в консоли вместо символов абракадабру. Удивляться нечему: на сайте KDE нет ни слова о поддержке моей мозговой платформы. Перезапускаю KWin, снова консоль, и наконец-то могу печатать нормально. Набираю eject и крепко задумываюсь: какой девайс указать? Дверцу привода я могу открыть (/dev/sr0), но дверца комнаты не подключена к моей системе; более того, я даже не знаю, как она отображается в /dev!

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

4352

Молодильные файлики

Позвонила одноклассница:

— Привет, Ром, у меня не работает вирус! Ой, антивирус. Пишет, что базы вирусов сильно устарели. Как сделать, чтобы они омолодились, а?

— В главном окне нажми «Обновить».

— Чёрт, ничего не получается! Не хочет. Говорит, не найден источник обновления.

— Э… Видимо, сервак упал.

(удивлённо) Кто упал?!

— Источник обновления отключился. Подожди дня два и по всяким сайтам лишним не лазай.

— Ага. Ну ладно. Кстати, у меня тут собаки провод перегрызли.

— Какой провод?

— Как какой? Который интернет включает.

— Пока!

4351

Ни «X» себе

Жалоба: не открывается документ, говорит что-то о не найденном конвертере. Админских прав у пользователя нет. Коннекчусь, переустанавливаю конвертер, чтобы открывать документы 2007-го Ворда в 2003-м — иногда он отползает. Ан нет, то же самое: Офис хочет установить какой-то конвертер, выдаёт ошибку и предлагает на выбор кодировки.

Думал недолго, но метод перевода файла из новой версии Офиса в старую путем изменения расширения с .docx на .doc меня поразил.

4350

Jack goes where?

Адаптер для модема с переменными 9 В. 12 В с плюсом на центре для USB-вайфай-роутера. 9 В с плюсом на корпусе для сканера штрих-кодов. Все к дной машине.

В конторе появляется новенькая светленькая девочка. Прибегает утром и плачет.

— Кто тебя довёл?

— Мужики — придурки! Кто придумал эти дырки сделать одинаковыми?

Я в шоке. Думаю, кто счастливчик, когда успел и когда приедет милиция.

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

4349

Два процента толка

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

Для написания «перделки», которая на VB делается за полчаса, надо непременно использовать С++, желательно под линуксом — и наплевать, что пользователь сидит под виндой. Времени уйдёт несколько месяцев.

Если в проекте используется сторонняя библиотека, её надо объявить дерьмом и написать свою. Если в проекте встретилась слишком простая функция — её надо обязательно переписать на ассемблере.

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

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

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

Думаете, смешно? А я насмотрелся на поделки, где одновременно используется три самопальных класса для одних и тех же кнопок на тулбаре, три библиотеки для работы со строками и пять подпрограмм для умножения матриц — с ошибками, естественно. На программы, где на ассемблере с SSE переписаны функции копирования памяти, при этом один и тот же файл открывается и закрывается в цикле двадцать раз, чтобы прочесть первые три байта сигнатуры. На проги, где используются параллельно оконная библиотека MFC и своя, с ней несовместимая. Программы, у которых после наведения «архитектурной чистоты» начинались тормоза, а размер своп-файлов поднимался с единиц мегабайтов до терабайтов. Многопоточные программы, которые не в состоянии были загрузить процессор на 40%, потому что потоки дрались за критические секции...

КПД программерского коллектива — как у паровоза Черепановых: все пыхтят и создают работу друг для друга. Полезный выход — два процента.

Думаете, отчего я такой злой? Просто я всё это добро портирую с платформы на платформу, просматривая и исправляя чужой код по мегабайту в день.

4348

Гол престижа

Любят у нас ребята из отдела АСУ пользователей пугать. Сидишь, никого не трогаешь, читаешь IT happens. И тут хоп: курсор мышки от тебя убегает, рыскает по вкладкам, что в браузере открыты, и закрывает те, что к работе ну никак не относятся. Ну а мы что, не люди, что ли? Иной раз полезно оторваться от работы, дабы мозг разгрузить и с новыми силами в бой броситься. Понятное дело, начальству этого не объяснишь, так что админы чувствуют свою власть и продолжают издеваться над бедными юзерами.

Ну и решил я, как говорится в футболе, забить гол престижа в ворота админского тщеславия. Дома скачал картинку с Оком Саурона и забацал под ним в Гимпе огромную надпись: «Админ видит всё!» В уголок добавил мизерные фигурки хоббитов, которые топают к горе Ородруин, а рядом мелким шрифтом приписал: «Почти всё». Скинул изображение на корпоративную почту и с чувством выполненного долга завалился спать.

Утром, придя на работу, первым делом я поставил эту обоину на рабочий стол и пошёл курить. Вернувшись после перекура на рабочее место, я заметил: что-то изменилось. Пригляделся. Надпись «Админ видит всё!» была подчёркнута тройной красной линией, а последнее слово вдобавок обведено. Обречённо я опустил взгляд в угол картинки, а там...

Чёрное пятно на месте хоббитов и надпись «Fatal Error» преследовали меня целую неделю: админ поставил запрет на смену обоев.

4347

Что просеешь, то и пожрёшь

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

— Битый пиксель попался!

4346

Упыриная свита

Есть у меня мама — не компьютерная, а обычная, человеческая. Попросила она как-то флешку какой-то док на работе перекинуть. Воткнув вернувшуюся обратно флеху, я не выдержал и пары секунд адского зрелища и очень долго переводил дыхание, глядя на радостное: «Форматирование завершено». На флешке висел один-единственный несчастный документ, вокруг которого собрались упыри:

— экзешник, спёрший название этого документа, со значком 2003-го Ворда, скрытый;

— ещё один экзешник, замаскированный под TXT, зачем-то тоже скрытый и с нечитаемым названием;

autorun.inf, конечно;

— просто какой-то безыскусный экзешник с набором символов вместо имени;

— папка Recysler (именно так; что там было, даже глядеть не стал);

— и System Volume Information — тоже в китайской транскрипции.

Пользуясь случаем, хочу выразить полное «фэ» админам Генпрокуратуры РФ, где, собственно, и работает мама.

4345

Нормальные герои всегда идут в обход

Взялся помочь знакомому с раздачей на компьютер и ноутбук DSL-интернета на свежекупленном роутере D-Link. Смена поколений «дилинков», так сказать: старый роутер с одним LAN-портом снимается и заменяется новым (4 LAN + Wi-Fi). Авторан диска, знакомая картина быстрой установки: выбрать провайдера, скопировать с PPPoE логин, ввести пароль, ключ шифрования беспроводной сети. Проверка подключения к интернету — не работает. Проверяю провода, и с самого начала: провайдер, логин-пароль, вайфай. Проверка — снова не работает.

Видимо, интуиция сработала — решаю вбить логин вручную. Проблема найдена: то ли разработчики пожмотились на длину окошка для логина, то ли провайдер чересчур размахнулся с логином типа номер_телефона.01@dsl.провайдер.net — неизвестно. Не хватало всего одного символа. Пришлось «рисовать» другую знакомую картину: браузер, 192.168.1.1, admin/admin, Edit Settings...

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