Прошла первая контрольная по предмету “Сочинение”. Можно было выбрать одну из тем: описать традиционный праздник своей страны или порассуждать, чему бы Китай мог у нашей страны (или у развитых стран) научиться. Объем — 800 иероглифов, время — 2 часа.
Со скрипом написал вторую тему. Через двадцать минут после начала занятия сели батарейки в словаре — возможно, к лучшему, т.к. оставшееся время ни на что не отвлекался.
Вообще, очень неожиданно ко мне вернулись сочинения в самом классическом их школьном формате: для того, чтобы тема вызвала хоть какой-то резонанс в голове, нужно старательно себя раскачать, и при этом, морщась, впихивать в текст заученные накануне слова и выражения, должные свидетельствовать об овладении основами литературного китайского языка.
Зато теперь я знаю, как по-китайски будет “изумрудно-зеленый”.
* * *
Одно из самых глубоких впечатлений от первого дня конференции OpenOffice.org — сообщение представителей Камбоджи о внедрении OpenOffice.org в национальной системе образования. Но впечатление связано совсем не с кхмерами, а с одним испанцем, который скромно сидел в зале и который на самом деле стоит за всем проектом. Пять лет назад он был в Камбодже по какой-то гуманитарной программе, задумался, почему бы не поднять местную систему ИТ-образования с помощью СПО, напрягся — и сделал. Опыт работы в НГО помог найти деньги, целеустремленный характер позволил довести проект до ощутимых результатов: сегодня средние школы III ступени в Камбодже уже используют локализованный OpenOffice.org, уже разработаны учебные материалы, обучены преподаватели. Проект является официальной инцииативой министерства образования.
Внедрение OpenOffice.org в системе образования Камбоджи
Разумеется, без испанца ничего этого бы не состоялось. Страна нищая, а нищие люди, увы, думают о хлебе насущном, а не о перспективах системы образования. И как много, оказывается, в таких условиях может сделать хороший человек, воспитанный в европейской культуре!

Присоединился к экскурсии участников конференции OpenOffice.org в Гугун. К сожалению, не успел вовремя проснуться в первый день, когда ездили на Великую стену, пришлось ехать вместе со всеми в Гугун (где я уже был) и в Ихэюань (где я еще не был).
Озеро в парке Ихэюань
Экскурсовод — милая китаянка с неплохим знанием английского языка. Под конец экскурсии по инициативе немецких товарищей (которых было большинство) ей подарили открытку и пакет с деньгами (каждый бросил юаней по 10-20).
В автобусе познакомился с интересным иранцем, который сейчас живет и работает в Париже. Он специалист по ИТ-системам в области медицины (получил медицинское образование, но потом понял, что в ИТ ему интереснее), на конференции выступал с докладом об использовании онтологий при составлении научных публикаций в OpenOffice.org. У него интересный взгляд на иранскую революцию: он считает, что она была бы невозможна без заграничной поддержки, но результаты ее оказались совсем не те, которых ожидали заграничные друзья. Что касается ирано-иракской войны, то одна из ее целей будто бы заключалась в том, чтобы избавить Иран от запасов вооружений, накопленных ранее при участии западных союзников. Задача была решена — война прекратилась.
Поскольку осмотр Гугуна осуществлялся совсем не по тому маршруту, по которому я следовал в первый раз, скучно не было. Большой интерес у публики вызвал рассказ экскурсовода о позолоченных противопожарных сосудах, с которых почему-то была соскоблена вся позолота. Оказывается, позолоту соскабливали саблями русские солдаты, которые попали сюда в 1900 г. во время подавления Боксерского восстания.
Котлы с остатками позолоты
Когда мы по просьбе организаторов конференции встали фотографироваться с красным транспарантом конференции у входа в Ихэюань, это зрелище произвело на местное население столь глубокое впечатление, что на один снимок нашей компании, сделанный штатным фотографом конференции, приходилось примерно шесть снимков китайских туристов.
Впервые увидел, как пожилые люди упражняются в уличной каллиграфии. В отличие от каллиграфии традиционной, произведения каллиграфии уличной не живут дольше одной минуты.
Уличная каллиграфия

