LINUX.ORG.RU

Метапрог-прототип 13 + LOR Browser

 , ,


0

4

Поздравляю всех присутствующих с годовщиной первой темы про Метапрог!

LOR Browser, версия 35

В честь праздника представляю почтенной публике проект LOR Browser - просмотрщик ЛОР-тем с зумовым интерфейсом. Это то, что можно сделать на прототипе Метапрога спустя год активнейших обсуждений на ЛОРе.

Почему сразу 35? Потому что таков номер последней версии проекта LOR Browser в Метапрог онлайн.

В Метапрог онлайн можно скачать исходные диаграммы LOR Browser (старое название - Лоральмолог).

Сишную трансляцию и скомпилированный бинарный исполняемый файл можно скачать здесь:

https://www51.zippyshare.com/v/UTqVmrY8/file.html

Как пользоваться

1. Скачать ЛОР-тему в HTML, лучше всего - длинную страницу, которая открывается по кнопке «Показать удаленные комментарии» внизу страницы с ЛОР-темой.

2. Указать на htm-файл скачанной страницы.

3. Масштабировать и перемещаться с помощью колеса мыши. Перемещение зависит от положения курсора относительно центра окна (нулевое перемещение в центре и максимальное у краев).

Планы

Перемещения по зажиманию кнопки мыши пока нет, но можно добавить. Также планируется сделать древовидное отображение веток с комментариями (сейчас линейное, так как не хватило времени до годовщины). Скорее всего, будут еще и линии и подсветка веток («источников» вплоть до главного поста и производных веток, разными цветами) при наведении/клике на блоке поста. Возможно, проект эволюционирует в полноценный клиент для ЛОРа.

LOR Browser - не только хороший способ продемонстрировать возможности последней версии прототипа Метапрога, но еще и способ вплотную подобраться к сборке диаграммера - основного компонента будущего Метапрога «на самом себе».

Дополнительно

В разработке LOR Browser активнейше участвовал stasolog, он же Котечка, что и является причиной активного обмена пакетами через Метапрог онлайн, приведшего к появлению аж 35 версии LOR Browser. Кстати, подобным образом нумеруются версии игры Oxygen Not Included, последняя версия которой аж 399948. И игроки, и разрабочики прекрасно ориентируются в этих цифрах, при этом не заморачиваясь со сложной нумерацией версий.

В архиве прилагается видео, которое показывает как по длинному-длинному имени переменной можно найти место на диаграмме, на котором она объявляется. Это - хороший ответ на вопрос зачем транслятор дает переменным такие длинные и непонятные на первый взгляд имена. Функцию поиска места на диаграмме по имени переменной я добавил где-то в 11-12 версии, но забыл упомянуть ее тогда.

Здесь же приложен файл шрифта, необходимый для работы (обязательно должен лежать в папке с программой).

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

Метапрог-прототип, версия 13

Скачать:

https://www95.zippyshare.com/v/HKdrYe8e/file.html

В 13 версии исправлен импорт сишных инклюдов, исправлен баг трансляции и внедрена еще одна оптимизация в транслятор. В остальном она не отличается от 12, даже LOR Browser 35 в 12 версии прототипа может оттранслироваться корректно (если пользоваться скомпилированными ехе, где нет остановок транслятора на брейкпоинтах, которые были в 12 версии).

В 12 версии прототипа оптимизирован (ускорен) транслятор Метапрог-схем в Си и исправлено несколько багов. Среди них - баг, создававший некорректные трансляции структур, содержащих структуры с сишными именами. Теперь ничто не должно помешать сделать на завтра (годовщина первой Метапрог-темы) сюрприз для почтенной публики (сюрпризом был LOR Browser).

Предыдущая версия:

Метапрог-прототип, версия 11 + бенчмарк

Первая тема про Метапрог, с чего все начиналось:

Metaprog: универсальная графическая среда программирования [в разработке]

Для праздничных подарков:

Bitcoin:1AYoK2TScSpD5bhf67mv9AxHDJ2RidRvjD

Ответ на: комментарий от metaprog

и где там скриншот? там невнятное видео про поиск переменной (целую минуту! это успех в поиске, да), а скриншотов и видео поделки нет.

ossa ★★ ()
Ответ на: комментарий от Fizzika

Это божественно! Когда же метапрог решит проблему со скачиванием, я буду использовать это в качестве основного десктопного браузера! Прорыв года.

provaton ★★★★★ ()
Ответ на: комментарий от Fizzika

во! вот это я понимаю. Не понимаю только что не видео происходит. Какая-то хрень вприсядку. Да еще и выживает ресурсов, как не в себя.

ossa ★★ ()
Последнее исправление: ossa (всего исправлений: 1)
Ответ на: комментарий от ossa

