Eolite. Мемуары дилетанта

Было время, когда активность в проекте стояла практически на нуле. Это был момент, когда полностью ассемблерный проект изжил себя. Такой ситуации предшествовал уход многих хороших ядерщиков, которые составляли «костяк» проекта и были с ним с самого его начала. А учитывая, что слишком мало программистов знало (и знает) ассемблер из всей общей массы, надежды на подкрепление практически не было. Да и слоган "ОС на одной дискете!" стал не актуален, наши дети уже не знают что это за чёрные квадратики. Данная ситуация решилась увеличением количества программ, написанных на языках высокого уровня (ЯВУ). Некоторые видят в этом зло, но если бы этого не случилось, возможно, Колибри медленно умерла.

В любом случае, появилось много интересных проектов, написанных на ЯВУ, и одним из первых был Eolite.

Рождение программиста

Начнём, пожалуй, с того, что я — дизайнер, и на тот момент уже успел обновить большинство иконок Колибри, потому чувствовал, что моя роль в проекте исчерпана и хотел его покинуть. Так многие делают — уходят написав одну лишь программу, но мне была уготована другая судьба — я решил начать программировать, ведь это был отличный шанс попробовать себя в дизайне интерфейсов (UI), которыми я так увлекался. Да и не мешало бы как-то расшевелить форум!

На тот момент я знал BASIC (со школы) и Delphi (сам как-то изучал). Так что я попробовал начать программировать на Паскале под Колибри, но оказалось, что этот компилятор под Колибри морально устарел. Тогда я решил освоить Си, скачал исходники "Косилки" и с трудом собрал их в MSVC++. Никаких книг, ничего! Я решил изучить язык по примеру. Не пытайтесь повторить это дома!

Так-с... хорошо... а что начать писать? Hello World? Банально. С каких-то времён у меня валялась зарисовка файлового менеджера. Выбор был сделан.

Концепт файлового менеджера

Небольшими усилиями был нарисован примитивный интерфейс с бегающей вверх и вниз полоской, которая должна была стать выделением файла. Самое простое было сделано, а вот дальше дело шло за функционалом, что куда сложнее. Мне нужна была помощь...

Veliant (16:18:00 20/01/2008)
чего творишь? :-)

Leency (16:18:18 20/01/2008)
файловый менеджер :D

……………………

Leency (14:40:43 23/01/2008)
потом поможешь мне с чтением директории и забиванием полученных файлов в массив и т.д.?))

Veliant (14:41:12 23/01/2008)
хорошо :-)
попробую еще в С-- портировать

Вот так началось моё дружное сотрудничество с Костей aka Veliant и теперь вы знаете кто во всём виноват подсадил меня на С-- (с которым вообще отдельная история).

Работа кипела целыми днями, мы были полны энтузиазма и вот после двух недель работы представили сообществу первую рабочую версию нашего файлового манеджера, получившего имя «Eolite». Случилось это 3 февраля 2008г. и версия эта была 0.33.

Eolite v0.33 ru

Мы получили много хороших отзывов и продолжили разработку. Я работал над дизайном и функционалом, а Veliant писал ассемблерные обертки для функций Колибри и проверял мой Сишный код на наличие ошибок.

Всё застопорилось после версии 0.83 и по 0.88.5 никаких особых изменений не случилось, хотя и прошло 3 месяца, причиной были сложные жизненные обстоятельства. Я не кодил, Костя тоже… После этого он ещё недолгое время помогал моральной поддержкой и советами так важными для меня. Если бы не он, возможно, Эолайта не было бы вообще.

Переломной стала версия 0.90 (увидела свет 1 июня 2008г.), в которой, благодаря совету diamond-a была критически уменьшена перерисовка окна. Одной головной болью стало меньше. Потом появился скролл колёсиком мыши, плавная прокрутка, Mario подсказал, что перерисовку списка можно ещё уменьшить – для этого нужно не заливать белым весь список и потом выводить текст, а лучше рисовать белые полосы с текстом. Далее заработала клавиша «Назад», появились нормальная сортировка и новый EditBox от Lrz.

Eolite 0.98.3

15 декабря 2008г. произошло важное событие – был исправлен легендарный баг, связанный с тем что Эолайт не мог прочитать содержимое NTFS-раздела и /bd/-дисков. Как всегда, всё оказалось до глупости банально. По правильному, надо формировать строку пути к папке без слэша в конце, я же его добавлял, то есть мой путь к папке выглядел так: «/sys/fonts/».

Интересные факты:

1. Как вы думаете, что общего в NTFS-разделе и bd-дисках, которые не поддерживал Эолайт? А общее то, что их поддержку реализовал не кто иной, как diamond – человек, который любит всё делать по правилам, и если, например, разделы FAT и hd-диски допускают некоторое от них отклонение, то diamond себе этой роскоши позволить не мог. И он прав, между прочим.
Eolite first logo 2. В Эолайте первых версий было пасхальное яйцо. У файла с определённым названием изменялась иконка на разноцветный ромб (на подобии иконки /rd/1/).
3. Слова «Eolite» в английском языке не существует, но Google знает больше 10.000 страниц с ним. Я не знаю что это за слово и откуда я его взял, однако, его звучание мне очень нравится. Первая версия логотипа была цветком, но он плохо смотрелся в окне "О программе" и я заменил его логотипом системы, а немного спустя на пылающий цветок. Кстати, вы когда нибудь нажимали на три ярких кружочка справа от полосы адреса?
4. Иконки, которые вы сейчас видите в Эолайте изначально создавались… для KFM (Kolibri File Manager, аналог TotalCommander). Но его автор, Марио, счёл иконки слишком тусклыми и забраковал.
5. Летом я встретился с Костей (Veliant'ом) в Москве и затаскал его по городу, осматривая достопримечательности. Артёму (Gluk) я звонил, но он был не в духе и кинул трубку. С Женей (diamond) к сожалению тоже встретится не удалось.
Slowpoke

Последние изменения в релизах коснулись исключительно исправления багов. Единственным значительным нововведением стала поддержка ini-файла, теперь ассоциации можно прописывать, не меняя код программы :)

Не смотря на обещания разработчика, что 20.11.08 выйдет версия Eolite'a 1.0 Final, этого не случилось. Последняя версия программы 0.98.x и всё ещё в стадии релиз кандидата RC2. Но однажды и на нашу улицу придёт праздник. Ждите, друзья.

Липатов Кирилл 08.07.2011.

Праздник таки пришёл. Часть 2 →