LINUX.ORG.RU

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

 , ,


1

2

Рейтинг пользователей тем про Метапрог или практический пример применения визульного программирования

Пока Метапрог не готов, продемонстрирую практическое применение LabVIEW. Скачать программу-демонстратор можно тут:

http://e2tilsgo5s44hqmlwb4epwrjnh7ynvsckj2tl5duwdqbxg67chqpelad.onion/file/9b...

Для перехода по ссылке нужен Tor Browser, для просмотра кода примера - LabVIEW начиная с 2013.

На данном графике - количество комментариев самых активных зарегистрированных пользователей в темах про Метапрог на момент 29.06.19 04:47:37

https://i.postimg.cc/gjZ6vS91/image.png

Всего две маленькие диаграмки на Лабвью. Для начала надо распарсить сообщения из сохраненных веб-страниц. Да, страницы пришлось сохранять вручную, так как в Лабвью проблемы с HTTPS (и многими другими сторонними библиотеками). На данный момент проще было сохранить страницы вручную через браузер, чем самостоятельно сделать лабвьюшную реализацию TLS.

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

https://i.postimg.cc/Nj7mJzyc/image.png

Данная диаграмма берет 12 самых активных пользователей, строит их рейтинг и сохраняет его в картинку:

https://i.postimg.cc/hjGL71tq/image.png

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

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

FAQ

0. Где отсутствующие примеры и пункты FAQ? Как вообще читать эти темы?

Чего нет в этой части - есть в прошлых. Для того, чтобы понять идею Метарпога, не обязательно читать тысячи комментариев из всех тем. Необходимый минимум собран в заголовках тем. Читайте заголовки и ссылки в них. Кстати, обновляется только заголовок последней темы, если эта тема уже не последняя - она не обновляется. В более новых темах пункты FAQ могут обновляться и в случае расхождения действительна более новая версия.

Примеры

Предыдущие см. в прошлых темах

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

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

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

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

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

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

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

Наконец-то нормально работают циклы!

https://pastebin.com/1duyPBMB

Это та самая диаграмма со старого скрина:

https://i.postimg.cc/65N2KMQz/image.png

Теперь тупиковые ветки (nk_end и «малювання SDL») тоже остаются в теле цикла. Теперь осталось внедрить тот же механизм управления тупиковыми ветками для условий (if, switch) и можно будет приниматься за разработку Метапрога на «самом себе».

Донат

Bitcoin:1AYoK2TScSpD5bhf67mv9AxHDJ2RidRvjD

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

Соцсети и мейлру всякие уже телефон требуют, а симки у вас по паспортам

вообще невероятно бесят оба эти обстоятельства как и сам п. и всё его правительство. не буду расписывать почему всё равно удалят. помнится в бытность свою школьником купил у какого то парня без паспорта правда потерял уже. впрочем есть же страны куда можно съездить и купить что бы зарегистрироваться. вот как с этим дела у вас в украине? можно было бы вобще оказывать такую услугу - анонимная регистрация по смс (одну телефонную карту можно использовать даже несколько раз для разных сайтов и клиентов) или вообще высылать по почте.

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

к стати не понятно а что 9 части не будет? модераторы сделали возможность писать дальше тут?

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

Мне больше интересно, что там внутри. Он взял какую-то готовую либу или дергает внешний бинарь?

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

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

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

Неа. Я уверен, что там внутри какая-нибудь херня. Просто мне не настолько все это интересно, чтобы смотреть на твои каракули, ради которых надо еще что-то качать и ставить.

Вот тебе очередной минус графического программирования - не открыть в любом текстовом редакторе.

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

Вот тебе очередной минус графического программирования - не открыть в любом текстовом редакторе.

Недоступность лабвью (если ты не пират) - это минус лабвью, а не графического программирования как такового. Если б оно было опенсорсным и можно было что-то типа apt-get install labview, то этот аргумент был бы неактуальным.

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

после релиза автор вполне может сохранить анонимность как можно видеть на примере bitcoinа

Я бы больше читал да меньше трепался. Любая крипта сливает о пользователе больше инфы, чем самый дырявый банк на планете. Так что со своим BTC хоть в дёсна целуйся, но на анонимность не рассчитывай. Способов сопоставить адрес кошелька с физическим лицом очень много. Сомневаюсь, что ТС в курсе обо всех подводных камнях этого пути. Там хлопот столько, что крутись не крутись, но при использовании всё равно оформишься. И если чьё-то желание будет достаточно сильным, то он сопоставит индивидуума с 256-битным-или-сколько-там хэшем. Это не невозможно. А в общем случае, прибегая к социальной инженерии и повальному незнанию специфики криптовалют, даже и не сложно.

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

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

Всё, что средне-статистический анон может скрывать от GitHub – это свой IP при взаимодействии. Остальное и так публично в общем случае.

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

минус графического программирования

Недоступность лабвью (если ты не пират) - это минус лабвью

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

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

Короче есть платный кроссплатформенный Star UML и его свободная альтернатива под Windows – WhiteStartUML. И судя по всему это именно то, что @metaprog вообразил себе сделать.

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

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

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

Точно. А они тем пусть продолжают свою оргию в топе.

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

Это ж UML. Для проектирования БД или иерархии классов подходит хорошо, но можно ли так кодить?

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

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

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

Это ж UML. Для проектирования БД или иерархии классов подходит хорошо, но можно ли так кодить?

Трудно сказать, т.к. примеров я не нашёл. То что классы и структуры преобразуются в код и обратно – это да. А так же есть т.н. sequence diagram, которые собственно и представляют собой тело функции. Но у StarUML я не увидел чего-то похожего на то, что делает Altova UModel вот в этом примере (нужно нажать на «Adding code to sequence diagrams» слева, ссылка туда не ведёт, к сожалению).