В нынешних фаерфоксах просто алгоритмы не той системы, поэтому они и жрут меньше чем LOR Brawser на метапроге. Панимать нада!

Кстати, название то браузера какое мощное… сразу понятно что написан самым компетентным сообществом программистов рунета. Думаю что авторы этого ресурса будут заслуженно гордиться этой разработкой.

AntonI ()
Ответ на: комментарий от AntonI

я вообще не понимаю накойхрен пытаться рисовать какие-то смотрелки html, недобудильники, если сам «язык» не умеет простые задачи решать, если на простых задачах он валится или течет, что ведро дырявое.

ossa ★★ ()
Ответ на: комментарий от ossa

По разумным причинами ничего не делается (с) закон Мерфи

AntonI ()
Ответ на: комментарий от AntonI

Маловероятно, что для одного пользователя будут новый раздел открывать. К тому же, это может привлечь другие сомнительные идеи и проекты на ресурс.

Нужно смириться, что г-н Метапрог окопался на сайте надолго. Банить его не будут.

sergey3000 ()
Ответ на: комментарий от sluggard

Что тут тег «lor» делает?

Очевидно же, что из-за клиента для ЛОРа. Давно такого не делали, между прочим. LORTk заглох, LORA тоже, и чего там под мобильники было…

mertvoprog ()
Ответ на: комментарий от cluge

удалять лишнии зависимости

Да вроде не нужно, тут всё используется, даже пришлось все пакеты SDL2 поставить.

mertvoprog ()
Ответ на: комментарий от hobbit

из-за этого термина

Антиметапрогеры != антиметапрограммисты. Метапрограммирование здесь очевидно ни при чём.

mertvoprog ()
Ответ на: комментарий от metaprog

если забанят - проект Лоральмолог будет завершен

Нас даже пермабан не остановил уже лет 7 собирать базу для новой версии LORPonyBlocker :P Кстати, пора бы её доделать наконец.

mertvoprog ()
Ответ на: комментарий от Razk

Make файл

Ещё чего не хватало, он же текстовый!!! Даже жабисты давным-давно переизобрели Make в виде Ant, а уже к @metaprog и вовсе грешно подобные претензии выдвигать.

mertvoprog ()
Ответ на: комментарий от hobbit

Чего там разбираться? Выделять из всех кнопок Download правильную — нормальный виндузятный скилл, он был у Нас задолго до освоения Git. Линуксоеды в очередной раз расписываются в своём ФГМ и профдеформации.

mertvoprog ()
Ответ на: комментарий от provaton

Критерием нормальности является незаблокированность роскомпозором, что ли? А почему топиксратера это должно волновать?

mertvoprog ()
Ответ на: комментарий от Fizzika

Не осилили дрова на тачпад настроить, что ли, чтобы скролл работал? Может, ещё и без tap-to-click страдаете?

mertvoprog ()
Ответ на: комментарий от Fizzika

Какая же всё-таки на ЛОРе токсичная публика. Вместо того, чтобы хвалить автора за очевидный прогресс — придираются и поливают говном.

mertvoprog ()
Ответ на: комментарий от ossa

Для простых задач есть другие технологии. Делать простые задачи на жирных продакшновых фреймворках — это тоже лютый оверкилл и куча возни с прыганием по граблям, пока оно наконец заведётся, в то время как на ванильке можно в несколько строчек написать, но будет нерасширяемо, немасштабируемо и так далее.

mertvoprog ()
Ответ на: комментарий от mertvoprog

4.2

Оправдываешь свой никнейм. Ты бы ещё с 2000 тред выкопал.

Не осилили дрова на тачпад настроить, что ли, чтобы скролл работал? Может, ещё и без tap-to-click страдаете?

Скролл то у меня работает. Только я его сделал инерциальным (так удобно работать с браузерами, читалками, etc), а в проге ТСа, где скролл унязапно не скроллит, а масштабирует, эта инерциальность убивает всё взаимодействие с программой.

Такое переворачивание ожидаемой функциональности, когда жест для скроллинга не прокручивает содержимое, а масштабирует, есть большое зло.

Fizzika ()
Ответ на: комментарий от mertvoprog

ТС топит за сишку и презрительно отзывается о «скриптухе»

Но никакая скриптуха, даже монструозный электрон, не будет жрать 100% cpu при просмотре статичного 600килобайтного html %)

А так да, я хвалю автора, но не за лорридер, а за упорство. Его бы энергию да в русло какое-нибудь полезное.

Fizzika ()

Запустил «лоральмолога», течет похлеще Волги, уже 100 МБ сожрал, и это при бездействии, лiл

ArkaDOSik ()
Ответ на: комментарий от Fizzika

Ты бы ещё с 2000 тред выкопал

