Кем я только не работал и что только не делал в этом проекте. Именно знания, полученные в процессе работы над Колибри дали мне возможность кардинально изменить свою жизнь — найти работу мечты, новых друзей и получить невероятное количество фана!
Итак, начнем.
Иконки
(2007..2017)С самого начала и до победного конца пилю иконки для Колибри. Слева иконки до моего в прихода в проект, по середине моя первая редакция в 2007 году и в правом столбике текущий вариант из ночных сборок.
Старенькая статья на эту тему «Иконки Колибри: забывая Менуэт»
PR
(2007)Занимался рекламой Колибри на других ресурсах.
Файловый менеджер Eolite
(2008..2017)Моя первая и на данный момент самая крупная программа для Колибри. Начинали мы ее разрабытывать вместе с Veliant, потом к разработке присоединился Punk_Joker.
Статья о разработке «Eolite. Мемуары дилетанта»
Двухпанельный режим.
Memory Blocks
(2008)В игре нужно по памяти найти одинаковые пары пиктограмм, для уменьшения размера программы используются иконки рабочего стола. Будь дизайнером, поиграй
Dicty
(2008)Простой русско-английский и англо-русский словарик на 15 тысяч значений слов. Поиск происходит по мере набора.
Just Clicks
(2008..2013)Переписанная на С-- ClickoMania. Нормальный дизайн, исправление багов, система уровней. Любимая убивалка времени в Колибри.
Appearance
(2008)Выбор оформления окон и обоев.
kolibri-os.narod.ru
(2008)Запуск моего сайта посвященного Колибри на бесплатном хостинге народ: http://kolibri-os.narod.ru. Сейчас не доступен.
WebView: текстовый браузер (Ex. HTMLv)
(2008..2017)Моя самая известная и самая плохо написанная программа. В свое время Veliant кинул мне все свои проекты для Колибри. Среди них был один довольно интересный — «HTML Viewer in C--». Я адаптировал код программы под новую версию библиотеки и работа пошла.
Сам по себе браузер — это компонент TWB, который может быть встроен в другие программы на С--, например, он позже был встроен в почтовый клиент Liza.
Также читайте статью «WebView или история о том, как в KolibriOS браузер писался»
Мои разработки в журнале CHIP
(2011)В мартовском номере номере журнала CHIP была опубликована статья о KolibriOS. Из всех скриншотов Колибри в интернете, они выбрали именно моего авторства. На нём версия Колибри 0.7.3.0, которая так официально и не вышла — собиралась она мною по типу ночной сборки. Обои, логотип, иконки, файловый менеджер — все моего авторства.
Встреча разработчиков
(2011)Встретился с разработчиком Колибри — Костей Veliant в Москве. С ним мы написали много хороших программ: Eolite, Memory Blocks, браузер. Именно он объяснил мне многие вещи в программировании, в частности о работе с памятью, регистрами и указателями. Мы чатились в аське дни напролет, забивая на универ. Эх, хорошее было время! Сейчас Костя работает в компании Dr.Web.
Flood-it!
(2011)Игра начинается с верхней левой клетки. Выберите цвет, нажав на один из квадратиков слева, и клетки окрасятся этим цветом — так вы присоедините соседние клетки той же окраски. Захватить поле нужно за ограниченное число ходов.
Выпуск KolibriN 8.X
(2012)Kolibri 0.8.0.0 — IMG образ, собираемый мной на основе ночных сборок, предшественник KolibriN.
KolibriN 8.1 — это Upgrade Pack, который ставится поверх ночной сборки.
KolibriN 8.2 — это ISO-дистрибутив. Загружается ночная сборка и поверх нее сразу накатывается KolibriN.
KolibriN8 в момент ее выхода порицали за упор на свистоперделки, не понимая, что она была нереальным прорывом для Колибри того времени, потому как ознаменовала переход от IMG сборок к полноценным ISO.
Но обо всем по порядку.
Когда ОС запускается, она полностью копирует все данные с образа kolibri.img в виртуальный диск /rd/1. Часть программ не влезает в 1.44 Мб и потому они лежат непосредственно на CD-диске. Собирая дистрибутив мы хотим добавить в меню ссылку на DOOM и прописать ассоциации с просмотрщиком zSea. Оба они лежат на CD-диске.
Загвоздка в том, что мы не можем этого сделать! Потому как CD-диск может быть /cd/1, /cd/2, /cd/3 и т.д. Гадать не вариант. На тот момент не было инструментов для решения данной проблемы.
Разрабатывая KolibriN8, я сделал инсталятор, который находил файлы на ISO и копировал их на виртуальный диск /tmp0/1.
Теперь их путь всегда был одинаков и можно было добавить ярлыки дополнительных программ на рабочий стол, в меню и главное — прописать ассоциации.
Второе, что было сделано важного: я собрал все программы для Колибри в одном месте, облазив форум, личные сайты разработчиков и далекие уголки интернета.
Список изменений KolibriN по сравнению с ночными сборками того времени:
- В поставку входит не публикованная до этого почтовый клиент Liza;
- Теперь любой может запустить и попробовать Grafx 2, до этого подобное было нетривиальной задачей из-за жесткой привязки к путям;
- Добавлены тень меню рабочего стола и полупрозрачность виджету уведомлений;
- В поставку входят игры, среди которых Doom, Loderunner, Pig, Jumpbump и эмуляторы игровых консолей NES, SNES, Gameboy;
- Эмуляторы DosBox и ZX Spectrum позволят запустить сотни старых приложений и игр;
- Поставка приложений: просмотрщик изображений zSea, программа для просмотра PDF, видеоплеер FPlay и многие другие программы.
- Все ассоциации прописаны, нескучные обои и скины, которые можно легко менять через контекстное меню рабочего стола;
Tmpdisk
(2012..2016)Программа для управления виртуальными дисками, использует API драйвера tmpdisk.sys, написанного CleverMouse. Управление — командная строка и GUI.
Почтовый клиент Liza
(2012..2013)Поддерживаться должны все почтовые ящики, работающие по протоколу POP без шифрования — это yandex.ru, i.ua, mail.ru… gmail.com не работает, т.к. использует шифрование.
Логин и пароль сохраняется после закрытия программы в текстовый файл. Можно задать свои настройки подключения.
После успешного логина, мы входим в почтовый ящик. Заголовки писем загружаются автоматически. Тело письма загружается при нажатии на него, процесс загрузки письма тоже отображается полосой прогресса. Размеры панелей отображающих список писем и само письмо можно менять, потянув мышкой за " = = = ".
Соцсети
(2013..2017)Понимая необходимость проникать в соцсети, 28 января 2013 года я создал группу вконтакте «KolibriOS — официальная группа», успешно существующую и поныне.
Зачем эти соцсети? Сейчас там зарегистрировано и посещает их очень большое количество людей, глупо их игнорировать, если мы хотим нести KolibriOS в массы. Раньше такой задачи не стояло и Марио открыто об этом говорил. Я же хочу, чтобы система была известной, чтобы люди ей пользовались, а значит писали код и улучшали, т.к. количество всегда перерастает в качество. Также там можно настроить публикацию новостей. Ну и может быть определённая координация действий в будущем.
Объясняю почему нужно идти в массы; пост на форуме, 2013 год
В тот же день yogev_ezra создал группу в Фейсбуке, которая, к сожалению, уже давно заброшена.
Доклад о Колибри на конференции IT Club
(2013)Обзорный доклад о Колибри на конференции IT Club Global Logic в Николаеве.
Материалы доклада: речь и слайды
Отчет на сайте
Видео с конференции (плохое качество записи)
Calendar
(2013)Редизайн календаря.
Обновление оффсайта
(2013)Официальный сайт Колибри уже какое-то время представлял из себя одну страницу без особого оформления.
Как всегда я решил обновить иконки.
Раз уж есть новые иконки, придется весь сайт обновить :) На тот момент я не знал HTML/CSS/JS и я попросил сделать сайт Akyltist-а на основе бесплатного шаблона. Я ему помогал и позже правил баги, да так, что через пару месяцев устроился работать верстальщиком.
Новый сайт стал мультиязычным, получил галерею скриншотов, был добавлен баннер на главную страницу, который предполагалось менять в соответствии со значимыми событиями.
Выпуск KolibriN9
(2014)Спустя полтора года разработки вышла новая версия KolibriN9! KolibriN9 базируется на KolibriOS и предоставляет более красивое и дружественное для простого пользователя окружение — это не только красивые обои рабочего стола, но и гораздо большее количество ПО, поставляемого в комплекте.
Из изменений, пришедших из KolibriOS:
- подключение дополнительной директории /kolibrios/; (последствие создания KolibriN8)
- поддержка USB (флешки, мышки, клавиатуры, хабы) и их «горячее» подключение;
- поддержка на чтение ФС XFS и на чтение/запись ext2/3/4;
- улучшено распределение времени в планировщике процессов;
- добавлена нативная поддержка режима SATA IDE для жестких дисков и ATAPI устройств;
- поддержка общесистемного буфера обмена;
- включение в систему драйвера vidintel, включающего поддержку нативных разрешений на ноутбуках со встроенной видеокартой Intel;
- обновление аудиодрайвера Intel HD Audio;
- обновление драйверов для видеокарт Intel и ATI Radeon;
- ускорение загрузки на некоторых конфигурациях.
А теперь об изменениях в KolibriN9 непосредственно:
- переработан дизайн системы, дизайн стал гораздо красивее и приятнее;
- улучшено удобство работы благодаря использованию Docky (док бар);
- мгновенный запуск KolibriN за счёт поддержки подключения дополнительной директории /kolibrios/.
Написаны специально для KolibriN:
- Game Center — игровой центр, из которого возможно запустить игры, поставляемые в составе KolibriN;
- appearance — программа для быстрой и удобной смены системной темы и фона рабочего стола.
Более подробный обзор на оффсате.
Слияние KolibriN и KolibriOS
(2015)Обиды, боль, холивары остались в прошлом и мы снова начали строить Колибри все вместе.
На данный момент почти все наработки из KolibriN перекочевали в основной дистрибутив.
Страница истории перевернулась.
Software widget
(2015..2016)Универсальный виджет, с помощью которого созданы:
— System panel
— Game center
— App+ (KolibriOS Additional Software)
uPDF
(2015)Завершение порта, расширение функциональности, исправление багов, серьезное улучшение интерфейса. Вся разработка велась в Линуксе в виртуальной машине.
Pixie Player v1.X
(2015)Статья о разработке «Музыка в KolibriOS: полный обзор и последние новинки»
Если коротко Pixie — это MP3 плеер, фронтенд для miniMP3. При открытии файла из папки, плеер запустит выбранную композицию и все MP3 из данной папки также будут добавлены в плейлист.
Окно может быть трёх режимов: обычное, схлопнутое в заголовок и компактное. Из тем на выбор пользователя доступно две: светлая и тёмная. Все настройки программы сохраняются после перезапуска. При запуске плеера без параметров, начнёт проигрываться последняя открытая папка.
Когда вы перемещаете окно в компактном режиме, то перемещается не рамка, а само окно, впервые в Колибри!
System panels configuration utility
(2015)GUI для двух INI-файлов.
TextEdit GUI update
(2015)Обновлен GUI текстового редактора TextEdit.
Mouse testing and configuration utility
(2015..2016)Название говорит само за себя. Собрал все в одном месте и причесал.
TextReader
(2015..2016)Текстовый ридер, поддерживает разные размеры шрифта и различные кодировки, использует ini-файл для сохранения настроек, поддерживает горячие клавиши и открывает файл в Tinypad.
Большие шрифты
(2016)Перевел многие программы на большие шрифты.
Подробности в статье «Шрифты в Колибри»
Clipboard Viewer
(2016)Программа для просмотра содержимого буфера обмена. В отличии от Windows, где в буфере может хранится только один слот одновременно, в Колибри он многоуровневый. Данные о слотах представлены в виде таблицы, можно удалить последний слот или все, сделать аварийный анлок. Также доступен предпросмотр данных слота в виде текста и HEX.
KolibriOS — Issue Tracker
(2016)http://bugs.kolibri-n.org. Адовая ненависть к Мантису достигла пика и я запилил простой и юзабельный багтрекер. Базируется на Tit.
DrvInst
(2016)Установщик драйверов, всю информацию берет из /kolibrios/drivers/drvinf.ini
End
(2016)Обновленное окно завершения работы, порт из KolibriN10 в KolibriOS. Скриншот для сравнения: сверху старое, снизу новое.
Animage redesign
(2016)Code by IgorA. GUI by me.
Process manager
(2016)Более простой и удобный менеджер процессов. Разработано было в рамках KolibriN10.
Visual Text Comparer / Diff tool
(2016)Порт http://c--sphinx.narod.ru/FILES/vc.zip
Pipet
(2017)Пипетка для рабочего стола.
Продолжение следует…
Все исходные коды открыты, с ними может ознакомится любой желающий.
Статья вышла длинной, спасибо, что дочитали.
Комментарии (47)
vagonovozhaty
09.09.2017 14:57-1Надо с этим что-то делатьLeency Автор
09.09.2017 15:26+5Однажды произошло ложное срабатывание какого-то антивируса на какую-то программу в дистрибутиве и вот теперь имеем. Кстати, все онлайн антивирусы уже считают сайт чистым, можете не переживать.
glowingsword
09.09.2017 15:18+3Было интересно читать, особенно учитывая тот факт, что несколько лет я следил за разработкой Menuet OS(с тех самых пор, как о ней появился первый материал на wasm.ru), а потом ещё не один год за Колибри. Спасибо вам, что продолжаете работать над проектом, в качестве ОС общего назначения я бы Колибри использовать не стал, а вот в качестве учебного пособия для тех, кого интересует низкоуровней код на asm(большая часть ОС на fasm написана, если не ошибаюсь) — ОС просто идеальна.
Hardcoin
09.09.2017 15:21+9Напоминает реконструкторов исторических баталий. Реконструируете девяностые в разработке )
nikitazvonarev
09.09.2017 17:43+1Pixies в Pixie это зачёт :)
Leency Автор
09.09.2017 17:44+1Это не совпадение, теперь вы знаете откуда такое название у плеера :)
MacIn
09.09.2017 18:05Лучше расскажите про менеджер памяти — доделали ли? Есть ли per-process куча?
ion2
09.09.2017 19:48Лет десять уже как.
MacIn
09.09.2017 19:54Мы, видимо, говорим про разное.
ion2
10.09.2017 19:58Возможно. Если интересует некоторый аналог mmap() или VirtualAlloc(), то он есть.
MacIn
11.09.2017 16:26Я имел в виду не постраничное выделение, а возможность построения менеджеров памяти «второго уровня», т.е. malloc итп что может эффективно выдавать куски по 8 байт, например, а не страницами.
Если верно помню, то там была проблемка с отсутствием единой(стандартной) установленной разделяемой области для хранения внутренних данных такого менеджера, т.е. проблема упиралась в ядро и представление данных процесса/потоков.ion2
11.09.2017 23:17Нет там никакой проблемы. malloc() давно портирован и не один раз. Многопоточность в Колибри похожа на Windows, все потоки одного процесса разделяют общее адресное пространство.
MacIn
12.09.2017 04:31Чего-то не хватало, не могу вспомнить детали, уж сколько времени прошло… Вероятно, это просто разрешилось уже. Была какая-то дилемма с инвариантом.
adasoft
09.09.2017 18:23А Браузер? Браузер есть?
И еще — есть такая штука как PureBasic, надстройка над FASM, которая позволяет разрабатывать программы на высокоуровневом бейсик подобном (диалекте) языке. Производительность программинга увеличивается в разы, если не на порядки! Вот бы проекту такую штуку!MacIn
09.09.2017 18:24Для начала сходите на их форум и посмотрите на многообразие платформ для разработки. Там не все на голом FASMе делается.
Leency Автор
09.09.2017 22:54Браузеров два: WebView и Netsurf.
Есть ооочень много поддерживаемых надстроек и языков высокого уровня kolibri-n.org/inf/hll/hll
Нет привязки к конкретному инструменту, пришедший программист может кодить на том, на чем умеет и к чему привык.
Leency Автор
09.09.2017 23:56UPD: пользователь форума 0CodErr пробовал PureBasic, вот его комментарий board.kolibrios.org/viewtopic.php?p=69224#p69228
FForth
10.09.2017 05:45Некоторое число программ созданных для KolibriOS можно запустить в Win XP под эмулятором KlbrInWin (без необходимости запуска системы, например, через QEMU или старта из под загрузчика Windows) если их API не выходит за рамки реализованного в данном эмуляторе.
Топик на форуме KlbrInWin
P.S. Иходник данного эмулятора тоже написан на Fasm :)
fly_style
09.09.2017 21:40-3JVM еще никто не пробовал на ColibriOS портировать?
Leency Автор
09.09.2017 22:56KolibriOS.
Да, было целых два порта, однако саму машину портировать просто, а вот невероятно огромное количество библиотек к ней — совсем другое…fly_style
10.09.2017 13:28Прошу прощения за ошибку в названии.
Если это просто, то тогда попробую осилить, я заинтересовался этим проектом.
Kogolbok
09.09.2017 22:57+1Я изредка поглядываю на Колибри, нравится мне этот проект. И заметил как он похорошел. Не знаю, как это отозвалось на прожорливости, но выглядит заметно лучше. И всё же чего-то ему не хватает. Толи соотношение между элементами не совсем такое как хотелось бы, то ли цветовая гамма и несбалансированость между цветами иконок. Взять каждый элемент, вроде нормально, а всё вместе не особо. Что-то не так. Есть куда расти, в общем. Удачи вам, колибрятам :)
И ещё одно "но" — это непонятное стремление русских людей всё называть по английски, как будто так "взрослее" получается. Может это только мой бзик, но слух режет.
А вообще — замечательный проект, удачи вам и всяческих благ.
Leency Автор
09.09.2017 23:07+2Всегда есть куда расти :) Можно конкретные примеры, что вызывает неудобство или не нравится?
Английский язык де-факто стандарт в отрасли разработки, да что уж там, и во всем мире. Колибри не большой проект, но в нем есть люди говорящие на разных языках. Согласитесь, если бы каждый называл программу на своем родном языке, это было бы не очень удобно. Вместо taskbar был бы taskleiste, вместо calc — berechnen. Если дать программе русское название, может быть проблема с ее запуском у финна просто потому что у него нет русской раскладки.
Хотя, все же название остается на усмотрение автора.Kogolbok
09.09.2017 23:38+1Ну, например, Eolite — кнопки вперёд/назад и Наверх выглядят в одном стиле, а Вырезать/Копировать/Вставить в другом. Первые кричат и вываливаются на пользователя, а вторые опрятно встроены в панель. И так везде, то объёмные, то плоские, то цветастые, то пастэльные, то «богатые», то пиксельные. А ещё поставить рядом Eolite и TextEdit — разные оперы. Единство нужно.
Соотношение высоты нижней панели и значков и текста — тоже какое-то… Вот не знаю что с ним не так, нету «Золотого Сечения», не хватает чего-то. Часы на панели — цифры должны быть покрупнее, пожирнее, чтобы не вглядываться в них.
А насчёт английского — я и сам понимаю, что международный проект, но когда читаю форум, где все русские и программы наколенные, для своих, мне это больше напоминает советские компьютеры, когда писались программы — уж точно только на советский союз, но с английскими названиями. (это сугубо мои личные ощущения)VolCh
10.09.2017 12:05На некоторых, как минимум, советских компьтерах поодержка кириллицы в ОС и средах разработки оставляла лучшего: без проблем на экран выводить уже счастье, а уж сущности именновать на киррилице если получится, то значительно снизит круг пользователей.
daggert
10.09.2017 11:30Можно я вмешаюсь в ваш диалог, со своего дивана?
Не хватает консистентности интерфейса. Не хватает строгих HIG, когда разработчики ставили-б все одну минимальную ширину окна, когда рамка у всех программ, между рабочей областью и границей окна, была-б одинаковой. Надо, ИМХО, разработать правила внешнего вида приложений, где будет описано все, от положения кнопок по дефолту, до обязательных пунктов меню. Это все пойдет в огромный плюс проекту.
Vjatcheslav3345
09.09.2017 23:44А как осуществляется рефакторинг и статический анализ и, возможно, доказательство особо ответственного ассемблерного кода? Vine используется?
Интересно — пробуют ли писать на ассемблере нейросети в качестве развлечения?
eugenk
10.09.2017 00:29Ну что сказать… С одной стороны «безумству храбрых», а потому респект и уважуха безоговорочно. С другой… С другой стороны ребят, признайтесь честно. Используется ли колибри сейчас хоть где нибудь на практике? Я вот что-то не слыхал, хотя проектом в своё время интересовался. Нет, я понимаю что лично Вы получили от проекта массу удовольствия и пользы. Но сделал ли он лучше окружающий мир? У самого было несколько идей подобного уровня. Но эти соображения меня и остановили. Да, реализовать бы мог. Причем на первом этапе вообще один. Только смысл…
Leency Автор
10.09.2017 01:05+3Но сделал ли он лучше окружающий мир?
Зависит он того что считать улучшением мира. Была ли система полезна кому-то в промышленности, сетях, бизнесе? Почти нет, если сравнить с аналогичной пользой от Windows и Linux. Но мой мир Колибри сделала лучше, как и всех тех, кому эта система понравилась. Мне этого достаточно.
===
Не смотря на фразу в тексте «чатились в аське дни напролет, забивая на универ», я не был двоечником. Напротив, первый курс университета закончил на отлично и получил повышенную на 60 грн (12$) стипендию. К середине второго курса пришло осознание бессмысленности учебы и некомпетентности как преподавателей, так и всего образовательного процесса. Специальность была менеджер-экономист.
Колибри в тот момент делала мой мир лучше, т.к. было клево в ней копаться, что-то рисовать или программить.
Когда я закончил университет, поехал в столицу работать. Я был в тройке лидеров по продажам, но нигде дольше полугода не задерживался. Меня раздражали объективно нереальные планы продаж и отношение руководства (кто работал в торговле, тот знает).
Тогда знания полученные в Колибри помогли устроится на работу админом, потом верстальщиком (все началось с того как помогал верстать kolibrios.org), потом тестировщиком. Де юре я стал джуном без опыта, де факто у меня было 6 лет опыта в тестировании, разработке и управлении проектами. За 1 год я стал из джуниора тим лидом. Еще через год стал тренером по тестированию. Став хорошим специалистом и обучая людей тестированию, я делал лучше как мир, так и свою страну. То есть тут как бы цепочка сложных событий, прямо как фильм Эффект Бабочки :)
Siemargl
10.09.2017 01:23+1Но сделал ли он лучше окружающий мир?
Конечно сделал.
Если каждый, посмотрев на такой проект, начнет задумываться над эффективностью своих программ, нефти в мире хватит на дольше.
P.S. И батарейки в телефоне _не на *****дроиде_
sizziff
11.09.2017 10:00+1Понравилось мнение одного видеоблогера: Есть у мужика гараж (охота, рыбалка, машина, книги, игры, linux, Kolibri и проч. Хобби) и он туда ходит! Мужики часто увлекаются своим хобби и это круто. Нытье про целесообразность — женоподобное нытье. Молодцы ребята!
sortarage
Написано с душой, практически литературное произведение :) Пишите еще!