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)

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

не такой уж и медленный

По сравнению с чем? По сравнению с софтом на C/C++/Go — да, медленный, говорим чисто с пользовательской стороны, как пользователь написанных на них программ. Даже медленнее некоторой скриптухи (Bash, Perl, Lua, PHP). Есть, конечно, ещё более медленное дерьмо типа этих ваших JS, но это не оправдывает Python.

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

А попробуйте найти программиста на LabVIEW! Тем более на ЛОРе.

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

А зачем помнить

Обидно-досадно.

– Как это так, Шерлок, вы не знаете, что Земля вращается вокруг Солнца?!

– Да, Ватсон, и неплохо себя чувствую. И даже лучше всех в Лондоне знаю криминалистику.

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

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

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

А зачем помнить всякую терминологическую зубрёжку?

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

Не зря в ВУЗах в первый же день говорят: «Забудьте всё, чему вас учили в школе».

Смените ВУЗ, не надо в таком учится.

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

это важные базовые понятия

Какие нахрен важные? Для чего? Для пытающихся решать Великую Теорему Ферма дилетантов? Полный квадрат — это просто частный случай квадрата, ценность у этого «понятия» околонулевая. Мы вот в детстве придумали нить с узелком стяконом называть. Зачем? А шоб було! Ещё и перевод на несколько десятков языков сделали (не имея понятия об их грамматике и фонологии, ага).

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

Правила вывода у всех здравомыслящих людей (что бы это ни значило) практически неотличимы

Наивняк =) Еще скажи, что модусы до сих пор наизусть учат.

самоочевидных простых фактов

это еще что за зверь?

Но это решаемо при достаточном уровне культуры общения

Да, в итоге всё равно всё сводится к «мне ваши аргументы показались (не) убедительными», а не «вы мне формально (не) доказали».

Либо тогда требуйте полностью привести аксиоматику, правила вывода, и логические построения. И проверяйте. И тогда всё сведётся к https://upload.wikimedia.org/wikipedia/commons/d/d7/Principia_Mathematica_54-43.png для доказательства того «самоочевидного факта», что 1+1=2

Так зачем же мантру про некое «бремя доказательства» всё время не к месту совать?

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

А зачем? Её тёзка React вот до сих пор из 0-й мажорной версии вроде не вышел. А давно и успешно используется в продакшне.

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

Так зачем же мантру про некое «бремя доказательства» всё время не к месту совать?

ее суют вообще то тогда, когда аффтор утверждения вообще никаких аргументов не приводит.

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

ее суют вообще то тогда, когда аффтор утверждения вообще никаких аргументов не приводит.

Ну вот потому она и выглядит как мантра. Так и скажите, а с чего у вас вот такая позиция, какие аргументы можете привести? И то, никто никому ничего не «докажет». Вы либо согласитесь с этими аргументами, либо нет.

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

если бы общение было тет-а-тет и оппонент(ы) упорот(ы) то конечно никто никому не докажет. Но на форуме идет работа на публику;-)

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

А «побежал быстро доказывать» – это для подонков типа царя в порядке вещей. Кстати говоря о культуре общения.

anonymous
()

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

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

У Нас собрался, но падает, хехе.

Thread 1 "test" received signal SIGSEGV, Segmentation fault.
0x00007ffff7cdc1d9 in ?? () from /usr/lib/x86_64-linux-gnu/libSDL2_ttf-2.0.so.0
@(gdb) bt
#0  0x00007ffff7cdc1d9 in ?? () from /usr/lib/x86_64-linux-gnu/libSDL2_ttf-2.0.so.0
#1  0x00007ffff7cde039 in TTF_RenderUTF8_Blended_Wrapped () from /usr/lib/x86_64-linux-gnu/libSDL2_ttf-2.0.so.0
#2  0x000055555555989f in main ()

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

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

Простые факты, в данном случае, это факты об окружающем мире, вроде того, что Земля шарообразная, падение с десятиметровой высоты смертельно опасно, 1+1=2, а квадратное уравнение имеет два корня. Да, для здравомыслящего человека в XXI веке это самоочевидно, и спорить на эти темы - пустословие, на мой взгляд, конечно. Даже если в частных случаях, может свестись к «вы меня не убедили», в целом, лучше придерживаться общих принципов ведения дискуссии.

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

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

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

оппонент упорот

Это вовсе не обязательно.

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

лучше придерживаться общих принципов ведения дискуссии

«Общих принципов» для кого? Нет никаких «общих принципов».

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

а квадратное уравнение имеет два корня.

пардонте за занудство, но в действительных числах корней может и не быть;-)

спорить на эти темы - пустословие

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

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

в рамках этого «шоу» фраза про «бремя доказательства» является мантрой.

Это звучит лучше чем «за базар ответишь», хотя смысл тот же;-)

Это вовсе не обязательно.

Если оба вменяемы то обычно удается прийти к общему знаменателю.

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

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

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

Да, я имел в виду комплексные корни, конечно. Есть расхожая мысль, что нельзя научить, можно научиться. Не исключено, что здесь она применима.

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

Есть расхожая мысль, что нельзя научить, можно научиться. Не исключено, что здесь она применима.

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

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