А почему вдруг назначение тега должно было измениться? На этом сайте даже правила с начала 00-х не менялись, только чуть дополнились.

эта инерциальность убивает всё взаимодействие с программой

Да таких прог полно, Viber, например, тоже очень чувствителен к прокрутке. Вырубайте свою свистоперделку, что тут можно сказать.

когда жест для скроллинга не прокручивает содержимое, а масштабирует

Это почему ещё? Скролл много где для зума используется, а паннинг перетаскиванием. В сабже, впрочем, вообще вроде паннинга пока нету, релизнули сырым.

mertvoprog ()
Ответ на: комментарий от Fizzika

Но никакая скриптуха, даже монструозный электрон, не будет жрать 100% cpu при просмотре статичного 600килобайтного html %)

Пожирание CPU вообще не зависит от языка, это просто следствие либо недостатка мощности, либо, что более вероятно, бага с каким-нибудь бесконечным циклом без временного интервала или прочих ограничений.

Его бы энергию да в русло какое-нибудь полезное

Опять же — почему Вы уверены, что какая-нибудь интересная автору задача в принципе может дать столько же мотивации?

mertvoprog ()

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

Возьми meson, там ведь элементарно сборку настроить, все лучше будет. CMake посложнее будет, но он более распространен. Хоть Makefile напиши, все будет лучше того, что есть сейчас. Если тебе религия запрещает использовать системы контроля версий и хостить на гитхаб и подобных, попробуй Mega, там нет рекламы говна и бесплатные 50гб.

Пока не будет системы сборки, я метапрог пробовать не буду, как не будут и многие другие. А Zippyshare – говно, качать оттуда = себя не уважать. Так и пахнет варезными помойками из нулевых.

Siborgium ()
Ответ на: комментарий от Siborgium

сделать внятную систему сборки,

Где это видано, чтобы сначала делали систему сборки, а потом уже компилятор, интерпретатор, ну или транслятор в данном случае?

качать непонятно откуда библиотеки непонятно какой версии

Последние конают. Всё изи находится на гейхабе, SDL2 так и вовсе прямо в репозитории. Команда для линковки выводится методом тыка, ну или можно поиском найти в тредах по lsdl2. Тем более, вон в этой версии наконец выложили архив с зависимостями, только в нём nuklear не хватает.

meson

CMake

Makefile

Что-о-о? Текстовые конфиги? Для Метапрога? Вы с дуба рухнули?

Mega

Там же регистрация нужна, фи, а надо бесплатно без регистрации. Уж лучше расово украинский fex.net тогда. Ну или Mediafire банальный.

там нет рекламы

Люди делятся на два типа: те, кто режут рекламу, и те, кто не имеют ничего против рекламы. А вот что Вы такое?

Так и пахнет варезными помойками из нулевых.

Вообще-то в этом вся суть Метапрога. Аффтар сидит на Windows XP, хочет из линукса сделать Windows XP, пользуется крякнутым варезом, возит мышкой и GUI метапрога строит по канонам 90-х. zippyshare отлично в эту идиллию вписывается. Даже недостаточно хорошо, в идеале надо какой-нибудь letitbit, чтобы бесплатно надо было ждать с минуту, качать в один поток с лютым троттлингом без докачки, ну или вообще чтобы для бесплатного скачивания заставляли устанавливать какой-нибудь зонд типа SkyMonk или MediaGet.

mertvoprog ()
Последнее исправление: mertvoprog (всего исправлений: 1)
Ответ на: комментарий от mertvoprog

А ковыряться в Сишном выхлопе метапроги, чтобы узнать, как скомпилировать программу, это не работа с текстом? Пусть для начала будет хоть что-то, а уж потом…

cluge ()
Последнее исправление: cluge (всего исправлений: 1)
Ответ на: комментарий от cluge

ковыряться в Сишном выхлопе метапроги

Не-нуж-но! Ни разу такого не делали o_O Компилятор же пишет, чего не хватает. Возможно, в каких-то IDE это даже автоматизировано.

mertvoprog ()
Ответ на: комментарий от mertvoprog

Ну ранее приходилось удалять из выхлопа лишние ненужные инклуды. Тут либо ставить все, что включено в код, либо поковырятся и ненужное удалить. Но в общем то вопрос не в этом, а в том, что такого «Компилятор же пишет, чего не хватает» вообще не должно быть.

ЗЫ: к сожалению скриншот OS-9 не смогу сделать, приехал из командировки, достал из шкафа этот ящик, на котором она крутилась, а он даже не включается. Вскрыл, там за 10 лет уже и кондесаторы на блоке питания вздулись. Даже если мне удастся восстановить блок питания, боюсь она уже не заведется.

