Хакофон OpenBSD 2005: День шестой?
Киел Вудинг (Kjell Wooding), Воскресенье, 29 Май 2005, 01:10
Хакофон движется к завершению. Я могу это сказать, поскольку мне приходится серьезно задумываться, чтобы вспомнить какой сейчас день. (Четверг, по крайней мере так мне сказал кто-то в холле). Помимо случайных перерывов на еду и сон я практически не вылезал из-за своего ноутбука уже три дня. Я искал баг в инициализации мультипроцессорк (некоторые компоненты, включая SSE инструкции, неправильно инициализировалсь на вторичных процессорах) и теперь, когда я его уже исправил, у меня наконец-то есть возможность подняться и осмотреться.
Ух. Многое успело произойти за 3 дня.
Кстати, если вам интересно, как выглядит типичный день в хак-комнате, я могу вам рассказать, так как я только что провел три таких практически неразличимых дня. Все происходит где-то так:
<ul>
<li><i>09:00</i> Просыпаемся. Умываемся. Бредем в хак-комнату.</li>
<li><i>09:30</i> Проверяем, работает ли последная ночная сборка. Если нет, ставим последний снимок и делаем <tt>cvs up</tt>, чтобы забрать ночные изменения. Молимся и проклинаем до тех пор, пока снова не получится рабочая сборка.</li>
<li><i>10:00</i> Читаем почту. Если вчера вы что-либо порушили, кто-то с утра будет на вас кричать. Исправляем.</li>
<li><i>10:30</i> Урчание в животе. Самое время позавтракать. Пингуем комнату, чтобы узнать, не хочет ли еще кто-либо есть. Бредем к месту завтрака и машем рукой другим разработчикам OpenBSD, которые обязательно будут уходить тогда, когда вы будете приходить.</li>
<li><i>11:30</i> Завтрак окончен. Возвращаемся в хак-комнату.</li>
<li><i>Полдень.</i> Проверяем почту. Хакаем. Находим ошибку в чем-либо, совершенно не связанным с тем, над чем работаем сейчас. Проводим трехчасовую вылазку по ее исправлению. Отправляем по почте изменения для проверки.</li>
<li><i>15:00</i> Снова урчание в животе. Пингуем комнату в поисках желающих пообедать и выпить пива. Бредем вниз по улице за едой (обычно, либо китайской, либо индийской). Кушаем. Платим. Уходим.</li>
<li><i>15:50</i> Снова в хак-комнату. Проверяем почту. Исправляем то, что испортили. Хакаем.</li>
<li><i>16:00</i> Обнаруживаем интересную проблему в коде, над которым работаем. Потребуется время на раздумья. Идем в паб (тот, что с беспроводной сеткой).</li>
<li><i>18:45</i> Уложили два пива. Мозг снова в рабочем состоянии. Бредем назад в хак-комнату для работы.</li>
<li><i>22:00</i> Ужин. Снова пингуем комнату в поисках голодных разработчиков. Направляемся в паб на ужин. Если с вами пошло достаточное количество разработчиков, гравитация притянет и других. Если нет, возможно, вам придется вернуться и продолжить работу.</li>
<li><i>02:00</i> Гравитация сработала, но пабы уже закрыты. Возвращаемся в хак-комнату. Бьемся над куском кода до тех пор, пока эта чертова штука не заработает. Компилируем ядро. Отсылаем письма другим для проверки.</li>
<li><i>03:30</i> Комната начинает опустошаться. Наверное, пора идти спать. Обновляем локальное дерево исходников, чтобы подхватить изменения сегодняшнего дня и вбиваем <tt>make build</tt>. Если повезет, дерево рабочее и с утра нас будет ждать свежий билд.</li>
<li><i>04:00</i> Падение. Завтра новый день. Если повезет, то может удастся вспомнить какой.</li>
</ul>
Сегодня Дэйл (Dale Rahn) показал мне кое-что жуткое - Java, работающую на Zaurus. Два дня назад на Zaurus было невозможно даже послушать MP3 через наушники, а сегодня на нем уже работает JRE. Изменения появляются скачками и набегами повсюду, особенно в этой части недели, когда некоторые большие проекты начали давать результаты.
Самым странным результом этой недели по прежнему является
безумие вокруг цикла ожидания. Помимо анекдотов вокруг строчки "о, глядите, еще один известный баг напрямую связан с этой ", появилась неофициальная игра "кто сможет срезать хоть еще одну инструкцию из <tt>locore.s</tt>". Конечно, в сравнении с исправлением бага <tt>hlt hlt</tt>, эта экономия одиночных инструкций не так важна. Это нечто вроде
палача в ядре. Ты делаешь это потому, что можешь. У Боба (Bob Beck) есть название для таких изменений. Он называет их "блестящими ".
Хакофоны связаны не только с добавлением кода. Они также связаны с его чисткой. За последние два дня, по крайней мере два больших куска кода отправились на CVS Attic в небесах:
<ul>
<li><i>telnetd.</i> После, кажется, годовалых дебатов был достигнут консенсус: этому демону не место в безопасной операционной системе. Он ушел и надолго забыт.</li>
<li>Стековые файловые системы (такие как <i>null</i> и <i>union</i>). Несмотря на то, что это хорошие идеи на бумаге, в реальности, их реализации всегда были глючны. Возможно, она когда-нибудь снова появятся (с нормальной реализацией), но сейчас они уходят.</li>
</ul>
В хак-комнате становится тихо. Это довольно хороший знак того, что скоро покажется солнце. Пожалуй, мне надо пойти поспать. В конце концов, в моей очереди заданий появился diff. Впервые за три дня я думаю, что я действительно заслужил некоторый отдых.
это контент от Центр информации по операционным системам
( http://www.osrc.info/plugins/content/content.php?content.99 )