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 (всего исправлений: 8)

А что случилось с лоральмологом 35, что за ребрендинги потешные в лор бровзер?

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

Добрые люди сказали что название неудачное, и ТС решил убить двух зайцев одним махом. Ящитаю гениальный PR-ход - кто знает что такое LOR будет этот код качать на перегонки;-)

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

показать, в каком месте

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

Я не заметил в его высказываниях признаки понимания хеш-таблиц.

А оно должно быть? Хэш-таблицы же матан и ненужно.

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

Нет, Ваши гендерные стереотипы необходимо искоренять.

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

Читать код на Си можно без компилятора. Код даже может быть в виде картинки, читать его можно и так. Показывать схемы можно без скачивания вареза, просто через картинки и видео. Your argument is invalid.

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

Опять эти сишные библиотеки копирастов! Вот если бы всё было написано на метапроге, такого-бы не было!

rupert ★★★★★
()
Ответ на: комментарий от i-rinat

код на Си

А Метапрог здесь при чём? Весь смысл Метапрога в интерактивности. Картинки и видео её не дадут.

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

Мда, эти люди даже ссылки на комментарии давать не умеют, с четырьмя-то звёздами! А ещё гонят на @metaprog при этом.

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

Да ладно?

Нет, не ладно, можете это моей личной профдеформацией считать, но такого поведения от ПО я не ожидаю. Если бы я и мои коллеги не делали софт, который работает 24/7/365, то по всей стране мы бы наблюдали технологические катастрофы.

У Нас много программ до корректного завершения не доживают.

Примеры? У меня дома тот же файрфокс живет без перезапуска до следующего обновления. А комп я в спящий режим отправляю, когда не нужен.

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

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

Реакция ТС на багрепорты довольно своеобразна - сделав очередное приложение и получив по нему багрепорты ТС обижается и говорит что больше в этой области приложений делать не будет, поскольку это вообще это не багрепорты а

по-свински неблагодарные придирки (например я, видите ли, поленился проверить деление на ноль или еще чего).

Так что вангую, ТС больше не будет писать браузеров;-(

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

Если бы я и мои коллеги не делали софт, который работает 24/7/365

Отрасль?

Примеры?

Pidgin нередко падает, особенно часто падал из-за встроенного IRC-плагина, из-за чего для IRC Мы в итоге перешли на Hexchat. Даже в процессе корректного завершения иногда падает и выдаёт ненулевой код ошибки.

WebKitWebProcess нередко падает — причём делал это и 8 лет назад в виндовом Safari, и сейчас в LuaKit.

Viber вообще не реагирует на SIGTERM/SIGINT; если вдруг пропал иконка из трея (при перезапусках WM такое случается) — прибить его можно только SIGKILL’ом.

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

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

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

А что Вы хотели от демок? Смысл их допиливать и доводить до ума? Первоочерёдная и единственная задача сейчас — переписывание Метапрога на самом себе. Но поскольку она долгая, муторная и результаты будет видно аж в конце — @metaprog пока балует народ демками. И зря только бисер перед свиньями мечет.

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

Хехе, а ведь Мы с этим Kaitai пересекались, когда пилили конвертер гифок в стикеры для Telegram. Его какая-то либа тянула.

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

ну я не знал о таком проекте, приятное открытие.

abcq ★★
()

Кто там это дело все смотрит, ну или сам @metaprog - запишите хоть видео или скриншотов накидайте… у меня мало времени поднимать и вникать

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

Да, штука прикольная - но для себя я давно перегрузил в плюсах операции <, > для бинарного потокового ввода/вывода и мне этого достаточно для велосипедения своих форматов. Получается очень компактно, особенно в связке с STL.

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

У Котечки была целая подборка видосов на итти-битти-сайте, только я сейчас на него ссылку на найду. Возможно, @metaprog кинет, когда появится.

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

@metaprog, я кажется понял, что тебе нужно улучшать, это подачу своего продукта.

Вот посмотри(1 минута 58 секунд) как js кодерок себя пиарит(пофиг что ты не знаешь английский, важна просто подача и интонация):

https://player.vimeo.com/video/384144500

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

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

С этим, пожалуй, трудно не согласиться.

Вот посмотри(1 минута 58 секунд) как js кодерок себя пиарит

Типичная реклама говнокурсов для вайтишников, так ведь? Почти ничего по техническим моментам, не показывается даже написание кода. Только краткое перечисление хайповых распиаренных говнофреймворков (которые через 10 лет, скорее всего, уйдут в небытие и знания по ним станут мусором) и обещания сделать из тебя крутого кодера, который будет грести бабло лопатой. И, разумеется, заманивание «перспективами» трудоустройства в гуглях и пейсбуках. Кстати, о работе в них я даже близко не мечтаю - я мечтаю только о том, чтобы эти маркетинговые мыльные пузыри лопнули и сам их услугами не пользуюсь (даже по части поиска).

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

пофиг что ты не знаешь английский

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

Царя так и нет? Не пора ли искать наследника престола?))

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

Но ты вообще-то в курсе, что он крупнейший на ЛОРе специалист по убиванию себя об стену? За ним числятся как минимум две эпические истории по вылету с ЛОРа и ещё несколько неэпических