ЗЫЫ: что за прикол, говорить о себе во множественном числе?

cluge ()
Последнее исправление: cluge (всего исправлений: 3)
Ответ на: комментарий от mertvoprog

чтобы сначала делали систему сборки, а потом уже компилятор, интерпретатор

Подразумевалось не создание новой системы сборки, а использование существующей для компиляции метапрога.

Siborgium ()
Ответ на: комментарий от mertvoprog

Команда для линковки выводится методом тыка

Для тех, кто смотрит сишные трансляции, есть команда для компилятора в первой строке. Для тех, кто их не смотрит, есть готовый бинарник.

metaprog ()
Ответ на: комментарий от Siborgium

Подразумевалось не создание новой системы сборки, а использование существующей

Если кто с этим заморочится и прикрутит - я буду только за.

metaprog ()
Ответ на: комментарий от cluge

Тут либо ставить все, что включено в код

Ну очевидно, что лучше сразу так сделать и не морочить голову.

«Компилятор же пишет, чего не хватает» вообще не должно быть

Вут? А как ещё? Вы хоть раз что-то из сырцов собирали руками?

что за прикол, говорить о себе во множественном числе?

А как ещё соблюдать гендерную нейтральность и не нарушать 5.5? Есть, впрочем, ещё широкоиспользуемый способ, но его стоит сначала обсудить, а Нам уже более недели не до этого.

mertvoprog ()
Ответ на: комментарий от Siborgium

использование существующей

Ересь!

У @metaprog же NIH-синдром в такой запущенной стадии, что Поттерингу и не снилось, Вы о чём вообще?

mertvoprog ()
Ответ на: комментарий от mertvoprog

Вут? А как ещё? Вы хоть раз что-то из сырцов собирали руками?

Да, собирал, и исходники правил, чтобы собиралось. Из последнего, «будильник метапрога». Не про себя говорю, а про абстрактного среднего программиста, который захочет посмотреть, а оно не собирается.

cluge ()
Последнее исправление: cluge (всего исправлений: 1)
Ответ на: комментарий от cluge

Из последнего, «будильник метапрога»

Кроме высеров метапрога. Поголовно надо смотреть на выхлоп всяких autogen.sh и прочих configure, и доустанавливать руками зависимости, которых не хватает, пока наконец не соберётся.

mertvoprog ()
Ответ на: комментарий от mertvoprog

Кроме высеров метапрога.

Да, приходилось. На линуксе это намного легче, чем на винде.

cluge ()
Ответ на: комментарий от cluge

Ну так зависимости надо руками доустанавливать, изучая выхлоп коноплятора и прочих билд-тулзов, или как?

mertvoprog ()
Ответ на: комментарий от mertvoprog

Да.

Но, ТС то говорит, загляните в выхлоп и посмотрите первую строку. Ладно, ладно, хрен с ним, это всего лишь прототип, что будет дальше? Может он станет такого уровня, что сам нужные либы будет скачивать.

Вообще вопрос был в том, что в выхлопе много лишнего, что можно без проблем удалить, а сам автор почему-то этого не сделал.

cluge ()
Последнее исправление: cluge (всего исправлений: 1)
Ответ на: комментарий от cluge

ТС то говорит, загляните в выхлоп и посмотрите первую строку. Ладно, ладно, хрен с ним, это всего лишь прототип, что будет дальше?

В Метапроге «на самом себе» будет своя система сборки. Будет автогенерация команды компилятора из спецификаций сборки. Щас мне в прототипе было тупо лень это сделать (хотя при желании можно).

metaprog ()
Ответ на: комментарий от cluge

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

metaprog ()
Ответ на: комментарий от metaprog

не имея Метапрога

А в метапроге все это уже автоматизировано?

то по-любому придется ручками скопировать и вставить команду компилятора

Или тупо ручками набрать команду make, если бы был Makefile, ну или другую команду, для другой системы сборки. С зависимостями разберемся.

тупо лень это сделать (хотя при желании можно).

А нужно. Потому что получается, что ты уже сейчас на стадии прототипа уже поворачиваешься к потенциальным пользователям жопой, а не лицом. Да, пусть потом будет своя система контроля версий, своя система сборки. Ладно, лень тебе, ну и ладно.

cluge ()
Последнее исправление: cluge (всего исправлений: 2)
Ответ на: комментарий от cluge

Или тупо ручками набрать команду make, если бы был Makefile, ну или другую команду, для другой системы сборки.

Чем набор «make» лучше копипасты командной строки с первой строчки исходника?

Да и вообще удивляет наличие в разделе Development людей, которых это пугает. А еще тут порой такие медвежьи советы дают - то хаскель пользовать, то ред, то питон, то джаваскрипт, то виртуальные машины а-ля джава...

metaprog ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)