KolibriOS: network, FTP-клиент и бельгийский программист

    Если кто-то из читателей ещё не знает, то, хотя большинство разработчиков KolibriOS русскоговорящие и живут в СНГ, у нас есть также несколько зарубежных разработчиков. Причём один из них, бельгиец Jeffrey Amelynck, нам больше известный под «ником» hidnplayr, участвует в проекте с 2003 года (ещё до того, как KolibriOS отделилась от MenuetOSуже целых 10 лет!). С первых дней в проекте он решил заниматься поддержкой сети и сетевыми программами, потому что на тот момент в MenuetOS с сетью было очень туго, если не сказать «вообще никак».


    На фото — hidnplayr, с помощью собственноручно написанного FTP-client, подключается из-под KolibriOS к своему FTP-аккаунту на FTP-сервере KolibriOS. На заднем плане — файловый менеджер KFM для KolibriOS, написанный одним из основателей KolibriOS Mario_Z
    Fun trivia
    Оба разработчика пришли в проект примерно в одно и то же время — в 2003 году — и, как видите, за 10 лет ещё не потеряли к нему интереса. Что примечательно, разница в возрасте между ними — тоже 10 лет, а в 2003 hidnplayr-у было всего 13 :-)

    За это время, он написал «с нуля» (а также переписал начисто имеющиеся в MenuetOS) более 20 программ для работы с сетью, а также драйверы для 14 групп сетевых карт (каждая группа поддерживает 1 или более сетевых карт, как правило несколько карт от одного производителя). Но свой самый масштабный проект — новую сетевую подсистему для KolibriOS — он начал почти 4 года назад (в июле 2009 г.). А 1.5 месяца назад (в конце мая 2013 г.) работа наконец-то была завершена, и код новой сетевой подсистемы был перенесён в trunk.

    Что именно представляет из себя сетевая подсистема KolibriOS, я точно не смогу рассказать, так как мало в этом понимаю, но основными отличиями новой системы от старой являются:
    • Поддержка более одной сетевой карты одновременно (это может показаться естественным, тривиальным и само собой разумеющимся, но наш предшественник MenuetOS до сих пор может работать только с одной сетевой картой из имеющихся в компьютере, причём с какой из них работать, выбирает случайным образом всегда выбирает карту с наименьшими PCI-координатами)
    • Драйверы сетевых карт вынесены из ядра в отдельные файлы (что упростило написание драйверов, работу с ними и понимание кода ядра)
    • По сравнению со старым сетевым стеком, значительно увеличилась скорость работы сети


    На фото — работа с 2 сетевыми картами одновременно
    Not-so-fun trivia
    Поскольку общение на нашем форуме происходит преимущественно на русском языке, а hidnplayr русского языка не знает, ему приходится читать всю переписку, пользуясь услугами Google Translate, что выглядит примерно так. Можете себе представить, как ему тяжело, и какая нужна самоотверженность, чтобы оставаться 10 лет в проекте, где все остальные говорят на непонятном тебе языке.

    После окончания работы над сетевой подсистемой, hidnplayr вновь взялся за программы для пользования сетью, и сегодня, к нашей огромной радости, выложил на наш SVN рабочую версию FTP-client (написанный, естественно, на чистом ассемблере), о чём тотчас же объявил на нашем форуме.

    Все желающие проверить, сможет ли наш FTP-client зайти на их сервер, уже сейчас могут это сделать, скачав нашу ночную сборку. Баг-репорты, как всегда, приветствуются в соответствующей ветке на форуме. Поскольку бельгиец русского языка не знает, то карму ему плюсануть нельзя (на Хабре его нет, и приглашать его сюда бесполезно). Поэтому на все вопросы к нему на Хабре, ответит за него наш самый «браузерный» разработчик sourcerer (как более всех разобравшийся в сетевой подсистеме ввиду попыток написания этих самых браузеров).


    На фото — hidnplayr успешно зашёл на свой FTP-аккаунт и что-то сам у себя скачал. А потом что-то сам себе закачал :-) На заднем плане — файловый менеджер KFAR для KolibriOS, написанный grechnik, он же diamond (В прошлом, один из ведущих наших разработчиков. К сожалению, он на нас обиделся, и навсегда покинул проект 10/10/2010 — дата весьма символичная. Я бы дорого отдал, чтобы он простил нас, и вернулся...)
    KolibriOS Project Team
    72,12
    Быстрая операционная система для бизнеса и хобби
    Поделиться публикацией

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 67

      –7
      Если честно, не очень понял о чем была статья. Если о OS, то тема не раскрыта — кроме пары картинок ничего нет, а на них, если честно, особо нового ничего не увидел. Если о программисте и его самоотверженной работе 10 лет над проектом, то да, это круто, но на мой взгляд, тогда уж надо было интервью с ним взять или что-то вроде того.
        +22
        Ченджлог операционной системы написанной на ассемблере сквозь призму восприятия одного из разработчиков.
          +2
          В точку. Только я скорее «Координатор по связям с общественностью», чем разработчик (хотя 10 строчек кода написал).
          +9
          Новости проекта.
            –1
            >>Новости проекта.

            или вконтакте vk.com/kolibri_os
              0
              1. Зачем рекламировать ссылку на нашу группу ВКонтакте, которая и так есть в нашем блоге (справа на панели «Ссылки»)?
              2. При всём моём уважении к тебе, как к дизайнеру KolibriOS, наша группа ВКонтакте, админом которой ты являешься, содержит ссылки на твои личные вебсайты, против моего желания. Пока ты не удалишь все эти ссылки, я запрещаю тебе рекламировать эту группу в блоге KolibriOS Project Team на Хабре, так как налицо конфликт интересов
              3. Наша группа ВКонтакте содержит 1% полезной информации (которая обычно и так дублируется на нашем форуме), а 99% — это обсуждения одних людей (никак не связанных с KolibriOS), с другими людьми (тоже никак не связанными с KolibriOS) идей относительно того, что разработчики KolibriOS должны для них написать.
              4. И самое смешное (для тех, кто ещё не знает, — сюрприз!), в нашей группе ВКонтакте присутствуют только 2 разработчика KolibriOS (ты и sourcerer), ни один из которых не пишет программы на FASM (основном языке программирования для KolibriOS). А вот на Хабре внезапно есть целых 8 разработчиков (из них 2 написали более 50% всего кода).

              И где, после всего этого, пользователи Хабра получают более достоверную и более официальную информацию?
                +6
                Не стоит устраивать такие разборки на людях. Для этого есть Личные Сообщения.

                Да и «запрещать» вы врядли имеете право.
                  +2
                  Это не разборки, а расставление вещей на свои места. Люди должны иметь полную информацию о том, кто есть кто в проекте, чтобы совершать поступки и принимать решения, основываясь на настоящем положении дел.

                  У нас не Apple, не Intel, не Google и не Microsoft. Мы — группа людей (даже нигде официально не зарегистрированная как некоммерческая организация), пишущая бесплатную операционную систему с открытым исходным кодом. Каждый из нас вносит свою лепту на добровольной основе, и ничего за это не получает. Но у нас в проекте есть один человек (Leency), который постоянно мешает интересы проекта, и свои личные интересы.

                  Например, он зарегистрировал ВКонтакте вышеупомянутую группу, которую выдаёт за официальную группу KolibriOS, но тем не менее, это не мешает ему повсюду рекламировать в «официальной группе» свои личные вебсайты (см. скриншот ниже), получая за них личную выгоду:



                  Поскольку у нас нет никаких доходов, то, кроме небольшой суммы, которую мы недавно собрали на Кикстартере на строго определённую цель, все остальные расходы оплачиваются из карманов участников проекта. В частности, наш блог на Хабре финансируется мной лично (пруф):



                  Согласитесь, несколько странно, если я буду платить деньги за наш Корпоративный блог, и писать в нём статьи (в своё свободное время, вместо того, чтобы быть с семьёй), чтобы Leency мог рекламировать в моих статьях свои личные вебсайты? Вы всё ещё считаете, что я не имею права ему запрещать?

                  Если уж он так хочет себя разрекламировать, то на Хабре для этих целей есть хаб "Я пиарюсь". Пусть идёт туда и пишет про свои личные вебсайты, сколько душе угодно. Но вот незадача: чтобы писать там, нужна карма +20, а у него — всего "-10", маловато. Может, дружно поможете товарищу с кармой, раз уж он такой «белый и пушистый»?
                  +1
                  Albom и GerdtR не в счет?
                    +2
                    GerdtR пожалуй приятное исключение, которое нам даровал вконтакт. Больше от туда никаких программистов не прибыло вроде.
                      0
                      Кое-кто еще учится и время от времени задает умные вопросы. Так что надежда ещё есть.
                        0
                        Умные — очень и очень редко. Большинство умных вопросов задают на нашем форуме. Регистрация там, кстати, тоже бесплатная.
                          0
                          А мне в ЛС почему-то каждую неделю задают.
                            0
                            Просто прорва полезной информации! Не знаю, какую раньше использовать: «идиот» или «закомплексованый анонимус»?

                              0
                              Это мои ЛС? Да ну? :)
                    –2
                    Расслабся, одно дело делаем. Не гоже выносить сор из избы.
                +3
                Уместить всю информацию об ОС в одну статью нереально — читайте весь наш блог: habrahabr.ru/company/kolibrios/blog/
                Интервью организовать можно. Пишите список вопросов.
                +4
                Вот и первый вопрос:
                Поддержку IPv4 я увидел, а как обстоят дела с IPv6? Планируется ли она вообще, и, если да, каковы приоритеты («как будет время, на досуге» или «уже работаем над этим»)?
                  +1
                  Поддержка IPv6 запланирована, но сейчас есть более приоритетные задачи.
                  websvn.kolibrios.org/filedetails.php?repname=Kolibri+OS&path=%2Fkernel%2Ftrunk%2Fnetwork%2FIPv6.inc&peg=3780 — подсказывают более опытные товарищи.
                    +2
                    hidnplayr « Thu Jul 11, 2013 11:05 am » IPv6 support is planned, I hope my ISP finally gives me full IPv6 this year :-)
                      +2
                      Если хочется тестировать не только в локалке, то как совет — есть Miredo/Teredo, что позволяет поднять IPv6 на основной машине и дальше раздавать в домашней/виртуальной сети.
                  +2
                  Надеюсь, не слишком оффтопик — расскажите немного о переиспользуемости в KolibriOS. Например, я хочу написать свое приложение, которое должно писать какие-либо логи и отправлять их по ftp. Смогу ли я воспользоваться этим клиентом программно? Если да — то как, с помощью вызова консольного приложения в background, или же с помощью подключения некой библиотеки функций в проект?
                    +2
                    Простите, не совсем понял вопрос. Вам лучше всего будет зарегистрироваться на нашем форуме, и спросить этот вопрос там на английском языке — тогда hidnplayr Вам ответит напрямую, а так, боюсь, испорченный телефон выйдет.
                      0
                      Мне не так критично, просто поинтересовался. Минус, кстати, не мой.
                        +1
                        Если Вы расскажете подробнее, что за приложение и какого рода логи, то я передам Ваш вопрос ему, и напишу здесь его ответ. За минус — ничего страшного, идеальных людей не бывает, и я тоже неидеален.
                          +2
                          Да не в конкретике суть. Просто я, например, хочу написать приложение под KolibriOS, которое бы создавало некий файл и посылало его по FTP. Что из нижеперечисленного наиболее вероятно?

                          1. Я могу вызвать ftp-клиент от hidnplayr, и он сделает работу в фоне.
                          2. Я могу вызвать ftp-клиент от hidnplayr, но он откроется в виде отдельного окна и моя программа не сможет с ним взаимодействовать.
                          3. Мне придется реализовывать протокол ftp в своей программе самому.
                            0
                            Теперь понял. Пока что ответ 2. Если захотите, он сделает Вам ответ 1 (только Вам нужно его на форуме об этом попросить).
                              0
                              В идеале вообще нужно делать что-то вроде GIO, чтобы любые программы могли обращаться к FTP-серверу, как к обычной локальной папке.
                                +1
                                Драйверы и модули ядра могут создавать свои «диски» — так что путь /ftp/123.45.67.89/ может стать реальностью когда-нибудь. Если это кому-нибудь понадобится, очевидно.
                              +1
                              Можно сделать 1 через shared memory, думаю, hidnplayr'а эта идея заинтересует. Вариант 3 тоже никто не отменял.
                                0
                                А механизма \ практики написания динамических библиотек в KolibriOS нет? Имхо возможность переиспользования кода сильно помогла бы повысить количество софта под операционку.
                                  0
                                  Есть динамические библиотеки. А что, есть необходимость десяткам тысяч программ обращаться к FTP?
                                    0
                                    Функционал должен появляться не только тогда, когда он потребуется десяткам тысяч программ. Представьте, что речь идет не о FTP, а о HTTP: любой программе, работающей с неким веб-API, требуется открывать окно браузера на каждый запрос? Я согласен, что FTP используется значительно реже, но тем не менее, решение сделать единственный клиент в виде монолитного оконного приложения, а не в виде библиотеки и фронтенда, кажется мне архитектурно неправильным.
                                      +1
                                      Функционал в KolibriOS появляется с людьми желающими этот функционал видеть и могущими его реализовать. Других путей в нашем проекте по факту не существует.
                                        0
                                        Всё вы верно говорите, но в этом и есть истоки базара и over-engineering.
                                        p.s. В конце концов, никто не запрещает использовать cURL или что-либо ещё (но и не поощряет).
                                      +2
                                      Почему же нет? Просто вы задали вопрос относительно текущего доступного клиента FTP, соответственно в этом же русле и был ответ.
                                        +2
                                        Часть существующих библиотек для Колибри
                            +5
                            Слышал о Колибри. Очень любопытный проект. Респект разработчикам.
                            Пользуясь случаем спрошу:
                            1) существует ли веб-браузер в Колибри? в каком он состоянии?
                            2) какие интерпретируемые языки поддерживаются (ruby, python, perl, java)?
                            3) какие графические тулкиты/стандарты поддерживаются (gtk, qt, fx, tx)?
                            4) про ip6 уже спросили выше
                            5) есть ли поддержка криптографии (openssl и подобное)?
                            6) что с поддержкой мультимедиа (ffmpeg, gstreamer)?
                            7) какие архитектуры поддерживаются (x86, arm, RPi) или планируются?

                            Меня всерьез интересует, насколько практически может быть применима Колибри.
                            Существующие системы слишком громоздки, может Колибри действительно будет лёгкой пташкой, внезапно впорхнувшей на десктопы пользователей.
                              +2
                              Я удивлюсь, если на какой-то вопрос будет ответ «да». Вы, кстати, забыли спросить про POSIX. Но система загружается действительно мгновенно, шутка ли, полностью на асме x86 (это развернутый ответ на пункт 7).
                                +1
                                  +2
                                  Чему? все игрушечное же. В HTML-вьювере почти появилась поддержка таблиц и обсуждается, как хотя бы начать обрабатывать цвета/шрифты в CSS. На джаве запустился HelloWorld. Подмножество питона TinyPy почти обрело модуль работы с файловой системой и, недавно, ввод с консоли… Если брать нишу встраиваемых систем, компактного кода и быстрого GUI, то если бы эта штука была бы хотя бы под ARM…

                                  (врочем, все эти споры начинаются в каждой ветке, я не хочу быть зачинщиком в этот раз. В любом случае я поддерживаю творчество ради творчества)
                                    +3
                                    Вы зануда — вы в курсе? :-)
                                      +1
                                      Ладно, мне уже неловко ) Удачи TinyPy и HTMLv )
                                        0
                                        Лучше успехов тем, кто их разрабатывает и поддерживает. Адский неоплачиваемый труд же.
                                          +1
                                          Но ведь just for fun, насколько я понимаю. Я искренне желаю не терять этот фан.
                                +4
                                1) Да, HTMLv но он очень простой и не поддерживает ваши «жабаскрипты». board.kolibrios.org/viewtopic.php?f=40&t=1075
                                Также ведется работа по портированию Netsurf board.kolibrios.org/viewtopic.php?f=40&t=2315
                                2) Есть Tinypy board.kolibrios.org/viewtopic.php?f=45&t=1655 и Lua board.kolibrios.org/viewtopic.php?f=45&t=1663
                                Ведутся работы по поддержке Java board.kolibrios.org/viewtopic.php?f=45&t=2266
                                3) Перечисленное не поддерживается. Имеются свои велосипеды.
                                4) Нужно уточнять у разработчика hidnplayr
                                5) Нет.
                                6) Есть видеоплеер Fplay board.kolibrios.org/viewtopic.php?f=38&t=1277 — он базируется на ffmpeg, также есть аудиоплеер AC97SND board.kolibrios.org/viewtopic.php?f=38&t=1596
                                7) x86 и в перспективе x86-64, хотя на x86-64 можно запускать уже текущую систему, т.к. оно поддерживает обратную совместимость с x86
                                  +3
                                  Добавлю.
                                  4) websvn.kolibrios.org/filedetails.php?repname=Kolibri+OS&path=%2Fkernel%2Ftrunk%2Fnetwork%2FIPv6.inc&peg=3780
                                  5) openssl действительно пока нет, но все же есть libcrash
                                  6) ещё есть minimp3
                                    +4
                                    5) Есть, но никому пока что не дам — не оттестировано
                                      +4
                                      «Я вам посылку принёс, только я вам её не отдам, потому что у вас докУментов нету»
                                      © Почта России
                                        +2
                                        Именно так. А то будет так:
                                        На джаве запустился HelloWorld. Подмножество питона TinyPy почти обрело модуль работы с файловой системой и, недавно, ввод с консоли…

                                        Люди ж не поймут и не оценят.
                                          +3
                                          Люди вообще обычно ценят только то, за что они выложили личные деньги. Вот тогда они с пеной у рта буду отстаивать преимущество купленной вещи/идеи/программы/технологии, даже если конкурирующая лучше. Кому охота выглядеть дураком? :-)
                                            +4
                                            Вы очень плохо думаете о людях, считая их настолько недалекими :)

                                            upd: не, я согласен, что все мы подвержены тому, что называется рационализация, но давайте не будем всё списывать на нее :)
                                      +2
                                      Mario_Z, Heavyiron, Asper1, sourcerer, спасибо за ответы.
                                      Спрашивал не из праздного любопытства. Дело в том, что пишу p2p социальную сеть Пандора на базе: ruby, gtk, sqlite, openssl, gstreamer. По моим ожиданиям запуск клиента такой сети полностью перекроет потребность в разношерстных приложениях (скайп, аська, вконтакте, торрент и др.), в том числе даже потребность в веб-браузере.
                                      Сегодня линукс полностью устраивает по функциналу, но мечтается-то о чем-то еще более быстром ) В любом случае желаю творческих успехов и развития вашего детища.
                                      +2
                                      1) Netsurf (http://board.kolibrios.org/viewtopic.php?f=40&t=2315), text-based (типа links) — board.kolibrios.org/viewtopic.php?f=40&t=1075
                                      2) Смотреть тут: board.kolibrios.org/viewforum.php?f=45
                                      3) Пока все грустно
                                      4) см. п.3
                                      5) см. п.3
                                      6) fplay — board.kolibrios.org/viewtopic.php?f=38&t=1277&start=480
                                      7) X86 only
                                        0
                                        опаздал :)
                                      0
                                      Англоговорящие, наверное, не знают слово «Kolibri». Колибри по английски — hummingbird.
                                        +1
                                          0
                                          Слова Kolibri в словарях английского (dictionary.com, oxford dict, google, lingvo) нет, есть в немецких :)
                                          Colibri — это род птичек. Возможно известное ихтиологам :)

                                          Из вашей ссылки на вики:
                                          — Кодовое слово Адольфа.
                                          — Игра для sega вегерской фирмы.
                                          Германский вертолет.
                                          Австралийско-венгерский пистолет.
                                          — Неизвестный фреймворк.
                                          — Батарея для Audi (немецкая автокомпания)

                                          Вообщем, вопрос спорный :)
                                          Надо будет спросить у нейтив иглиш друзей.
                                            0
                                            Я полагаю, что нэйтив-инглиш друзья тоже умеют гуглить, когда не понимают значения слова. И быстренько, при надобности узнают, что значит это слово.
                                              0
                                              Если Ваш вопрос о том, знает ли hidnplayr и другие наши не-русскоязычные разработчики, как переводится слово KolibriOS, то ответ — знают. Если вопрос "Знает ли это случайный прохожий с улицы?", то ответ зависит от того, что вообще знает этот прохожий.
                                                +5
                                                Ихтиологам? O_o

                                                Колибри — не рыба :)
                                            0
                                            Хорошая статья и ftp клиент — это Ъ, а вот дизайн сетевых приложений ой как следовало бы попилить.
                                            Алсо не знал, что Женя ушёл в мой день рождения.
                                              –3
                                              Все знают, но я просто оставлю это здесь.
                                                0
                                                1) Затраты на производство электроэнергии из возобновляемых источников учтены?
                                                2) Время работы от автономных источников питания учтено?
                                                3) Выключение из бессмысленной и неэффективной для конечного потребителя цикла морального устаревания аппаратной платформы вы учитываете?
                                                  +2
                                                  Продадите мне гигабайт ОЗУ за 10 центов? Или это только при покупке дата-центра?
                                                    0
                                                    <зануда>Мне кажется, что речь здесь идет о энергонезависимой памяти. Иначе я не могу объяснить наличие на картинке дисков и флешки.</зануда>
                                                    Хотя, я тоже бы не отказался от ГБ ОЗУ за 10 центов :)
                                                    0
                                                    То, что память подешевела, ещё не повод специально писать раздутый код, включающий ненужные библиотеки. Если, конечно, Вы не зарабатываете деньги исходя из количества строк кода.

                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                  Самое читаемое