[bash.org.ru] [IT Happens] [zadolba.li]

IT Happens

Клиент и саппорт. Разработчик и заказчик. Программист и программа. Вести с фронтов.
434241• • •109876• • •321

#1534: Первый прямой отжим

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

рейтинг: 2407

С архиваторами у меня давние и тёплые отношения. Самый мощный в мире архиватор написал я на втором курсе института в качестве курсовика. Файл любого размера он сжимал до двух байт: 0x00 и 0x01. На растерянный вопрос препода: «И что же теперь с ним делать?» — я честно ответил: «Понятия не имею. Было задание написать архиватор, а задания писать разархиватор не было».

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

Делать нечего — через неделю архиватор был предъявлен. Он сжимал любой файл раз в пять лучше RAR на максимальной компрессии и делал это раз в десять быстрее. Выгодно отличало его от моего первого детища то, что этот умел разархивировать файлы. Руководитель сиял, как стоваттная лампочка, и на предъявленный исходник отреагировал мимолётным взглядом и снисходительным кивком. А зря, потому что среди 30 КБ bitwise-операторов и булевой логики сиротливо ютились несколько вызовов к внешним DLL. Один из них со скромным названием RightAlignDWORD получал хэндл открытого файла, копировал его на последние незанятые кластеры жесткого диска и возвращал список кластеров — FAT, разумеется, оставался нетронутым. Этот список кластеров и был единственной полезной информацией в получившемся «архиве».

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

 

#1514: [eq.pas

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

рейтинг: 1060

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

Программа всплыла неожиданно спустя месяц. Был такой же урок, только я прохлаждался, сидя за другим компом. Учитель куда-то вышел; одноклассница, ничего не понимающая в предмете, искала в сохранённых файлах уже выполненное задание. Нашла, взглянула на код (исходник был похожим), запустила, тихо пискнула и в шоке чуть не сползла под стол. Я понял, что происходит что-то неординарное, когда вокруг неё столпились все, кто были в классе, издавая утробный гогот.

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

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

 

#1479: И овцы сыты, и мыши целы. Не очень

23 ноября 2009, 20:30

рейтинг: 1790

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

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

 

#1478: Мастер предпродажной подготовки

23 ноября 2009, 16:45

рейтинг: 2253

Приносят сегодня в сервисный центр моей сестры ноутбук. Ремонтник смотрит на это чудо, видит флопик, LPT-порт и тому подобную фигню, посему заключает, что ноут старенький, о чем и сообщает между делом хозяину. Хозяин, полный праведного гнева, заявляет, что этот компьютер ему прислали по заказу «хочу суперкрутой ноут» совсем недавно. Мастер божится, что ноут древний, но, узрев в свойствах системы четырёхъядерный проц и 4 гига оперативки, робко берёт свои слова обратно. Совместно решают провести ноуту профилактику — тот неестественно притормаживает. Хозяин со спокойной совестью удаляется.

Через некоторое время забегает ремонтник и кричит: «Я не буду заниматься этой фигнёй!» Интересуемся, в чём дело. Ноутбук открыли; там оказалось 256 метров оперативки и жёсткий на 30 ГБ. Надо ли говорить, как был удивлён клиент? Какой-то умник перед продажей всего лишь изменил пару ключей в реестре, и вот он, «суперкрутой ноут» 2002 года производства!

 

#1468: Дуплекс-ТВ

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

рейтинг: 1279

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

Нашли мы старый сервак с Tru64. На внутренних дисках валялась куча хлама и парочка видеофайлов. Один назывался dana_92.avi и весил 90 мегабайт. «О, порнуха!» — вскрикнули хором и стали пробовать скачать его по FTP с целью... удостовериться.

Файл тянулся со скоростью 10 КБ/с. «Сильно медленно, — решили мы, — не может так быть на нашей сетке». Давай смотреть iostat, netstat и так далее. Замечаем кучу ошибок и коллизий; понимаем, что дуплекс выключен. Находим методом тыка, как в «трухе» включать дуплекс. Включаем — скорость как прорвало.

За 10 секунд приняли файл, открываем, а там... кусок из «ОСП-Студии» с Даной Борисовой!

 

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

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

рейтинг: 2529

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

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

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

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

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

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

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

 

#1411: Мы с Иваном Ильичом работали на дизеле

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

рейтинг: 2712

Очередной звонок:

— Аллё! Здравствуй!
— Здравствуйте.
— Помнишь, я тебе несколько месяцев назад звонила и спрашивала про источник бесперебойного питания?

Да, эта тётушка действительно звонила когда-то и интересовалась, какой бы ей ИБП домой прикупить. То ли у неё свет часто отключали, то ли напряжение скакало — не помню, да не в этом суть. Разговор не привёл ни к чему — я очень неохотно интересуюсь домашними проблемами сотрудников (почти никто без подсказки пиво за это не приносит), да и цены и марки «упсов» наизусть не помню. Попытки же редиректа на менеджеров коммерческого отдела вызывали в тётушке агрессию.