kostyarin_ ()
Последнее исправление: kostyarin_ (всего исправлений: 1)

Аффтар, давай новую тему

Metaprog 9. А то впечатление, что развитие, кхм, метапрога остановилось

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

Потому что надо поставить тор или тор браузер.

Зацени линк без тор-баузера и без тора

http://e2tilsgo5s44hqmlwb4epwrjnh7ynvsckj2tl5duwdqbxg67chqpelad.onion.ws/file/adf078c.php

Onion.to походу с проблемами, поэтому не заработал. А может твой сервер слишком тормозной.

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

Все равно ты не запустишь скачанный файл без тора.

Понятно. Я просто хотел посмотреть. А чё значит «Upload File»? Типа можно залить туда 50Гб, чтобы уронить сервер?

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

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

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

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

В прошлом году специалисты Bitfury заявили, что могут раскрыть личности более 16% всех владельцев биткоин-адресов. А несколькими годами ранее группа разработчиков CryptoLux провела исследование анонимности транзакций в сети биткоина и доказала, что можно успешно деанонимизировать до 60% адресов. В своей работе они показали возможность привязки биткоин-счета к ip-адресам пользователей, даже если те пользуются сетью Tor или другими подобными программами.

Ref.: https://www.rbc.ru/crypto/news/5d0b544c9a794722cc4524e3

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

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

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

60% а уж тем более 16% это очень даже неплохой рельзультат. главное с умом подойти, изучить вопрос. во всяком случае это в миллионы раз лучше поганых банкиров которые вообще что хотят могут делать с твоими деньгами (собственно они уже не совсем твои если ты их им отдал), к примеру: https://iz.ru/888169/natalia-ilina/vkladoiskateli-banki-nashli-novuiu-prichin...

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

публичность транзакций компенсируется же анонимностью владельца кошелька и по сути мы имеем всего лишь информацию о том что набор цифр (номер аккаунта) n1 перевёл amount x набору цифр n2.

вот с выводом как обстоят дела? какие есть анонимные способы вывода оттуда?

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

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

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

Нет.

«не открыть в любом текстовом редакторе» != «Недоступность лабвью»

Возможность открыть файл в любом текстовом редакторе означает в первую очередь прозрачность его содержимого. В двоичный формат можно напихать всё, что угодно, начиная от забытой несжатой картинки (которая просто съест место) и кончая патчем Бармина.

apt-get install metaprog лишь частично решит проблему. В этом случае нужна верификация самого метапрога (крайне затруднённая, если метапрог сам будет на графических диаграммах или на нечитаемом обфусцированном Си). В принципе, если формат будет полностью и однозначно описан в каком-то документе, то читалку может написать и кто-то ещё, хотя я бы такую важную работу на сторону не отдавал.

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

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

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

Мне больше интересно, что там внутри. Он взял какую-то готовую либу или дергает внешний бинарь?

Я, гм, исходников не видел, но в лабвью вполне могут быть какие-то готовые средства по работе с сокетами.

И в «метапроге самом-на-себе» это ведь ему всё придётся переписывать. :)

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

готовые средства по работе с сокетами

Ты думаешь, этот кловун сможет на лабвью сделать реализацию тора? Нет конечно. Максимум - ходит в локально запущенный тор как в прокси. Ну, это смотреть надо, но мне лень)

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

Ты как-то плохо читаешь. Он же сразу написал, что нужен запущенный Tor-browser, который поднимает локальный socks5-прокси. На tcp/9150, кажется. В socks5 соединения он наверняка оборачивает каким-нибудь готовым блоком. Задача не уникальная, так что наверняка есть уже готовые блоки.

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

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

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

а вам бабкам только бы позлорадствовать. успокойся, тётя ирина, выпей валерьянки, расслабься.

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

публичность транзакций компенсируется же анонимностью владельца кошелька и по сути мы имеем всего лишь информацию о том что набор цифр (номер аккаунта) n1 перевёл amount x набору цифр n2.

Совершенно верно. Анонимность биткоина зависит исключительно от умения ее соблюдать.

вот с выводом как обстоят дела? какие есть анонимные способы вывода оттуда?

Были бы битки - способы найдутся:)

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

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

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

Я тебя уже заждался в чатике. Или разработка Метапрога тебя не очень интересует и ты так и будешь только зрителем?

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

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

Windows 10 кишит зондами. Ладно, можно перейти на линукс, но даже процессоры (и Intel, и AMD) полны уязвимостей, в том числе еще не известных широкой общественности. Так и от компьютера придется отказаться.

GCC и Clang компилируют С/С++, будучи сами написанными на С/С++. Но им же как-то доверяют. Так же и с Метапрогом, только вместо машинного кода - Си (на первых порах).

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

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

Я, гм, исходников не видел, но в лабвью вполне могут быть какие-то готовые средства по работе с сокетами.

Там есть панель работы с TCP. Кстати, ты лабвью уже тыкал было дело, может у тебя завалялся лицензионный диск от него? Что еще кроме копирастии мешает тебе поставить Лабвью и присоединиться к разработке Метапрога?

И в «метапроге самом-на-себе» это ведь ему всё придётся переписывать. :)

Ну так для чего я по-твоему захотел выложить прототип?

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

В socks5 соединения он наверняка оборачивает каким-нибудь готовым блоком

В Лабвью нет блоков для socks5. Пришлось покурить RFC, чтобы сделать нужные блоки (они есть в исходниках чата). А ведь не пришлось бы, если б Лабвью было распространено как Си и на нем было много готового опенсорсного кода.

metaprog ()
Ограничение на отправку комментариев: