#7087: Перекус, перекур, перефраг

16:45 25.08.2011, IT happens


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


Суть метода проста. В земле бурятся две дырки, в одну спускают микрофоны, в другую кидают бомбу. Бомба бахает, микрофоны записывают колебания и передают их наверх. По скорости прохождения сигнала можно узнать много интересного о породах.


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


Программа была написана и ловко принимала данные, записывая их в файл и попутно отображая в виде гистограммы на экране. Заняло это прилично времени (ассемблер же), но более всего запомнился один эпизод отладки.


В какой-то момент программа начала глючить вполне так конкретно; после того, как её удавалось закрыть, глючило всё остальное, пока комп не перегружался. Код, команда за командой, перебирался долго и вдумчиво. Просчитывались на пальцах сохранения регистров в стеке и корректное их оттуда извлечение. Перепроверялись отдельные куски и логика в целом. Что-то менялось и правилось.


На отладку ушли минимум три рабочих дня, в течение которых с утра до позднего вечера я искал, правил, делал контрольные запуски. Лишь когда в процессе сделали перерыв, и обнаружилось, что комп глючит и сам по себе, без запуска программы, нашлась истинная причина беды.


Кулер на процессоре сдох, сволочь.


А ведь если бы работал не спеша, с перерывами на поиграть, всё бы выяснилось в первый же день.



Загрузка...