Это звучит лучше чем «за базар ответишь», хотя смысл тот же;-)

Вот я её примерно так и расцениваю. Когда в очередной раз в форумной дискуссии вижу «бремя доказательства лежит…», сразу где-по поблизости чудятся бритоголовые парни в спортивных костюмах.

Они могут потребовать «доказательства» с «отвечающего», это да.

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

Ну очкастые парни в пиджаках иногда хуже чем бородатые в спорт. костюмах - у очкастых на базаре сьехать не получится;-)

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

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

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

У ребят в спортивных просто некому будет съезжать, если «доказательство» не устроит.

А так манера ведения дискуссии похожа, я как раз об этом.

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

Здесь, на форуме в шутейном разговоре никто не может «требовать» никаких доказательств и аргументов в пользу чьего-то тезиса. Но, есть мнение, предоставить их - в интересах самого утверждающего, если он хочет придать шутейному разговору каплю серьезности.

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

Решать квадратные уравнение нужно не всем, наверное.

Это интересный вопрос. ИМНО математика в школе (и матанализ в вузе) это как физкультура для мозга. Не всем нужно делать подъем-переворот и прыгать через козла, но этому почему то учат…

И уж тем более это необходимо если человек мнит себя технарем-изобретателем.

Хотя был такой великий кораблестроитель, Титов - он вообще не знал сопромата и чертил всякие детали кораблей по наитию. Наитие у него было фантастическое, он не ошибался (по воспоминаниям А.Н.Крылова). Но это было больше века назад и это очень большая редкость…

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

в интересах самого утверждающего

Но не в обязанностях.

если он хочет придать шутейному разговору каплю серьезности

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

Тогда как?

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

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

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

ИМНО математика в школе (и матанализ в вузе) это как физкультура для мозга.

Видел я таких «спортсменов», типа тебя. Занудство и тупой юморок != интеллект.

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

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

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

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

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

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

Если кто-то требует от него обосновать те или иные факты, то тут все зависит от желания. Если спрашивают серьезно и, самое главное, готовы воспринимать аргументы, то можно и объяснить. Если начинают придираться к фактам вроде 1+1=2, то я бы проигнорировал. Повторюсь, ключ к продуктивному общению - придерживаться общих правил. Универсального решения для всех возможных ситуаций у меня нет.

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

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

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

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

требует

то сразу идет лесом.

все зависит от желания

Ну вот и возвращаемся к исходной позиции. Не надо тогда к месту и не к месту (второе чаще) употреблять мантру «бремя доказательства лежит на утверждающем».

начинают придираться к фактам вроде 1+1=2

Так для него утверждение или лежащие в его основе посылки так же самоочевидны как и 1+1=2. В силу опыта, например.

общих правил

Modus ponens? Так он может привести посылки, на которых он построил выводы, в четком соответствии с MP. И что? От него потребуют доказать эти посылки. Не убедительно, скажут, доказывай. А он скажет «для меня это очевидно из моего опыта, еще 1+1=2 потребуйте доказать».

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

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

И это тоже. Но умение логически мыслить и делать выводы ему поможет куда больше, чем умение решать квадратные уравнения и даже (ужас!) с помощью интеграла считать площадь.

выявить их склонности

Как тест? Разве что так. В таком случае их значимость не стоит завышать. Но вот тут персонаж с мумитроллем на аватарке считает, что кто их не умеет решать – дворник.

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

Да, пусть не требует, а просит, можно вежливо даже.

Я правильно понимаю, что вы не противник «мантры» как таковой, но вам не нравится злоупотребление ею в спорах, когда контраргументов нет, а признаваться в этом не хочется? Если так, то согласен с вами, но одновременно считаю, что это не умаляет самого принципа в основе «мантры».

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

А он скажет «для меня это очевидно из моего опыта, еще 1+1=2 потребуйте доказать».

И будет иметь право так написать.

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

не нравится злоупотребление ею в спорах

Да.

когда контраргументов нет

Даже не так. «Вот вы тут что-то такое утверждаете, мне в это всё вникать лень и вообще я не специалист, но вы мне давайте-ка докажите, что это так»

это не умаляет самого принципа в основе «мантры».

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

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

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

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

Значимость умения решать квадратные уравнений в повседневной жизни невелика. Я не завышаю её. Тем более интегралов. Не буду говорить за других. Для меня знакомство с элементарной математикой - это своеобразный маркер того, о чем и как нужно говорить с человеком. Грубо говоря, если он не знаком с квадратными, то кубические уравнения я даже не буду пытаться с ним обсуждать.

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

Скорее те васянски е библиотеки, которых в него напихали, к шлангу прибиты.

Может быть и такое. А может быть, «васянским библиотекам» в этой сборке на вход поступают некорректные данные.

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

важным является умение интерпретировать факты

… в основе чего лежит та же логика

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

как нужно говорить с человеком

По совету Глеба Жеглова? Это правильно.

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

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

Когда в обычной дискуссии эту фразу приплетают

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

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

неочевидны или контринтуитивны, нужно подкреплять минимальными аргументами

Ну можно же согласиться, что эта формулировка это куда лучше, чем «ну-ка докажи, ты обязан, потому что бремя бла-бла-бла»

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

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