Состоялся релиз каталогизатора домашней библиотеки MyLibrary 4.0. Код программы написан на языке программирования С++ и доступен (GitHub, GitFlic) под лицензией GPLv3. Графический интерфейс пользователя реализован с помощью библиотеки GTK4. Программа адаптирована для работы в операционных системах семейства Linux и Windows. Для пользователей Arch Linux в AUR доступен готовый сценарий сборки пакета. Для пользователей Windows доступен экспериментальный инсталлятор...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63135
Кому оно нужно? Кто-то серьезно пользуется каталогизаторами?
Та да, странно. Я за компом вообще сидя не могу читать. Только лёжа, да и глаза вытекают, если это не бумага или электронная книга с специфическим экраном.
> Та да, странно. Я за компом вообще сидя не могу читать. Только
> лёжа, да и глаза вытекают, если это не бумага или электронная
> книга с специфическим экраном.Это ж не читалка)) Оно может открыть файл в вашей любимой читалке, но основная задача - сначала найти нужное. После того как найдено, можно и скопировать на ваш планшетик (хотя я бы всё же порекомендовал для чтения специальные читалки на e-ink или чём-то подобном использовать, если есть возможность - глаза меньше устают).
>Оно может открыть файлЭто программа для открытия файлов? Зачем лишнее действие, я и так могу открыть файл
>основная задача - сначала найти нужноеТо есть если я хочу прочитать SICP - мне нужно сначала найти SICP? Но я и так могу его найти через браузер.
>можно и скопировать на ваш планшетикГосподи, зачем?! Что мешает открыть книгу сразу на плнашетике? Что за усложнения?
>читалки на e-inkДа, только в читалках уже стоят нормальные каталоги книг.
Это не для читать.
Поддерживает ли эта штука BelMarс или UniMarc?
> Поддерживает ли эта штука BelMarс или UniMarc?Нет, не поддерживает. Но если есть желание - можете написать свой плагин. Интерфейс для создания плагинов в общем-то за тем и добавлен. Чтобы, не лазая в основной код, можно было своё что-то на коленке сочинить.
Оно настолько тяжелое, что ему нужна многопоточность? Или предполагает работу с гуём, пока что-то фоново считается?
> Оно настолько тяжелое, что ему нужна многопоточность? Или предполагает работу с гуём, пока что-то фоново считается?Коллекции разные бывают. Если там скажем тысяч сто+ книг, то многопоточность очень даже нужна. В процессе создания коллекции или в процессе поиска по базе данных. Чтобы по базе на 600 тысяч книг поиск был не полчаса, а порядка секунды. Утрирую, конечно, но тем не менее распараллеливание кое-какой выигрыш по времени даёт. Ну и мелочи всякие, вроде чтения баз данных в память без блокировки GUI. Базу данных мегабайт на 90 оно может читать и парсить несколько секунд. И тут нужно либо пользователю под нос окно с предупреждением вывешивать, что мол подожди мил человек - работаем, либо выводить всё это дело в отдельный поток, чтобы GUI не подвешивать. Ну и, кстати, многопоточность сделана регулируемой - перед началом создания коллекции или перед её обновлением пользователь в ручную задаёт ограничение максимального числа используемых потоков.
> 600 тысяч книгДа столько ни в одной библиотеке нет. Даже какой-нибудь супер известной типа им. ленина в москвабаде.
> Библиотека Либрусек (lib.rus.ec) + Libruks(17 апреля 2025 г.) — книг в архивах 439.567
>> 600 тысяч книг
> Да столько ни в одной библиотеке нет. Даже какой-нибудь супер известной типа
> им. ленина в москвабаде.Библиотека конгресса США -- более 30 млн книг. И всего 150+ миллионов единиц хранения (газеты в томах, карты, рукописи и т.д.).
Нафига нужно на компьютере 600 тысяч книг? Ты за жизнь прочитаешь от силы пару сотен по 1 разу.
> Нафига нужно на компьютере 600 тысяч книг? Ты за жизнь прочитаешь от
> силы пару сотен по 1 разу.Всего две книги в месяц — и твой скудный предел в 200 книг выбран меньше чем за два года.
Чухло, ты откуда вылез?
Пара сотен многовато как-то, достаточно двух — букваря и той, синей.
Прога нужная, автор молодец!
> Прога нужная, автор молодец!Спасибо на добром слове.
Блин, ну дизайн... моё почтение :D П.с. GTK4 для кроссплатформенной софтины - крайне странное решение. Вообще, похоже на чью-то курсовую. Прямо почти как карточная игра в "дурака", которую я когда-то писал на турбо поскале.
> Блин, ну дизайн... моё почтениеОткройте окно настроек)) И прошлую новость по MyLibray - там скриншоты с демонстрацией возможностей кастомизации внешнего вида.
> GTK4 для кроссплатформенной софтины - крайне странное решение.
А оно изначально задумывалось и начиналось не как кросплатформенное, а чисто под Линукс. В Windows - там есть аналоги. Написанные, кстати, на паскале, если я ничего не путаю. Потом уже была добавлена поддержка Windows. О чём я жалею перед выходом каждого релиза, из-за ...(здесь следуют пару строчек отборных матюгов)... особенностей работы данной с позволения сказать ОС. Но... Мыши плакали, кололись, но продолжали жрать кактус. В основном потому, что отладка на Окошках дала возможность отловить несколько серьёзных багов.
> Прямо почти как карточная игра в "дурака", которую я когда-то писал на турбо поскале.
Вы не на дизайн смотрите, который в некотором роде задумывался как небольшая шутка юмора, и да - достаточно простой. А на то, что под этой простотой скрывается. Напишите программу, которая читает несколько разных типов архивов (и может в них писать), парсит текстовые файлы в разных кодировках, читает pdf и djvu, использует многопоточность в двух разных вариантах (на самом деле в трёх - tbb в новости тоже не просто так упомянута), работает на нескольких архитектурах процессоров (перед релизом я всё это тестировал на х86_64, i386 и aarch64), может работать на системах с разным порядком байт, парсит коллекции на 400 Гб и более. Плюс может динамически в процессе работы подгружать библиотеки (тот самый интерфейс для плагинов). И всё это на 2 типах ОС. С поддержкой сборки на двух типах компиляторов (тестировалось на gcc и clang). На турбопаскале, ага (я его тоже когда-то немного изучал, если что). Нет, если получится, мы вам поаплодируем и даже может быть спасибо скажем)) А так ради интереса - откройте в репозитрии папку MLBookProc, а в ней файл - СMakeLists.txt. Это даже не сама программа, а всего лишь сценарий сборки библиотеки из её состава. Не особо сложно, конечно, но тем не менее.
> особенностей работы данной с позволения сказать ОСКаких? А то мои программы (примерно вашего уровня, но под производственные задачи) написанные в Delphi 7 до сих пор открываются на Win 11 и работают великолепно.
В целом, звучит всё очень мощно. Но по фактам такие каталогизаторы существовали даже во времена ДОС.
> Каких? А то мои программы (примерно вашего уровня, но под производственные задачи)
> написанные в Delphi 7 до сих пор открываются на Win 11
> и работают великолепно.Вот этих самых, из-за которых ваши программы продолжают работать. Не только из-за них, но в том числе. Потому что магии не бывает. И в связи с этим это проприетарное (пропускаем пару матюгов) чудо при старте n времени грузит и обрабатывает тонны легаси кода (и кто бы ещё знал - какого, и нужно ли оно вообще - оно ж всё закрытое, что там происходит - пойди пойми). Плюсом - всякое разное, вроде попыток на любой чих пользователя постучаться в Майкрософт с докладом маркетологам, а потом "ненавязчиво" вывалить на голову пользователя тонну рекламы на фиг не нужных ему функций. Это так, для начала. Далее по коду. Майкрософт у нас не такой, как все, всякие стандарты именования - это не для "белых людей", ага. Поэтому не дай клавиатура, чтобы в цепочке подключаемых заголовочных файлов у вас пересеклись windows.h или Windows.h и например некоторые заголовочный файлы из пула gtkmm. Тонны веселья в процессе попыток отладки всего этого я вам гарантирую. Далее - сам системный API. Это тоже ужас и страх. И ладно, что он не соответствует никаким стандартам, принятым у нормальных людей (типа того же POSIX). Но там ведь присутствует куча непонятных структур, пространств имён и тому подобного. А описание всего этого вы попробуйте ещё найдите. Чтобы например банально вывести на печать сообщение об ошибке в функции вызова программы - это нужно ещё постараться. Не говоря уже о самом вызове программы. Нет бы, как у всех остальных - сделать один нормальный errno, который суть есть переменная int (т.е. в общем случае - 4 с лишним миллиарда кодов ошибок) и нормальный же вывод через strerror. Но мы ж особенные (потому что бабок очень хочется), поэтому - нате на лопате, разбирайтесь в нашем коде. Дальше продолжать не буду, а то Война и мир получится))
> В целом, звучит всё очень мощно. Но по фактам такие каталогизаторы существовали
> даже во времена ДОС.Позвольте усомниться)) В том числе потому, что я этот самый DOS использовал, даже для работы немного. И видел Norton Commander и Windows 3.11 в живую. Это не говоря о том, что все, обрабатываемые в программе форматы файлов (я не про архивы, а про книги), возникли в нулевых годах 21 века и позже.
> windows.hА вы точно пишите под современную винду? А то даже не представляю чтобы кто-то на столь низком уровне писал прикладные проги в 2к25 году.
Мда, windows.h для современного поколения, оказывается, уже забытые технологии древних.
Не запрещено писать хоть в машинных кодах. А так то для каждой задачи хорош свой инструмент и опускаться до windows.h для __прикладного_софта__ - через чур.
> Прямо почти как карточная игра в "дурака", которую я когда-то писал на турбо поскале.Ну если там нет функции игры на раздевание — это только 3.
Кстати непонятен прикол про многопоточность. Ведь тут для этой функциональности было бы достаточно производительности 80386 из 80х годов (если писать на каком-нибудь visual basic 3.0 или delphi 1.0 под win 3.x).
На опеннете новый форс? Часто в комментах 386 вспоминают.
> Часто в комментах 386 вспоминают.Ну здесь упомянули довольно уместно. Прога действительно overkill по своим возможностям. Сразу видно, что писалась в академических целях.
> Сразу видно, что писалась в академических целях.А я то и не знал, зачем я её писал. Спасибо - подсказали ;) Вы в код-то загляните - посмотрите где, как и зачем используется многопоточность например. Если знаний не хватает или совсем лень - спросите автора. Он вам может быть даже ответит, если спрашивать будете вежливо))
> Вы в код-то заглянитеДружище, никто даже не пытается обесценить твою работу, поверь, просто такие новости ЗДЕСЬ, это как атомный взрыв.
Зачем использовать GTK и нарушать вообще все принципы разработки интерфейсов?GNOME Human Interface Guidelines писали как раз для GTK приложений.
Это на QT люди привыкли делать что угодно и в каком угодно стиле. Но на GTK принято делать нормальные современные интерфейсы.
>GTK
>нормальный интерфейсТрусы или крестик
> Зачем использовать GTK и нарушать вообще все принципы разработки интерфейсов?Какие именно?)) "Все" - слишком широкое понятие. И в целом - если вам что-то не нравится, то постарайтесь сформулировать - что конкретно и почему. Откроете для себя много нового. Например бывает так, что "плохой дизайн" по итогу трансформируется в банальное "оно непривычно выглядит". Что не делает объект критики чем-то плохим или неудобным в использовании (а это как раз самое главное - чтобы программой было удобно пользоваться). А потом откройте окно настроек. Вдруг там есть ответы на некоторые ваши претензии? ;)
GNOME Human Interface Guidelines https://developer.gnome.org/hig/Выше же написано...
Аа, это тот самый HIG, над которым не посмеялся только совсем далекий от IT человек?
IT давно не ограничен кучкой красноглазиков, которые отказываются принимать современные подходы к разработке. Интерфейсы сейчас делают для массового пользователя, а не только для кучки энтузиастов. Human interface guidelines везде примерно однаковый, что на MacOS, что на Android. Это результат долгих лет развития технологий UI\UX, это просто работает.
> это просто работает.Пруфы будут?
Опыт показывает обратное.
> Но на GTK принято делать нормальные современные интерфейсы.Это там, где отступы в два мужыцких пальца толщиной и практически уже круглый интерфейс (вот-вот и окна станут идеальным математическим кругом, подождите 2-3 года)? Эх... где мой турбопоскаль и поиск-2...
> Это там, где отступы в два мужыцких пальца толщинойНадо же чем-то твоим 32 дюйма забить, когда в интерфейсе 2 кнопки. Это как, когда тебе сказали сделать сочинение на 2 листа, ты вымучал полстраницы... и начинаешь крутить шрифты, отступы...
> окна станут идеальным математическим кругом
Ой, зря... Ща же понабегут "почему дисплеи обязаны быть квадратными?", "в природе нет квадрата" и т.д.
> Зачем использовать GTK и нарушать вообще все принципы разработки интерфейсов?ГТК и Гном выкинули на помойку десятилетия развития интерфейсов...
> Но на GTK принято делать нормальные современные интерфейсы.
Жирно... Почти купился.
Вообще прикольно. Я бы добавил возможность хранить файлы других форматов и получилось бы такая mdm/pdm система на минималках.