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

— Так у вас страниц в документе всего три.

— А! Как так? Точно! Извините, пожалуйста!

<p>#10801: Обои плывут безо всяких веществ</p>

12:45 05.04.2013, IT happens

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

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

<p>#10802: Вона как оно бывает</p>

13:15 05.04.2013, IT happens

В 2011 году строили раритетную TDM-сеть с коммутацией потоков от 9600 бит/с до 64 кбит/с внутри потока Е1 на 2 мбит/с. Сеть энергетиков, у них именно такие для технологии и диспетчерской связи используются традиционно. Для молодых инженеров TDM — это говно мамонта, а кто застал, знают, что основа TDM — синхронизация.

Через наше оборудование должны АТС стыковаться, их другая фирма поставляет-настраивает. Не работает телефония вдребезги. Начинаем разбираться с инженером-телефонистом. Человек настроил сеть из полусотни АТС. Это не первая его сеть. Но в процессе общения я понимаю, что человек о синхронизации не знает ничего. Вообще о её существовании. Сначала не могу в это поверить, но затем начинаем с коллегой на пальцах объяснять, что это такое и как устроено. И очень примечательное лицо стало у собеседника. Человек никак не мог определиться: то ли его жёстко разводят, чтобы спихнуть на него свою проблему, то ли вся его картина мира должна рухнуть. Так он до конца нам и не поверил. Может, и к лучшему — слишком сильное потрясение бесследно не проходит.

<p>#10803: Внортонепоэфтрисампосмотри</p>

20:45 05.04.2013, IT happens

В хорошем, крепком банке с конца восьмидесятых активно использовались несколько барабанных АЦПУ с интерфейсом ИРПР. А надо знать, что ИРПР — это штука хитрая и с привычным Centronix не особо совместимая. Поэтому к этому делу прилагался драйвер.

Изначально всё это было заточено под XT. К 93-му году экстишки себя совсем изжили и были переданы в филиалы райцентров, где после Robotron-1715, а кое-где и печатающих калькуляторов Elka-55 им сильно обрадовались. На смену заслуженным экстишкам пришли 286-е машины. Тут-то принтера и отвалились. Кооператив, который делал сопряжение интерфейсов, уже давно пукнул и испарился — разумеется, вместе с исходниками. Печатать сальдовки по сто метров надо. Оставшиеся экстишки отбирают в приказном порядке.

Давай разбираться, что не так. Тык-мык-тык-мык. Что первое в глаза бросается? Экстишка — 4,77 МГц, 286-ая — 12, а в турборежиме — 16. Перепаиваем кварц на экстишечный. Работает принтер. Значит, завязан на тактовую частоту и квитирование делает в зависимости от неё. Но кто ж позволит из работающей экстишки кварц попятить?

«Пишем драйвер», — говорит шеф. Пишем, чё! «За сутки управимся», — отвечаю я.

И тут выясняется, что спеков на ИРПР хоть чем жуй. А вот на ИРПР-М, он же Centronix, чё-то не видно нигде. Ну, пока всякие НИИ работали, можно было в их научных библиотеках покопаться. Или в какой ВЦ по старой дружбе заглянуть — спеки-то не секретные. Но на улице был 93 год, и почти всё уже загнулось и позакрывалось.

Хорошо, что драйвер был пару килобайт. Плохо, что в виде TSR-программки. Если что, Hiew и IDA появились заметно позже, а досовский debug дебагать TSR не очень умел. Даже хекс-режим «внортонепоэфтрисампосмотри», по-моему, ещё не появился. Поэтому сначала мы получили старую добрую распечатку хекс-дампа драйвера. Потом «дизассемблировали» карандашиком на бумажке. Нашли цикл задержки, который крутился в цикле управления квитированием, после чего рассчитали нужные значения для 12 МГц и попатчили драйвер. Найти под утро компилятор ассемблера тоже оказалось непростой задачей. Да и драйвер изначально не на ассемблере был писан. И мусорного кода было предостаточно.

Самое главное, что в цикле гонялось транспонирование каких-то мусорных матриц. Увеличение размеров матрицы и их количества позволило аналогично попатчить драйвер под 25, 33, 40 мегагерц. А вот, не приведи господи, считался бы там какой-нибудь факториал…

Потом появились 486 с кэшем, и всё накрылось тазом. Но к тому времени под рукой уже были и дебаггеры, и IDA, и компиляторы. И году в 96-м драйвер был-таки переписан.

<p>#10804: Угроза грозы</p>

12:15 06.04.2013, IT happens

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

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

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

Адриан Моул: Годы прострации
Адриан Моул: Годы прострации

Адриан Моул возвращается! Годы идут, но время не властно над любимым героем Британии. Он все так же скрупулезно ведет дневник своей необыкновенно заурядной жизни, и все так же беды обступают его со всех сторон. Но Адриан Моул — твердый орешек, и судьбе не расколоть его ударами, сколько бы она ни старалась. Уже пятый год (после событий, описанных в предыдущем томе дневниковой саги — «Адриан Моул и оружие массового поражения») Адриан живет со своей женой Георгиной в Свинарне — экологически безупречном доме, возведенном из руин бывших свинарников. Он все так же работает в респектабельном книжном магазине и все так же осуждает своих сумасшедших родителей. А жизнь вокруг бьет ключом: борьба с глобализмом обостряется, гаджеты отвоевывают у людей жизненное пространство, вовсю бушует экономический кризис. И Адриан фиксирует течение времени в своих дневниках, которые уже стали литературной классикой. Адриан разбирается со своими женщинами и детьми, пишет великую пьесу, отважно сражается с медицинскими проблемами, заново влюбляется в любовь своего детства. Новый том «Дневников Адриана Моула» — чудесный подарок всем, кто давно полюбил этого обаятельного и нелепого героя.

Сью Таунсенд

Юмор / Юмористическая проза