Должен признаться, что при всём уважении к
k001, я никогда не любил OVZ. Несмотря на то, что идеи namespace'ов выполнения, сетевых, дисковых и т.д., они, в принципе, светлые. Но по старой памяти от VServer, я не верил в виртуализацию таким путём. Более того, меня сильно задевало и задевает вмешательство OVZ в IP-стэк, которое я считаю недопустимым. Хотя тут уже причиной является, скорее кривизна архитектуры IP в ядре Linux. Но это всё лирика.
Кир же не устаёт повторять, что один из самых весомых вкладов OVZ в ядро состоит не в виртуализации, а в тестировании и в ловле блох, которые зело гибнут в архитектуре OVZ. И вот я стал не вполне вольным свидетелем этого. Обновившись из Сизифа (а откуда ещё :), я обнаружил, что в KDE перестали монтироваться USB-устройства. Материалы рассылок подсказали, что новый HAL на старом ядре не умеет работать с USB (какая-то байда, имхо, ибо вербозный фореграундный хал вполне себе реагировал на втыкновение флэша). Ну ладно, попробуем новое ядро, поскольку обычное smp померло, ставлю def… Это ванильное ядро такое. Типа, от Линуса только что.
Батюшки-святы! SATA-винчестеры не монтируются, ни в какую, ide-generic при загрузке вылетел по out of memory (вообще по ту сторону добра и зла), gdm не стартует, иксы запускаются минуту (хотя сеть работает, да-да), а HAL… HAL так и не заработал. Жаль подмога не пришла, подкрепленья не прислали, но остался OVZ, и voila! В нём всё работает, кроме того же многострадального HAL. Даже не HAL, а, как оказалось, сбоит обвязка KDE к халу. Ну да и бох с ней, я уже давно точил зуб на wmii, вот теперь снова уйду из KDE на год-другой, ибо 4й вообще невменяемый никак, а 3й, похоже, отмирает. В общем, OVZ даже на рабочей станции оказался не столь уж и бесполезен, как я считал. Да что там, только он, по ходу, и спас.
Похоже, любую систему, ориентированную на «рядового пользователя», ждёт судьба висты™, или пресловутый вендекапец™. Даже если это Linux. Это, собственно, тезис.
А если более развёрнуто, то вместо KDE, невозбранно царившего на моём десктопе в течение нескольких лет, я таки пересел на wmii. И понял только одну вещь: я абсолютно не понимаю, как работает и устроено «подкапотное пространство» современного Linux-десктопа. В KDE всё происходит «само»: втыкаешь флэшку — она появляется на панели или рабочем столе, а во всплывающем окошке под рукой окажутся все нужные действия. Например, на вставку чистого CD или DVD вам предложат записать на него данные, музыку, видео… Аплеты на панели следят за батарейкой ноутбука, позволяют регулировать режимы энергопотребления, отправлять машину в sleep/hibernate. Красота. До тех пор, пока что-нибудь не ломается.
Но мир так устроен, что ломается непременно. На этот раз сломалось автоподключение USB-носителей, хотя это могло быть что угодно. Так я понял, заглянув внутрь. Ведь какая была парадигма старых систем, классический UNIX-way? Keep it simple, stupid. Если что-то уже есть, его надо использовать. Например, чтобы выяснить, как завершилась команда, достаточно посмотреть на код возврата. Просто? Чтобы передать потоковые данные в цикл обработки, есть stdin/stdout и конвейер в баше. Одна утилита сортирует, другая фильтрует, третья изменяет. Для ограничения доступа есть права на файловой системе; достаточно представить объект в виде файла, и всё уже готово: и методы доступа, и синхронизация, и контроль доступа.
Вместо этого мы изобретаем DBus (мало было netlink?), HAL (мало sysfs + inotify + netlink? Нет пайпов?), PolicyKit (не хватает acl на FS?). Все эти компоненты, обвешанные новыми, сложными интерфейсами, сильно завязаны друг на друга, и ещё сильнее завязаны на ядро. А окружение рабочего стола жёстко привязано интерфейсами и/или библиотеками к эти компонентам. Т.е., косвенно, к ядру.
Раньше я мог менять рабочий стол как рубашку, «хош так лягу, хош так». Мог ставить версии оконных менеджеров без оглядки на ядро, которое было проверенное, рабочее, и меня вполне устраивало всем, включая поддержку железа. А теперь? KDE, похоже, фтопку. Гном ушёл туда же ещё раньше, т.к. в нём все эти приколы («реестр», глюки с ассоциациями файлов, пропадающие превьюшки картинок) проявились раньше. А KDE4 туда ушёл, как только выяснилось, что нет простого способа поменять ублюдочный чёрный цвет панели.
Могу с тоской констатировать, что Linux-десктоп вполне готов для рядового пользователя. Он работает сам по себе, он не требует настройки (но и не позволяет её делать простыми средствами), радует как домохозяек, так и твик-фриков. А что остаётся белым людям? Белым людям остаётся xmonad, awesome, wmii. Т.к. надо как-то взаимодействовать с железом, то ещё ivman, pmount, powersave. Для динамических менюшек — dmenu, wmii9menu. И ничего, что для работы powersave -U теперь надо от рута говорить # polkit-auth --user pupkin --grant org.freedesktop.hal.power-management.hibernate. Я думаю, что ещё какое-то время продержимся.
Сформулировал. Даёшь кал (kal) — kernel abstraction layer! Я понял его необходимость, пытаясь с минимальными затратами единообразно управлять сетевыми интерфейсами в Linux и FreeBSD. Этот же кал позволил бы запускать один и тот же хал на разных ядрах. Так, в порядке бреда…
Чувства по поводу FreeRunner у меня смешанные, как в том анекдоте: тёща, улетающая в пропасть на твоём новом автомобиле. Облегчение с неясным привкусом упущенных возможностей. Короче, чтобы прочувствовать до конца, этим нужно заняться самому.
Пока что попробовал несколько прошивок: OM 2007.2, OM 2008.9, FDOM. Если в 2007.2 авторы ещё как-то придерживались концепции смартфона, там было чертовски мало приложений, но большинство работало и отвечало связно, то к выпуску 2008.8 команда OpenMoko постигла какое-то иноземное дао. Начиная с этого выпуска, прошивки OM используют Enlightenment, самый, пожалуй, инфернальный оконный менеджер. Интерфейс потерял всякую связность, по концепции начал напоминать худшие примеры UI дизайна Garmin, когда три однородных элемента раскиданы по двум разным меню. Местами нужен один клик, местами два. Прокрутка происходит вроде как в iPod, приятно, конечно, но при этом нажимаются все иконки, оказывающиеся под стилусом.
Пприложения сами по себе тоже не подкачали. Из браузеров хоть как-то работает только dillo, который не показывает кириллицу (в ALT, надо отметить, кириллицу он отображает уже давно). Всякие Midori и прочие Minimo не работают at all. Хотя постойте, в Midori мне удалось открыть башорк. Впрочем, изменить размер шрифта не получилось, а прокрутка в очередной раз уронила браузер. Да, и после добавления закладки Midori нужно перезапустить. Иначе закладка не появится в меню. В общем, открыть удалось, а вот прочитать — нет.
WiFi работает, но что уж тут? wpa_supplicant и wireless-tools не могут не работать, коль скоро ядерный модуль достаточно вменяем. А вот графические утилиты, все как одна, функцию выполняют не очень ясную. Та, что по умолчанию, явно для декорации, т.к. очень симпатичная и вообще не работает. Есть одна, которая работает, очень напоминая WinCE, и не только интерфейсно :) при настройке сети она может запросто «зависнуть» на минуту-другую, пока сеть не настроится.
Больше всего огорчило аудио. В 2008.8,9 и FDOM нет вменяемых средств для проигрывания mp3, а качество воспроизведения ogg такое, что собаки окрест начинают выть хором, надрывно и жутко. Какое качество у видео, я уже побоялся выяснять. Зато стабильно и быстро работает python, xterm, ssh. Тут сказалось одно из самых замечательных свойств FreeRunner'а: он работает без sim-карты. Так что впереди — установка Debian и ALT. И пусть весь мир содрогнётся.
При разработке протокола иногда встаёт вопрос: найти ли подходящий RFC (и пытаться ли ему следовать), или изобрести свой протокол «с нуля», под свои локальные нужды. Вторая позиция хороша, когда важна скорость прототипизации, т.к. даже простое чтение (порой десятков) RFC способно заставить надолго задуматься. Но следование RFC порой приносит плоды в совершенно неожиданных местах.
В моём проекте есть оба подхода. Транспортный протокол свой, в то время как service discovery и т.п. работает через mDNS. Cегодня мне пришлось писать диссектор для Wireshark под транспортный протокол. И я понял, что время, потраченное на RFC в связи с реализацией подмножества DNSSEC для mDNS, было вовсе не потеряно. Не то чтобы механизм плагинов у Wireshark был сильно кривой, нет. Просто на С, похоже, иначе не пишут.
Когда, кто и где будет вручать нетбуки ?
Вопрос не совсем праздный. Жена выигралааааа !!!!
СПАСИБО за конкурс, теперь и жить хочется, и работать…
Спасибо за конкурс!
Хотелось бы узнать, будут ли опубликованы работы, ведь вроде бы для того он и планировался. Мне очень интересно будет увидеть, что же сделали другие.
Поздравляю всех победителей! И участников! Как-никак общее дело делали, как могли, как хотели… Просто у кого-то получилось лучше. А остальным желаю лично от себя успехов в будущем, думаю, в следующий раз и у Вас получится!
И вообще, интересно знать, что планируется дальше, будут ли какие-то результаты, пояснения, рецензии и т.п.
Будут ли высылаться электронные дипломы, какой регламент дальнейших действий? Надо ли беспокоиться или свяжутся с победителями по почте?
Ещё раз спасибо за конкурс!