— Помню, было дело.
— Давай вернёмся к этому вопросу!
— ОК.
— Я слышала, есть фирма APC, а у неё есть модель... кажется, 500! (Мда, реклама в метро — зло.)
— Да, удачные устройства.
— А ты что посоветуешь? Может, получше взять?
— Смотря что вы к нему будете подключать. (Прикидываю, что дома у неё вряд ли стоит AMD64 с X800 и 500-ваттным питальником). Ведь не холодильник же?
— Почему это холодильник не буду? Он же в розетку втыкается!
— А вы не могли бы письмом кинуть, что ещё вы к нему будете подключать — микроволновку, может, стиральную машину... С моделями, если можно.
— Буду, конечно! Всё, что в розетку включается!
(гы-гы) Сейчас, минутку... Диктую, записывайте!
— Ага! А эта буква какая? Эс как доллар? Ага... ага... А лучше есть? Есть?! Давайте... ага... Ой, спасибо огромное.
— Да пожалуйста. Загляните в коммерческий отдел, может, у них на примете что-нибудь получше есть. До свидания.

Попрощавшись, хладнокровно ещё раз перечитываю характеристики рекомендованных дизельных генераторов SDMO SD 6000 E и SDMO SD 6000 TE. Мощность 4,8 кВт — должно хватить...

 

#1393: Вируса бояться — в сеть не ходить

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

рейтинг: 2100

Работаю сисадмином в учебном заведении. Приходит как-то раз ко мне заместитель по спортивным мероприятиям. Оказывается, что у него стоит не подключенный к сети и инету комп, который «вообще-то надо бы подключить» (ага, тянуть провод до спорткомплекса), на который «залез вирус». Прошу описать симптомы. «Открывается всё подряд до тех пор, пока комп не выдает „оперативная память перегружена“». Ну, думаю, точно вирусняк из простых. Пришел, принёс свой «боевой набор». Смотрю — на клаве с краю лежит ежедневник прямо на кнопке Enter. Убрал, зашёл — всё в порядке.

До спорткомплекса переть долго — что же, я зря шёл?! Просканировал комп — пару червей таки нашлось, но ничего страшного. Тут этот заместитель меня и спрашивает: «Так вы вирус убрали уже, да? Он систему мне не поломал?» Я и решил припугнуть его, рассказав о том, что будет, если не стаить антивирус и втыкать неизвестно чьи флешки. Начал рассказывать об упрощенной классификации вирусов: «Первый класс вирусов просто забивает память и мешает жить; второй класс ломает операционную систему...»

Тут Остапа понесло. Наверное, сработал ассоциативный ряд, и я вспомнил Лукьяненко с его незабвенным «Лабиринтом отражений». Я продолжал: «...третий класс сжигает железо, а четвёртый убивает самого пользователя!»

Короче, заместитель больше не хочет, чтобы ему провели сеть и интернет. Да и компьютеры он стал недолюбливать...

 

#1383: Счастливой отладки!

29 октября 2009, 09:00

рейтинг: 2712

Однажды мне довелось «подхватывать» проект на C++, оставшийся от одного программиста, уволенного несправедливо (по его личному мнению). Впрочем, проект был почти завершён, и мне оставалось лишь немного дописать интерфейс, провести тестирование, отладку и сдать всё заказчику.

Как обычно, сроки поджимают, а я всё никак не могу разделаться с «ловлей блох»: приложение то работает нормально, то вдруг начинает глючить и вылетать на ровном месте. Как выяснилось, периодически возникало std::exception, но отследить, откуда оно бралось, у меня никак не получалось: казалось, что таинственная ошибка присутствует буквально всюду, при этом появляясь далеко не при каждом запуске.

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

Дома первым делом в надежде на чудо запускаю экзешник — вылетает, сволочь. Ладно, запускаю полную компиляцию и иду чистить картошку. Возвращаюсь — ошибка!

В конце одного из основных хэдеров проекта, заботливо спрятанная за правый край экрана нужным количеством табуляторов, красуется неприметная строка:

#include <cfdc.h>

Гугление результата не даёт; просто комментирую эту строку и компилирую заново — успешно! Запускаю — программа работает как часы.

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

#ifndef CFDC_H
#define CFDC_H

#include <cstdlib>
#include <exceptio.h>

#define return if (std::random(1000) < 2) throw std::exception(); else return

//Счастливой отладки!

#endif

Надо ли говорить, что наш проект использовал в одном незначительном месте стандартный генератор случайных чисел, а вызываемый при инициализации std::randomize() успешно заметал любые следы?..

 
434241• • •109876• • •321
 
текст или номер истории
реклама
обратная связь
Хотите разместить рекламу?
Информация для рекламодателей.

Вопросы, предложения, что-то не так на сайте? Пишите в саппорт!
на сайте
Утверждено: 8378
Сегодня: 8
В рассмотрении: 1997
тэги
лучшие последних семи дней
статистика
Рейтинг@Mail.ru