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 (всего исправлений: 7)
Ответ на: комментарий от arturianec100

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

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

Если @iluha16 напишет код и передаст его заказчику, заказчик сможет сказать, что это он сам сделал, и платить не за что, потому что работа не производилась.

Если @iluha16 выкопает погреб и передаст его заказчику, заказчик сможет сказать, что это он сам сделал, и платить не за что, потому что работа не производилась.

Вывод: необходимо ввести закон об авторских правах на ямы

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

Так в сектах доказывают существование сил бога которые на тебя влияют.

а я всё думал что же мне напоминает его писанина

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

Ну яма это ж ведь произведение искусства, может и под авторские права подпадать:)

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

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

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

Да оставь ты его в покое, видно что, что он олигофрен, как недопрог и котечка. Что ты ему пытаешься доказать? У него отсутствует логическое мышление.

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

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

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

Ну да, домохозяйка и есть. Или школьник. Или школьник-домохозяйка.

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

Что ты ему пытаешься доказать?

Всё пытался показать несостоятельность его призывов, и вообще внутреннее противоречие. Тщетно.

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

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

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

Ну точно как бабка на лавке говоришь.

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

Когда @iluha16 начинает нести, то его уже не остановить. Он не читает ответы. Просто можно продолжать настаивать на том, что раскопка ямы – это услуга. И по закону оказание услуги нужно доказать, что довольно просто. Если заказчик сам её выкопает, то деньги по договору всё равно получит копатель. Конечно но может от них отказаться на добровольной основе. А если глиняная табличка треснет, то тот писатель может, как минимум, получить в кабину, или стать рабом-глиномесом, или его просто выкинут нахрен, а может ничего не будет – на всё воля заказчика, и только его. И так до тех пор, пока его пукан окончательно не взорвётся. Боюсь, что это единственный из возможных итогов этой дискуссии.

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

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

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

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

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

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

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

Кстати, если не возражаешь, затам тебе вопрос, о сенсей)

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

https://github.com/pi-kvm/ustreamer/blob/master/src/logging.h#L74

SO говорит, что все сложно, но так было пять лет назад. Может, способ нашелся? https://stackoverflow.com/questions/25482031/inlining-of-vararg-functions

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

А как же

К тому же, я запрещаю тебе играть с маленькой Сьюзан Гейтс ниже по улице. Её семья это зло, потому, что они не верят в Свободу™

?

Ну M$, не уважают Столлмана и всё что было в отношении GitHub и прочего?..

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

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

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

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

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

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

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

Ещё, кстати, можно сначала писать в буфер, а потом одним вызовом write(2) писать в stdout. Насколько я помню, stdout это пайп, а записи меньше 4096 байт в пайп — атомарные. Если у тебя несколько потоков пишут логи, так ты сможешь избавиться от необходимости использовать лок.

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

В копирайте нет проблемы. Это просто авторство. Всё решает лицензия, а не копирайт. Вот например существует лицензия GPLv3. Которая гласит, грубо, что код можно использовать, но если улучишь – изволь делиться. И законы об интеллектуальной собственности в состоянии защитить GPL. Если их отменить, то суть GPL пропадёт.

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

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

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

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

Кстати, если я для себя дома допилю ядро линукс - мне его что, обязательно выкладывать, если соблюдать лицензию?))

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

гарантированно инлайнятся

Есть же __attribute__((always_inline)), я их всегда ставлю, когда точно знаю, что нужно инлайнить.

stdout это пайп, а записи меньше 4096 байт в пайп — атомарные

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

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

Можешь хоть на сервере юзать и норм.

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

Есть же __attribute__((always_inline)), я их всегда ставлю, когда точно знаю, что нужно инлайнить.

Интересно, что вчера youtube предложил мне посмотреть видео про сборку Linux clang’ом. Они там как раз упоминали, что always_inline — это не always inline.

В общем, я потыкал в свежие gcc и clang на https://gcc.godbolt.org/, и они не могут заинлайнить функции с переменным числом аргументов. А тебе точно нужно их инлайнить?

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

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

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

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

Кстати, если я для себя дома допилю ядро линукс - мне его что, обязательно выкладывать, если соблюдать лицензию?))

Вы можете улучшить существующий GPL-софт и продавать его. Например 1000 часов работы программистов продавать как свои. GPL не запрещает продажу (distibution). Это правило как раз для того, чтобы самые умные не забирали себе общий софт. А у себя дома Вы можете делать что хотите – для этого дом и есть.

Объясню на пальцах. Пишете Вы с iluha16 на пару Метапрог. Тратите годы жизни. Но он не дописан, но осталось дописать мало. Потом вы забрасываете проект и все. Я, i-rinat, и liksys открываем фирму, дописываем метапрог и продаём за большие деньги. Вы с iluha16 кусаете локти. Вы можете дописать Метапрог, но рынок уже в наших цепких руках, так что скорее всего вы с iluha16 будете работать на нас простыми программистами за небольшую плату и улучшать Метапрог для нас. Для нашего благополучия.

GPL как раз для того, чтобы такого не было. Если интеллектуальную собсвтеность отменить, то отменить и GPL.

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

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

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

Они там как раз упоминали, что always_inline — это не always inline

Мило. А в каких случаях?

А тебе точно нужно их инлайнить?

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

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

Ну так и с работой фрилансером через escrow. Там escrow в роли суда.

Ну если Вы нанимаете человека сделать себе движок для сайта, получаете рабочий движок, проверяете, движок отлично работает, платите. Потом фрилансер пропадает, движок форматирует диск, предварительно слив базу данных в сеть и накрывается. Что тогда сможет сделать escrow для Вас?

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

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

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

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

M$ скоммунистили так стек ТСР, насколько я знаю.

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

GPL как раз для того, чтобы такого не было. Если интеллектуальную собсвтеность отменить, то отменить и GPL.

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

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

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

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

о чём я писал этому яйцеголовому тыщу раз. трудовой договор и копирайт между собой не связаны.

Права на код принадлежат автору, если не оговорено иное. Об этом он говорил.

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

M$ скоммунистили так стек ТСР, насколько я знаю.

Много чего %)

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

Да, можно и на серверах его своих держать, лишь бы GPL была а не AGPL %)

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

Я, i-rinat, и liksys открываем фирму, дописываем метапрог и продаём за большие деньги.

Дык чего еще FreeBSD не допилили? Свободность это же плюс.

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