Цифрова Фортеця, стр. 32

Вона поглянула на свій екран і нахмурилася.

— Нумо! Ти мав удосталь часу. — Накривши долонею мишку, вона кілька разів клацнула й розгорнула статусне вікно — цифровий годинник, вельми схожий на цифровий годинник «Транскоду». Він показував години та хвилини роботи її «слідопита». Сюзанна втупилася в монітор, сподіваючись побачити ці години та хвилини. Але побачила дещо інше. І від цього в неї мало серце не зупинилося.

Пошук слідопита скасовано

— Скасовано! — Аж задихнулася вона вголос. — Чому?

Охоплена панікою, Сюзанна крутила коліща, передивляючись дані та ретельно вишукуючи в програмуванні команди на скасування. Та цей пошук виявився марним. Наче «слідопит» зупинився сам собою. Сюзанна знала, що це означає тільки одне: у трасувальнику завівся «жучок».

Для неї ці «жучки» були найдратівливішим аспектом комп’ютерного програмування. Через те, що комп’ютери завжди виконували операції в точно визначеному порядку, найдрібніша помилка в програмуванні часто призводила до руйнівних наслідків. Прості синтаксичні помилки — коли програміст помилково ставив кому замість крапки — могли вивести з ладу цілі системи. Сюзанна знала, що слово «жучок» має цікаве походження.

Воно прийшло з першого у світі комп’ютера — «Марк-1» — електромеханічного лабіринту схем завбільшки з кімнату, створеного 1944 року в лабораторії Гарвардського університету. Одного дня в комп’ютері стався апаратний збій, і ніхто не міг встановити його причину. Після багатогодинних пошуків один лабораторний помічник нарешті знайшов, у чім проблема. Виявилося, що на одну зі схемних плат комп’ютера сів метелик — і закоротив її. І відтоді всі комп’ютерні дефекти почали називати «жучками».

Процес виявлення «жучка» в програмуванні міг тривати кілька днів.

«Я не маю для цього часу», — досадливо пробурмотіла Сюзанна. Щоб знайти крихітну помилку, доведеться передивитися тисячі рядків програмування — це те саме, що передивлятися величезну енциклопедію, вишукуючи в ній один-єдиний мимодрук.

Сюзанна знала, що має зробити одне: знову послати «слідопита». Вона знала також, що він майже гарантовано наштовхнеться на того самого «жучка» і знову зазнає фіаско. Для пошуку цього «жучка» знадобиться час, а часу командир Стретмор не мав.

Аж раптом Сюзанна, вдивляючись у програму й намагаючись вирахувати свою помилку, збагнула, що тут щось не так, щось не в’яжеться. Минулого місяця вона без проблем скористалася цим самим трасувальником. Чому ж у ньому зненацька виявився глюк?

Ламаючи голову над цією думкою, вона пригадала слова Стретмора, сказані кілька годин тому: «Сюзанно, я спробував сам послати цього “слідопита”, але дані, які він видав, виявилися якоюсь нісенітницю».

«Дані, які він видав...»

Вона задумливо схилила голову набік.

«А чи могло таке бути? Дані, які він видав у відповідь?»

Якщо Стретмор, пославши «слідопита», дістав відповідь, це означало, що програма працювала. А те, що дані виявилися абракадаброю, на думку Сюзанни, сталося через те, що командир ввів хибні пошукові ланцюжки. Але ж «слідопит» таки працював!

Сюзанна миттєво збагнула, що могло бути ще одне ймовірне пояснення припинення роботи програми. Внутрішні вади програмування були не єдиною причиною збоїв; інколи до них призводили зовнішні чинники: стрибки напруги, часточки пилу на схемних платах і нелад у кабелях. Вона не взяла ці міркування до уваги, бо апаратура в блоці № 3 була дуже добре налагоджена.

Сюзанна підвелася і швидко підійшла до великої полиці з технічними посібниками. Взявши скріплену дротяною спіраллю теку з позначкою «Функціонування систем», вона стала гортати сторінки. Знайшовши те, що шукала, Сюзанна повернулася до термінала і вдрукувала кілька команд. А потім стала чекати, поки комп’ютер перегляне перелік команд, які він виконав упродовж останніх трьох годин. Вона сподівалася, що пошук виявить те чи інше зовнішнє втручання — команду на скасування, подану в результаті збою в електропостачанні або виниклу через дефект у мікросхемі.