«Убивание себя об стену» - имеются в виду вылеты с ЛОРа? Или у него есть и другие скелеты в шкафу?

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

Значит надо оценивать проект средствами внутренними. Ладно, скрины может таки нужны, но в меру. Идеальной для демонстрации, наверное, будет веб-версия, но до нее еще чертовски далеко (нужен Метапрог «на самом себе»).

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

Я атеист, но я верующий. Например, в визуальное программирование. И в кое-что еще, но то уже будет оффтоп и нацпол.

просто доверься нам, просто войди в метапрог, и там всё будет

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

Код должен быть проверяемым и сопровождаемым

Интерактивными средствами. Без текстовых пережитков прошлого века. Тот же гит мне не нравится тем, что там надо читать длинные и скучные мануалы, зубрить текстовый синтаксис команд и трахаться с башем. Если для Линуса, выросшего на консольных интерфейсах образца 1970-80х, это норма, то для меня, выросшего на винде - мучение.

наконец, нужны примеры!

Примеры метапроговских примитивово, на которых видна концепция? Нужно, но все некогда.

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

Базовый обзор https://youtu.be/EcQMgUAm0DE

Прототип можно запустить и на вайне под линуксом, инструкции в архиве (ссылка в шапке темы).

metaprog
() автор топика

полный оффтоп - но чисто вангую что в следующие 20 минут

Император уйдёт на кара-нтин - на ряду с другими мерами - технично отойдёт от руля.

слава Метапрогу такие дела.

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

Типичная реклама говнокурсов для вайтишников, так ведь?

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

ага

Английским я владею свободно и могу свободно читать/смотреть англоязычный интернет и даже вести философские беседы с иностранцами

круто

Царя так и нет?

Да, царь сгинул.

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

Не пора ли искать наследника престола?))

Вы уже забыли, кто наследник?

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

надо читать

Не надо.

зубрить

Не надо, есть автодополнение. Можно ещё алиасов наделать для частых операций.

то для меня, выросшего на винде

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

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

Отрасль?

У нас какие отрасли, не считая распилочных сколковских бананотехнологий остались? Только нефть и газ наверно. У нас нефть.

Pidgin Hexchat Viber WebKitWebProcess

Вы как-то писали, что глубоко против всего этого мышевозюкания и поклонники консольного интерфейса, а все примеры программ – это гуйня во все поля?

И сколько бы примеров вы бы не приводили, я все равно буду считать, что такое поведение ПО – это криворукость разработчиков, и такого не должно быть.

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

У нас нефть.

О, так мы коллеги в некотором смысле;-)

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

У нас нефть

И что, там достаточно сложные программы, чтобы обеспечивать их надёжность вкупе со сложностью было чем-то выдающимся? По отдельности в них ничего экстраординарного нет, даже Метапрогу наверняка по силам вылизать числодробилку, если взяться за неё серьёзно, а не в качестве демки по ходу дела.

что глубоко против всего этого мышевозюкания и поклонники консольного интерфейса, а все примеры программ – это гуйня во все поля?

Ну да, а куда от неё деваться? Мы в том числе против TUI, к слову. А виденные Нами IM для CLI выполнены сплошь извращённо.

такое поведение ПО – это криворукость разработчиков, и такого не должно быть

Лучше никакое, чем такое, ага ;-) Вы там часом не из одной конторы с @Iron_Bug?

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

попрошу меня не кастовать в таких говнотемах.

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

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

Нет, не по силам.

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

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

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

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

Значит надо оценивать проект средствами внутренними.

Эта оценка всегда будет неполной.

Чтобы прочитать исходники линукса, придется таки довериться линуксу (или на худой конец какой-нибудь винде).

Или FreeBSD, или хайку. Любой ОС, которая знает, что такое текстовые файлы. Но если бы исходники линукса можно было бы прочитать ТОЛЬКО из самого линукса — это действительно было бы ненормально и вызывало бы законные вопросы.

Интерактивными средствами.

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

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

Он многократно говорил что не умеет

Но практика показывает обратное. Вот откуда в бенчмарке взялись хэши, например? @metaprog в принципе не может знать такой матан ;-)

Все равно что не зная нот браться на написание симфонии

Опять снобизм, да что ж такое-то. Мы ведь уже обсуждали успех слепленных в трекерах и прочих фрутилупсах с аблетонами высеров.

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

нужно, чтобы эту проверку можно было как-то автоматизировать и осуществлять извне

Почему извне-то? Всё будет из Метапроговской экосистемы! СКВ-то уже есть. IDE-расты вон спокойно жрут такой подход, и принимают как данность, что даже банальные операции рефакторинга нельзя сделать вне IDE простыми CLI-инструментами — типа, разработчики IDE и плагинов к ней же жрать хотят.

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

даже банальные операции рефакторинга нельзя сделать вне IDE простыми CLI-инструментами

Чой-та нельзя? Я из голого mcedit рефакторил код на С++ за милую душу. В IDE, конечно, удобнее. Но IDE бывают разные, к ОДНОЙ IDE я в любом случае гвоздями не прибит.

hobbit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.