Материал дайджеста подготовлен W__W при моем скромном участии.
Дайджест KolibriOS #2: что нам принёс февраль
Дайджест KolibriOS #3: начало весны
Дайджест KolibriOS #4: и весна нам не помеха
Дайджест KolibriOS #5: мы снова с вами
Дайджест KolibriOS #6: последняя осень
Дайджест KolibriOS #7: как мы зиму перезимовали
Дайджест KolibriOS #8: дары весны
Дайджест KolibriOS #9: летний урожай
Дайджест KolibriOS #10 коротко о накопившемся
Дайджест по итогам 2015 года
Изменения были почти по всем направлениям:
- приходили и уходили разработчики;
- дополнялось API операционной системы;
- улучшались программы, драйверы и библиотеки;
- появились новые средства разработки;
- проводились акции и конкурсы.
Разработчики
В 2015 году к нам присоединились несколько программистов, из которых особую активность проявили Pathoswithin и pavelyakov. Pathoswithin занимался улучшением поддержки файловых систем, в том числе NTFS (удаление и создание файлов и папок, запись и перезапись файлов без изменения их размеров), масштабируемыми шрифтами, исправлениями программ — всего 58 ревизий. pavelyakov занимался созданием библиотек для языка C--, исправлениями программ — всего 66 ревизий. Также он разрабатывал интерпретатор высокоуровневого ассемблера и визуальный редактор интерфейса программы с последующей трансляцией в код языка С--.
Проект покинули или ушли в длительный отпуск:
Mario — человек, стоявший у истоков KolibriOS, и один из ведущих разработчиков ядра, драйверов и программ.
SoUrcerer — разработчик, портировавший множество программ и написавший тестовый драйвер для принтеров.
yogev_ezra — PR-менеджер, организатор конкурсов, программист для процессоров семейства Vortex86.
API и возможности ядра KolibriOS
Отметим следующие достижения:
Pathoswithin — повышение скорости работы с IDE-дисками.
Pathoswithin — улучшение поддержки файловой системы NTFS. Комментарий к первой версии кода 7мая
… В общем, дело идёт гораздо медленнее чем я ожидал, но всё-таки, обществу с отсутствующей ответственностью для осторожного тестирования представляется код с ограниченными возможностями. Поддерживается создание (копирование) файлов если есть место в файловой таблице и в узле каталога, иначе вежливо отправляет дописывать. Также, карта раздела кэшируется кусками по 32кб, что эквивалентно 1гб дискового пространства (не тестировалось)...
Удаление, если индекс файла в папке не указывает на подузел.
Редактирование/перезапись без изменения размера.
Pathoswithin — новый системный шрифт с возможностью масштабирования.
Pathoswithin — новые события мыши.
Serge — поддержка HPET.
Serge — ускорение загрузки ядра.
GerdtR — функция сделать окно поверх всех, позади всех или на уровне рабочего стола (самый нижний «слой»).
hidnplayr — работа с любой из поддерживаемых сетевых карт, а не только с первой обнаруженной.
Новые функции и подфункции:
Функция 18.19.6 — получить задержку для двойного нажатия мышью;
Функция 18.19.7 — установить задержку для двойного нажатия мышью;
Функция 18.25.1 — узнать положение окна относительно других окон;
Функция 18.25.2 — установить положение окна относительно других окон;
Функция 26.10 — получить значение высокоточного счётчика времени;
Функция 37.3 — состояния и события кнопок мыши;
Функция 48.9 — узнать режим сглаживания шрифтов;
Функция 48.10 — установка режима сглаживания шрифтов;
Функция 48.11 — узнать размер шрифта;
Функция 48.12 — установить размер шрифта;
Функция 74.4 — узнать указатель на сетевое устройство;
Функция 74.6 — узнать значение счётчика пакетов TX;
Функция 74.7 — узнать значение счётчика пакетов RX;
Функция 74.8 — узнать значение счётчика байтов TX;
Функция 74.9 — узнать значение счётчика байтов RX;
Функция 74.10 — узнать статус соединения;
Функция 76 — настройки и статистика сетевых протоколов.
Программы, драйверы и библиотеки
Переработан файл macros.inc, который используется во многих программах.
Создан файл KOSfuncs.inc с именами функций и констант, позиционируемыми как стандартные и рекомендуемые к использованию в программах, написанных на FASM.
Из новых программ отметим следующие:
"@open" (разработчик e-andrew) — системная утилита, служащая для открытия файлов по ассоциации. Это был первый шаг от избавления зоопарка файлов ассоциаций у файловых менеджеров и других программ. С ревизии 5396 программа в составе ночных сборок.
«Pixie Player» (разработчик Leency) — музыкальный плеер (фронтэнд для MiniMP3).
«FB2 Reader» (разработчик akron1) — читалка fb2-книг
Средства разработки
В конце года большой интерес вызвали проекты участника pavelyakov:
Интерпретатор программ на высокоуровневом ассемблере
Визуальный редактор интерфейса приложения с последующей трансляцией в С--
Акции и конкурсы
18 января были подведены итоги конкурса игр:
Победители конкурса:
1. LaserTank — разработчик ZblCoder. Язык программирования: C++. Компилятор: MSVC (VS2013).
2-3. N-sider — разработчик eugene455. Язык программирования: C. Компилятор: TinyC / GCC.
2-3. Dungeons of Augastes — разработчик Anton_K. Язык программирования: Assembler.
Компилятор: FASM.
4. 21days — разработчик igevorse. Язык программирования: C++. Компилятор: GCC.
21 февраля начат конкурс «Нарисуй или улучши иконку Колибри»
4 мая открыт приём материалов для блога компании на Хабрахабре. Пишите Punk_Joker о предполагаемых темах статей для координации работы над ними и составления графика публикаций.
Статистика юбилейных ревизий:
билд 6000 — 22 декабря 2015 — Pathoswithin — 523 дня
билд 5000 — 17 июля 2014 — Clevermouse (на Хабре CleverMouse) — 281 день
билд 4000 — 9 октября 2013 — Mario79 (на Хабре Mario_Z) — 339 дней
билд 3000 — 4 ноября 2012 — Leency (на Хабре Leency) — 486 дней
билд 2000 — 7 июля 2011 — Mario79 (на Хабре Mario_Z) — 893 дня
билд 1000 — 25 января 2009 — diamond (на Хабре grechnik) — 1207 дней
билд 1 — 6 октября 2005 — halyavin (на Хабре halyavin) — начало использования SVN
Последняя тысяча далась тяжелее, чем предыдущие, из-за смены поколений участников проекта и длительного отпуска Сlevermouse.
В заключение скажем, что в прошедшем году было анонсировано начало работ над несколькими программами, в том числе над двумя браузерами, выпуска которых мы вместе с вами ожидаем в 2016 году.
Счастливого 2016 года!
Комментарии (16)
Grammidin
06.01.2016 18:39Удачи вам!
А что планируется в этом году?Punk_Joker
06.01.2016 20:03Особых планов пока нет. Но точно будет полноценная запись на NTFS, и надеюсь появится браузер (сейчас в этом направлению ведется более активная работа)
Randl
06.01.2016 22:10+1А кто работает над браузером? С нуля пишут или портируют что-то? Помниться sourcerer пытался браузер написать, но об этом два года ни слуху, ни духу.
W__W
06.01.2016 22:22Leency решил переписать свой браузер с нуля. И hidnplayr пишет свой тоже с нуля…
Randl
07.01.2016 02:04Leency hidnplayr
А реально ли в одиночку написать браузер, на котором можно беспроблемно просматривать все (ну или хотя бы большинство) современные сайты? Тем более на ассемблере.
Или упор будет сделан на легкость аля Links?Leency
07.01.2016 03:49+2Привет,
Нет. На данный момент самостоятельно написать браузер не реально. Кто-то пошутил, что любая программа в процессе своего развития стремиться стать операционной системой. Современные браузеры подошли к этому очень близко.
Над ними работают десятки и сотри программистов. Исходники Chromium несколько лет назад «весили» 300 Мб, сейчас уже 2,2 Гб.
2,2 Гб, Карл!!!
> Leency решил переписать свой браузер с нуля.
Основной дистрибутив Колибри — это img образ размером 1.44 Мб. Сейчас в нем есть браузер WebView, который был одной из моих первых программ для Колибри, потому код в нем не ахти. Я делаю попытку исправить ошибки прошлого и переписать его, т.е. сделать тот же текстовый браузер, но уже с хорошим кодом. Мне это просто интересно, ничего более.
Грустная история WebView http://kolibri-n.org/inf/webview/webview
Другие мои программы имеют более веселую судьбу.
Один наш друг из Индии занимается портированием Netsurf, пожелаем ему удачи.Randl
07.01.2016 05:04Вопрос был скорее риторический. Очевидно, что крупный софт в одиночку написан быть не может. Успеха в любом случае.
W__W
06.01.2016 22:42Что касается порта NetSurf, то это был один из частично успешных проектов GSoC 2014 года. Индус, который был в GSoC студентом, время от времени заходит и обещает им снова заняться. Вот текущее состояние github.com/ashmew2/netsurf-kolibri
Punk_Joker
06.01.2016 22:50Помимо выше сказанного, один из студентов GSoC 2014, Ashmew2, продолжает работу над Netsurf. Сейчас он работает над нативным для Колибри интерфейсом, и внедрением наработок по портированию в основное дерево проетка Netsurf, чтобы ядро браузера оставалось вктуальным, без особых усилий со стороны команды KolibriOS.
Zibx
06.01.2016 23:18Как пощупать визуальный редактор? Прочитал все 4 страницы форума и так и не нашел.
W__W
06.01.2016 23:28Нагуглил compiler.esy.es, но работоспособность неизвестна.
W__W
08.01.2016 22:30Немного потестировал: в Firefox сайт грузит, но добавление компонентов неработает; в Chrome нормально добавляются компоненты, события компонентов (можно писать обработчики событий), можно менять текст, цвет и прочие параметры для компонентов, но с компиляцией проблемы. Можно скачать описание формы в неком формате *.kcm.
Punk_Joker
07.01.2016 02:46Он все еще в разработке, потому автор его и не выкладывал. Но сейчас у него времени поубавилось, в связи с тем, что сейчас он в армии.
halyavin
Вот так неожиданно в один день обнаруживаешь себя автором первой ревизии. А я всего лишь настроил SVN сервер и убедил Mario79 его использовать.
Punk_Joker
Внедрение чего-то, это не такая уж и мелочь.