Блог
Да будет сканер, в Linux
Несколько месяцев назад я занялся порочной практикой - самостоятельной сборкой ядер Linux. Процесс сам по себе не такой уж и сложный, но я, как человек разумный, решил переделать конфигурацию на свой лад, т.е. убрать всё лишнее, всё что не используется на моей домашней (по совместительству...
Дальше / Комментарии
Тормозим оптический привод
Надоел шум нового супер-быстрого CD-ROM (DVD-ROM или пишущего комбайна) при просмотре фильма? Ограничиваем его скорость самым простым способом, который может прийти в голову:$ eject -x8 /media/cdrom0Где -x8 — скорость работы привода (при x32 мой привод шумит значительно меньше, почти не заметно,...
Дальше / Комментарии
Twisted-клиент и веб-прокси
Как это не парадоксально, но Twisted в своем арсенале не имеет средств для работы с HTTP через прокси-сервер. Я наклепал небольшой код, который решает эту проблему. Сделано не бог весть как, но если кому-то очень нужно, то сгодится и этот код.from twisted.web import client as _twcclass...
Дальше / Комментарии
KolibriOS
Данная часть сайта посвящена операционной системе KolibriOS (KOS). Если у вас возникли вопросы по установке, настройке или использованию этой операционной системы (ОС), вы пришли немного не по адресу. Попробуйте поискать ответы на форуме. Обращайтесь к этому же форуму, если у вас возникли вопросы по программированию в KolibriOS и, если эти вопросы не касаются FreePascal. Помимо форума пользуйтесь официальным сайтом.
Мои 5 копеек
Большую часть времени по программированию в KolibriOS я провожу под FreePascal (официальный сайт). В данный момент, я пишу версию RTL этого компилятора под KOS, что бы программы, собранные на FreePascal, могли выполняться в среде этой операционке. На данный момент RTL далека от завершения, как это не прискорбно, но, что радует, самая "ходовая" его (точнее её, конечно же) часть работает. Впрочем, об RTL отдельно. Сама процедура сборки на данный момент тоже весьма не тривиальна и требует знание некоторых национальных танцев с бубном. О сборке тоже поговорим отдельно.
FreePascal
План раздела:
- Пару ласковых о FreePascal.
- Разговоры о сборке для KOS.
- Примерчик для затравки?
- Мечтания о переносе компилятора и IDE FP под KOS.
RTL
RTL следует расшифровывать как Run-Time Library для KOS, причем речь идет исключительно о RTL для FreePascal. (RTL - это базовая статическая библиотека языка.) В пакете FreePascal, под именем RTL распространяется сразу несколько модулей, большую часть из которых не всегда можно назвать базовыми, т.е. не все для себя посчитают их таковыми. Упоминая RTL, я чаще всего буду подразумевать модули System и SysUtils, именно эти модули содержат больше всего платформозависимого кода и являются наиболее трудоемкими в плане переноса. Конечно не стоит принижать ценность таких модулей как Classes, Crt и многих других, но нужно понимать что акцент на сложность их переписывания ставится уже не так сильно.
На данный момент код, необходимый для переноса программ, написанных на FreePascal, находится только в репозитарии KolibriOS, там же располагается документация по сборке RTL, а так же, пока единственный, пример.
Вот еще несколько ссылок:
KviD
Медиапроигрыватель. KviD на данный момент планируется и разрабатывается как проигрыватель некоторых версий XviD и DivX. Так же рассматривается воспроизведение только MP3. Название KviD, как можно догадаться, произошло от XviD, связанно это прежде всего с тем что при создании этого проигрывателя используется открытый код XviD.
Планы на ближайшее или не очень будущее
Графическая подсистема
Я считаю здоровой мыслью вынос графической подсистемы KolibriOS из ядра (RING0) в отдельный сервер (RING3). Одним из вопросов является то каким должен быть программный интерфейс (API). Конечно, низкоуровневую прослойку можно оставить точно такой же и только расширить её, но мне кажется более правильным использовать интерфейс схожий или полностью повторяющий X Window System, а точнее Xlib. Собственно Xlib я вижу как базовый API графической подсистемы KolibriOS, без учета того будет создаваться вся инфраструктура X'ов или же мы не будем заходить так далеко.
TTF
Реализация векторных шрифтов для KOS. Прежде всего это True Type Font. На первом этапе предусматривается разработка модуля только для FreePascal. Так же рассматривается возможность разработки динамической библиотеки.