Читаем Bash.org.ru IT Happens Истории ## 5701 – 5800 полностью

— Не буду я в это глюкало играть! Я удалил уже.

С тех пор к подбору товарищей для игр я отношусь гораздо тщательнее.

<p>#5750: И с того света достанем</p>

14:00 21.03.2011, IT happens

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

Подумалось, что ОС, в которой есть демоны и зомби, просто провела сеанс связи по спиритическому протоколу.

<p>#5751: Brain mismatch</p>

14:00 21.03.2011, IT happens

Девушка учится на менеджера. На экзамене по информатике надо было решить задачку на Паскале:

a := 5;

b := a*2 - 6;

c := b > a;

Конечно, нужно было догадаться, что c — это переменная boolean. Преподаватель с удивлением наблюдал около двадцати листов, на которых в графе ответа стояло: «Error 23. Type mismatch».

<p>#5752: В неизвестность со спецэффектами</p>

14:00 21.03.2011, IT happens

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

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

Итак, есть подпрограмма:

1. Объявляем массив для хранения имени файла.

2. Адрес этого массива передаём в другую подпрограмму, где в него заносится имя файла, файл загружается, и с ним довольно долго работают.

3. Выходим из всех подпрограмм наверх, в главное меню.

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

Заключительный аккорд: размер массива зарезал сам начальник. Молодость программистскую, блин, вспомнил. Программа-то 16-битная была, стек, соответственно, больше 64К быть не мог. Вот и оказал нам шеф свою посильную помощь, снизив нагрузку…

<p>#5753: Проходите, нечего здесь смотреть</p>

15:45 21.03.2011, IT happens

Лет десять назад в нашем городе единственным приемлемым вариантом доступа в сеть был один из дайлап-провайдеров. Тарификация была поминутной — выходило более доллара в час, совершенно неподъёмная сумма. Провайдер предоставлял и бесплатный тестовый доступ. Зайдя под логином «guest» и паролем «sci», пользователь мог подключиться, поглядеть на сайт провайдера и зайти в личный кабинет для пополнения счёта.

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

Остальное было делом техники. HTTP-прокси принимал запрос от локального браузера на открытие страницы и, заворачивая его в POST-метод, передавал PHP-скрипту на рабочем сайте. Cкрипт разворачивал запрос, выполнял его, скачивая запрошенный документ, и возвращал ответ прокси. Мелкие завитушки вроде аутентификации пользователей — и в интернете стало можно сидеть бесплатно. Идиллия омрачалась только тем, что гостевой доступ разрывался каждые десять минут, но это мелкое неудобство никак не мешало наслаждаться халявой.

<p>#5754: Ноль без палочки</p>

15:45 21.03.2011, IT happens

У всех есть свои любимые и нелюбимые браузеры; у веб-разработчиков — тем более. В исходниках городского портала я наткнулся на HTML-код:

<p>#5755: Лопата — перфоратор солдата</p>

15:45 21.03.2011, IT happens

Протягивали мы оптоволокно через подвал одного здания — очень корявого, надо сказать. Ни тебе технологических отверстий для кабелей, ни электрической проводки — пришлось самим тянуть переноску аж за 300 метров. Темень, сырость и бетонные стены по полметра толщиной в самом узком месте. После пяти часов с перфоратором мы с напарником чувствовали себя шахтёрами-забойщиками. Рождались мысли о том, как хорошо бы из пушки стену эту прошибить или направленным взрывом. Во время нечастых перекуров на поверхности мы делились всё новыми идеями. С нами курил мужичок лет за пятьдесят. Оказался мастер, своего рода коллега. Услышав наши домыслы «хорошо бы из гаубицы», он рассказал поучительную историю.

Перейти на страницу:

Все книги серии Bash.org.ru IT Happens

Похожие книги