За кілька секунд її термінал пискнув. У Сюзанни пришвидшено забилося серце. Затамувавши подих, вона поглянула на екран.

Код помилки — 22

Сюзанна відчула приплив надії. То була гарна новина. Той факт, що пошук виявив код помилки, означав, що сам трасувальник у нормі. Вочевидь, він припинив роботу через якусь зовнішню разову аномалію, що не мала тенденції до повтору.

Код помилки — 22. Сюзанна понишпорила в закутках пам’яті, намагаючись пригадати, яку помилку означав код 22. Збої апаратного забезпечення в блоці № 3 були такою великою рідкістю, що вона не могла згадати, що означала кожна цифра коду.

І Сюзанна погортала сторінки посібника, переглядаючи список кодів помилок.

19: несправний жорсткий сегмент

20: сплеск постійного струму

21: відмова системи збереження даних

Коли ж вона дійшла до номера 22, то аж заціпеніла, витріщившись на сторінку. А потім приголомшено поглянула на монітор — чи, бува, не помилилася.

Код помилки — 22

Сюзанна нахмурилася й повернулася до посібника з функціонування систем. Те, що вона там побачила, не мало змісту.

22: ручне скасування роботи програми

РОЗДІЛ 35

Бекер шоковано поглянув на Рочіо.

— Ви продали перстень?

Жінка кивнула, струснувши своїми шовковистими рудими кучерями.

Девід відмовлявся вірити в почуте.

— Ясно... але ж...

Рочіо стенула плечима і сказала іспанською:

— Продала. Дівчині в парку.

У Бекера аж ноги підкосилися. «Цього не може бути!»

Рочіо всміхнулася з напускною скромністю й кивнула на німця.

— El queria que lo gardara. Він хотів залишити перстень собі, але я відмовила його. У мені тече циганська кров. Ми, циганки, не лише рудоволосі, а й забобонні. Перстень, відданий людиною на порозі смерті, — це недобрий знак.

— А ви знаєте цю дівчину? — спитав її Бекер тоном слідчого.

Рочіо здивовано вигнула брови.

— Ти Диви! Невже вам справді так потрібен той перстень?

Бекер серйозно кивнув.

— Кому ви його продали?

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

— Was passiert? — знервовано спитав він. — Що відбувається?

Бекер проігнорував його запитання.

— Узагалі-то я його не продала, — зізналася Рочіо. — Я спробувала, але то була маленька дівчинка й не мала грошей. Тож насамкінець я просто віддала їй той перстень. Знала б я про вашу щедру пропозицію, то неодмінно притримала б його для вас.

— А чому ви пішли з парку? — суворо спитав Бекер. — На наших очах померла людина. Чому ви не дочекалися поліції? І чому не віддали перстень представникам влади?

— Знаєте, містере Бекер, я організовую й облаштовую багато речей, але я не займаюся організацією проблем для самої себе. До того ж мені здалося, що отой дідок контролював ситуацію.

— Канадець?

— Так, він викликав «швидку». І ми вирішили, що час іти. Я не бачила жодних підстав для себе та мого клієнта зв’язуватися з поліцією.

Бекер відсторонено кивнув. Він і досі намагався вмістити у свідомості цей жорстокий удар долі.

«Як же ж вона могла просто так віддати оту бісову штуку!»

— Я намагалася допомогти умирущому, — пояснила Рочіо. — Але, здавалося, він і не хотів моєї допомоги. Натомість став тикати нам в обличчя свій перстень. Виставив свої три спотворені пальці — який жах! І тицяв у нас своєю рукою — наче ми мали цей перстень забрати. Я не хотіла, але мій приятель усе ж таки взяв і зняв його. А потім цей чоловік помер.

— А ви пробували зробити йому масаж серця? — поцікавився Бекер.

— Ні, ми до нього й не торкалися. Мій приятель узагалі перелякався. Він гігант, але слабак. — Вона спокусливо всміхнулася Бекеру. — Не хвилюйтеся, він жодного слова іспанською не розуміє.