URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 122857
[ Назад ]

Исходное сообщение
"Wasmer 1.0, инструментарий для платформонезависимых приложений на базе WebAssembly"

Отправлено opennews , 06-Янв-21 17:15 
После двух лет разработки опубликован первый значительный выпуск проекта Wasmer, развивающего runtime для выполнения модулей WebAssembly. Из областей применения Wasmer отмечается создание универсальных приложений, способных выполняться в разных операционных системах, а также организация изолированного выполнения кода, не заслуживающего доверия. В том числе...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=54363


Содержание

Сообщения в этом обсуждении
"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Неважно , 06-Янв-21 17:15 
Electron 2.0

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено анонимит , 06-Янв-21 19:04 
Electron тянет JS jit со всеми побочными эффектами:), а это уже скомпилированный байт-код транслируемый в нативный. Это производительнее Python и JVM. В сети есть демо Doom3 для браузера.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Lex , 06-Янв-21 20:16 
Wasm-код обычно исполняется на базе js-движка ( васм, по сути, лишь надстройка к нему с доп. функционалом ).

И на базе того же JIT’а, который запилен в движке.

Доходит до того, что даже прирост скорости у васма в сравнении с жс гарантируется лишь на этапе первичного парсинга и то, тупо потому, что «текста» читать меньше.

Но всё-таки интересно, на базе какого движка реализовано исполнение васм-кода

п.с: почти все производительнее питона


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено анонимит , 06-Янв-21 20:58 
Пусть первый бросит в меня камень тот кто увидит там тормоза https://wasm.continuation-labs.com/d3demo/

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено BrainFucker , 06-Янв-21 22:07 
>  Пусть первый бросит в меня камень тот кто увидит там тормоза

Какой-то прогрессбар, ждать было лень, закрыл. Это они?


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено банан , 06-Янв-21 22:34 
Да, у меня стабильно 40-60 кадров в секунду на i7 10 поколения /16gb памяти / какая-то видеокарта.

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

А есть еще что-нибудь подобное? я бы потратил часок другой на диабло 2 или...


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Алеша , 08-Янв-21 10:31 
я подождал минут 10... он за это время продвинулся едва ли на 20%...

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 08-Янв-21 15:13 
Я прям вспомнил детство с играми на флеше, которые еле-еле загружались по диалапу

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено EuPhobos , 07-Янв-21 09:05 
В окне 640х480 на 20fps и жуткими лагами с видюхой GTX 1660 Ti, да.. совсем не тормозит. Да Nintendo Switch по сравнению с этим - кластерный супер компьютер.
Итак, куда кидать камень?

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено nekto , 07-Янв-21 11:37 
>Итак, куда кидать камень?

Вы не пониматете. "Это другое" (c)


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 14:23 
У меня выдает 58-63fps. Ниже 58 не падает, а судя по тому что больше 63 даже в меню не выдает, то это лок.
Железо:
Процессор: i3 8100
Видеокарта: Geforce 1660 6gb
Память: ddr4 16gb
ПО:
ОС: Windows 10 x64
Браузер: Google Chrome 87.0.4280.88

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Alexander Belov , 07-Янв-21 16:06 
у вас не включилось аппаратное ускорение в браузере, у меня с бомж телефона за 9 к руб 60 фпс выдает и также на стационаре

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 13:02 
На Firefox фризы звука и 10 fps на не совсем древнем железе

"Wasmer 1.0, п╦п╫я│я┌я─я┐п╪п╣п╫я┌п╟я─п╦п╧ п╢п╩я▐ п©п╩п╟я┌я└п╬я─п╪п╬п╫п╣п╥п╟п╡п╦я│п╦п╪я▀я┘ п©я─п╦п╩п╬п╤п╣п╫..."
Отправлено пяяяп , 09-Янв-21 12:59 
я┐ п╪п╣п╫я▐ п╥п╟ 7п╪п╦п╫я┐я┌ п╥п╟пЁя─я┐п╥п╦п╩п╟я│я▄ п╦ п©я─п╦ я█я┌п╬п╪ я│п╨п╬я─п╬я│я┌я▄ я┐ п╪п╣п╫я▐ 1п╪п╠=1000п╨п╠

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено КФр , 14-Янв-21 21:13 
У меня только 3 строчки текста на черном фоне показывает.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено анонимит , 06-Янв-21 21:00 
https://github.com/gabrielcuvillier/d3wasm код порта на WebAssembly тут

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено ilyafedin , 06-Янв-21 22:27 
У Wasmer и других wasm-рантаймов для исполнения вне браузера не используется JS от слова совсем

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Lex , 08-Янв-21 10:34 
> У Wasmer и других wasm-рантаймов для исполнения вне браузера не используется JS
> от слова совсем

Речь о том, что нередко для исполнения васм-кода в проектах используют исходники какого-нить опенсорсного жс-движка ( от хромого или сафари например )

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


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Неважно , 07-Янв-21 04:59 
Туфта это все пардон за грубость, но уже был NaCL(тип машинный код) и PNaCL(тип байткод)... оба тормозили еще 8 лет назад

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 08-Янв-21 03:17 
Вы видать что-то не так поняли или прочитали по диагонали-через-слово. То, что Вы перечислили, было песочницами в браузере. Здесь браузеров нет. Этот рантайм "без внешних зависимостей". Тут больше подошло бы сравнение с JDK. Пускалка прямо в операционках, в песочнице-контейнере, программок на вебассембли. Но еще позволяется не только вебассемблерный биткод запускать, но и используя дополнительный инструментарий компилировать в машинный код, который также каким-то макаром будет выполняться в урезанном sandbox-окружении. Пример Вы привели вообще из какой-то другой оперы.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Lex , 09-Янв-21 15:03 
> Вы видать что-то не так поняли или прочитали по диагонали-через-слово. То, что
> Вы перечислили, было песочницами в браузере. Здесь браузеров нет. Этот рантайм
> "без внешних зависимостей". Тут больше подошло бы сравнение с JDK. Пускалка
> прямо в операционках, в песочнице-контейнере, программок на вебассембли. Но еще позволяется
> не только вебассемблерный биткод запускать, но и используя дополнительный инструментарий
> компилировать в машинный код, который также каким-то макаром будет выполняться в
> урезанном sandbox-окружении. Пример Вы привели вообще из какой-то другой оперы.

Проблема там была не в песочницах и тормозах, а в крайне серьезной( фундаментальной ) дырявости.
Васм-код не компилится в машинный иначе как посредством JITа, сам васм-код является конечным этапом компиляции под веб( любой ЯП -(компилер с llvm)-> LLVM IR -(emscripten, преобразует IR в WASM)-> WASM )

Другое дело, что LLVM IR-код очень даже полноценно компилится, поскольку является продуктом промежуточного этапа компиляции и код этот получается от практически чего угодно, к чему прикручен компилятор на базе LLVM.

Так что мешает непосредственно исполнять LLVM-байткод вместо преобразования его к васм-коду, если речь о запуске вне браузера ?) ( васма, который именно конечный этап компиляции не_жс_кода именно под браузеры )

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

Неужто господа в этот раз и конкретно для этого проекта сами запилили полноценный васм-движок с песочницами и проч, не основанный на опенсорсных жс-движках( вроде сафариевого или хромого ) которые в т.ч поддерживали васм ?

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


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 10-Янв-21 01:33 
> Васм-код не компилится в машинный иначе как посредством JITа, сам васм-код является конечным этапом компиляции под веб( любой ЯП -(компилер с llvm)-> LLVM IR -(emscripten, преобразует IR в WASM)-> WASM )

Да прочти ты уже новость полностью! Вот тебе кусок, какое слово непонятно?
"
Из особенностей Wasmer 1.0 называется:
...
    Native Object Engine, позволяющий генерировать для WebAssembly-модуля машинный код для заданных систем ("wasmer compile --native" для генерации предкомпилированных объектных файлов .so, .dylib и .dll). Для запуска предкомпилированного кода требуется минимальный runtime, но сохраняются все возможности sandbox-изоляции.
"


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Lex , 10-Янв-21 14:29 
> Да прочти ты уже новость полностью! Вот тебе кусок, какое слово непонятно?
> "
> Из особенностей Wasmer 1.0 называется:
> ...
>     Native Object Engine, позволяющий генерировать для WebAssembly-модуля машинный
> код для заданных систем ("wasmer compile --native" для генерации предкомпилированных объектных
> файлов .so, .dylib и .dll). Для запуска предкомпилированного кода требуется минимальный
> runtime, но сохраняются все возможности sandbox-изоляции.
> "

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

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

Сами "нативные" модули - это именно полностью скомпиленный под конкретную архитектуру проект или однофайловый модуль/бандл, состоящий из скомпиленного под архитектуру урезанного рантайма для запуска васм-кода и васм-байткода проекта, который посредством того рантайма и запускается ?

Самое забавное, что, ни в статьях васмера, ни в доках, ответов на эти вроде бы простейшие вопросы НЕТ.
Даже сам факт генерации т.н "нативных объектов" в доках упоминается лишь мельком - одна строка описания аргументов к команде "wasmer compile":
"--native - Use Native Engine"


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 10-Янв-21 19:17 
> А теперь - сам еще раз прочти( в т.ч в оригинале на медиуме )

Прочел сразу, все там понятно написано.

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

Не приписывай мне твоих рассуждений за меня, никто не утверждал, что нативные файлы из исходников получаются. В новости ясно сказано (и в оригинальной и в переведенной), что они генерируются из васм-файлов. А вот васм-файлы из исходников. Я опровергал другое твое утверждение, что васм-код - это "финальная" стадия работы васмера. Нет, не финальная. Они там писали, что берут васм-файл и из него делают нативный предкомпилированный объектник (so,dll...), загнанный в ограничения песочницы.

>Сами "нативные" модули - это именно полностью скомпиленный под конкретную архитектуру проект или однофайловый модуль/бандл, состоящий из скомпиленного под архитектуру урезанного рантайма для запуска васм-кода и васм-байткода проекта, который посредством того рантайма и запускается ?

Не под не просто "под конкретную архитектуру", а еще и с поддержкой урезанного рантайма/песочницы. И пишут тебе ясно что это "precompiled native objects". И дальше черным по белому "Eliminated compilation time allows direct execution of the artifact at blazing-fast startup times.". Там больше ничего не компилируется, никаким JIT-ом.

Тебе вообще в новости однозначно написано:
"
Wasmer 1.0 supports the following compiler engines:

* JIT engine: it pushes generated code directly into memory.
* Native engine: it generates native code that can be loaded as a shared object. As a bonus, native engine shared objects and modules are incredibly performant and startup in just a few microseconds!
"
Прямо и конкретно написано. Иначе бы во втором случае это был бы тоже "JIT engine", не отличающийся от первого пункта.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Lex , 11-Янв-21 18:26 
Так я и спрашиваю - нативный код генерируется из исходников как продукт LLVM-компилятора или из "пережеванного" для интерпретатора васм-кода( поскольку второй вариант - на грани абсурда ) ?

Где КОНКРЕТНО сказано, что компиляется в нативный код ИМЕННО васм-код, а не LLVM IR ?
Покажи то место хоть в новости хоть в доках сабжа, где это конкретно говорится, а не просто мельком "ну эээ и еще мы можем генерировать 'нативные' модули[неведомо из чего]"

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

Да, там можно подключить джит, можно - генерацию 'нативных объектов', а можно - на все это положить и исполнять код в интерпретаторе без джита, что сабж изначально и предлагает


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 10:54 
Плохой пример. Doom3 работал на третепне.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Dzen Python , 06-Янв-21 19:06 
Не. Электрон Next.
Для тех, у кого недостаточно веб-приложений вместо нормального кода.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 21:23 
Чё?

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Неважно , 07-Янв-21 05:01 
Двойное отрицание

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 05:00 
ток рантайм супер легкий https://github.com/wasm3/wasm3

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Неважно , 07-Янв-21 07:27 
Жирнющий NaCL/PNaCL тоби напомнить???

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Lex , 09-Янв-21 15:05 
> ток рантайм супер легкий https://github.com/wasm3/wasm3

"∼ 4-5x slower than state of the art wasm JIT engines"
"∼ 12x slower than native execution"

Легкость - это, конечно, здорово, но тем не менее..


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 17:16 
> способных выполняться в разных операционных системах, а также организация изолированного выполнения кода, не заслуживающего доверия

Кажется, что-то такое уже было... Где-то 24 года назад... Хм... Java, если не ошибаюсь?


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Alladin , 06-Янв-21 17:32 
Вы про джава апплеты? Ну было, ну не взлетело. Использование их было туманно, а флеш завоевал всех.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 18:09 
Нет. Просто джава. Взлетело и работает до сих пор.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 23:21 
Много ли программ на java? Их же нет почти

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено topin89 , 07-Янв-21 03:05 
Не скажи это владельцам андроидфонов.

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

Сколько корпоративных FizzBuzzEnterprizeEdition'ов наплодилось сложно даже представить. На кворе находил ответ, что чертов высокочастотный трейдинг (High Frequency Trading) какая-то контора писала на C-подобной Java просто потому, что там ловить ошибки проще. И это даже работало. Банки на джаве пишут свои сервисы.

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


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Д1110ма , 07-Янв-21 19:51 
В своей жизни.обычного пользователя таких ерограмм, кроме жрущих ресурсы IDE, почти не встречаю.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 10-Янв-21 13:59 
Ахахаха, а в твоем телефоне на чем софт? Или ты iphone используешь? Чтоб ты понимал, почти все крупные онлайн сервисы-сайты - это Java, даже если их бэкэнд написан на php или еще чем-то, то на других слоях они все равно используют Java при интеграции с другими сервисами, разруливании потоков данных, трансформации и прочего. Почти весь интернет-банкинг - Java, документооборот в гос. и коммерческих структурах - Java. Когда ты кнопочки на сайтах кликаешь дальше все это летит к программам на Java.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 05:18 
это вы про *.jnlp ? которые практически все браузеры блочат кроме firefox & )

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено proninyaroslav , 06-Янв-21 17:34 
Ага, только вот ни о какой изоляции кода тогда и речи не было... Может, путём ошибок когда нибудь получится достойная технология.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 18:11 
Да откуда вы такие беретесь то... тысячи фреймворков. Набери в гугле "java isolation" или "JSR-121" и выбирай любой, на свой вкус и цвет.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Анон Анонов , 06-Янв-21 19:36 
Этот фреймворк решает другие задачи, но похожие. Самое главное отличие wasm от вашей java это то, что wasm это открытый стандарт, лишённый любых лицензионных претензий. Также он запускается в браузере, для его работы не нужно тянуть внешнюю часть, например jre. Отсюда и вывод, что описанный в топике фреймворк позволяет запускать один и тот же код и в браузере, и в разных операционках. Это снижает затраты на поддержку и не так требовательно к ресурсам как электрон.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено topin89 , 07-Янв-21 03:15 
> Этот фреймворк решает другие задачи, но похожие

Java решала простую задачу: один раз скопилировал -- и везде запускается. Wasmer решает (вроде как) ту же самую задачу, только под капотом движки JavaScript, не Java. Хорошо это или плохо да чёрт его знает.

> Самое главное отличие wasm от вашей java это то, что wasm это открытый стандарт, лишённый любых лицензионных претензий.

Тут согласен.

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

Чё? Для его работы нужно тянуть браузер, что побольше jre будет. ОК, преувеличение, но это всё равно не нативная прога, какой-то runtime для компиляции и запуска всё равно нужен.

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

Чё? В смысле, для библиотек ещё может быть (N.B.: я не знаю, есть ли библиотеки для WASM. Если знаете наверняка, отпишите в ответе, чтоб я и все остальные знали). Но как можно запустить консольные программы в браузере?

> Это снижает затраты на поддержку и не так требовательно к ресурсам как электрон.

Чё? Опять же, для консолек наверняка будет меньше требований, но для GUI или не будет возможности, или будет ровно тот же электрон или там WebRenderer. Возможно, как-то можно подключить Qt или там WxWidgets, но зачем?

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


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 10-Янв-21 14:03 
Я осторожно предположу (т.к. не до конца в теме), что главное отличии все же в том, что в wasm нет тормозного сборщика мусора, как в Java. Уж сколько в последний версиях Java новых сборщиков мусора появлялось, как тормозили, так и тормозят. А еще в отличии от Java это все же скорее native код в итоге, тогда как Java Это все же больше байт-код, не смотря на то что оно пытается делать JIT.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 18:52 
>Самое главное отличие wasm от вашей java это то, что wasm это открытый стандарт,
>лишённый любых лицензионных претензий.

Java давно уже открытый стандарт, только Google решил украсть Java в те в далёкие времена, когда OpenJDK ещё не существовало.

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

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

Все ждали, что WASM станет полноценной платформой, на которой можно делать универсальные Web-приложения на любом языке. А получили тормозную песочницу контролируемую JS-кодом на которой нужно обязательно писать в стиле микросервисов ибо динамическую линковку в общую память не шмогли. А монолиты врезаются в ограничения на компиляцию больших бинарников. Данный фреймворк это попытка пропихнуть этот шит вместо нормальных способов изоляции операционных систем, что то вроде Docker только в пару раз медленнее. Ненужно в квадрате.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 23:22 
Из java можно всё что угодно делать с ос. Они не изолированные

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 10-Янв-21 14:04 
Системные функции ты вызовешь только если сделаешь привязку C/C++ бибилиотеки к Java программе. Что в целом и делают те же программы Chrome и Firefox под Android, используя Java как прослойку и для рисования UI.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 17:17 
curl что-то | sh

/o\


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 17:19 
За такое нужно бить мору ещё на подлёте. Проект, пропагандирующий такое - не достоин и секунды внимания, можно закапывать прямо на версии 1.0.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 17:40 
У раста если не ошибаюсь то же что-то такое.
Приходится смотреть что он там делает и устанавливает, может же вообще в системные настройки залезть.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 18:12 
Чем это отличается от apt install что-то-там; ./что-то-там? Правильно - ничем.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Dzen Python , 06-Янв-21 19:13 
Ну...даже не знаю. Если для человека эти две команды сродни магическому заклинанию, то да - ничем.
А так - собрано именно для твоей системы уважаемыми менйтнейнерами, отвечающими пятой точкой за отсутствие вредоноса, передающееся из доверенного хранилища с организованной повторяемой сборкой?
Блин, дали им нормальные инструменты пакаджинга и управления софтом, нет, не хочу, хочу фекалии кушать: хочу качать курлом с сайта разраба (даже не тарбол с исходниками, а выполняемый код с инстоллером, как в самой худшей части проприентари), ставить куда придется (хорошо, если в /opt, а то отдельные одаренные софт и в ~ ставят, а другие - размазывают по ФС так, что потом чистить только вилкой), а потом ныть, что все вокруг виноваты с проблемами.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Тот_Самый_Анонимус , 06-Янв-21 19:37 
>уважаемыми менйтнейнерами

Кем уважаемыми?

>отвечающими пятой точкой за отсутствие вредоноса

Перед кем отвечающие?

>пакаджинга

Что этинг?


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Dzen Python , 06-Янв-21 19:45 
- Сообществом. Конкретными людьми. Как показала практика, это более устойчивая система, чем "анонимный работник из компании, которая ни перед кем ничем не отвечает, читайте еула"
- Перед сообществом. Перед конкретными людьми.
- Нью компьютериш пиджин. Энджой.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 19:53 
О боже, какая наивность.

Я в войд новый проект коммитил - никто код не проверял, из которого это собирается. Только указали на ошибки при сборке и все. Если ты не из топ-100 проектов, то всем пофиг.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Dzen Python , 06-Янв-21 20:01 
Ну не знаю за ваши хипстерские дистры, мою отколупку когда включали в анстейбл (анстейбл!) дебиана действительно смотрели. И даже был всплеск багрепортов, но тогда из-за учебы я не успел выложить исправленную и от них прилетела пуллом уже вполне правленная ветка с патчами. И сейчас по старой памяти мне пишут, когда находят чего интересного, хотя я уже не разраб давно.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 20:31 
Хорошо, одно репо одного из 800 дистрибутитвов проверяет. Ура.
Что делать с остальными?

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 20:36 
Это уже о многом говорит. Если одно репо проверяет - то этого уже достаточно, чтобы поднять кипиш при обнаружении малвари и/или бэкдоров, будут накатаны новости (да, на тот же опеннет попадёт) и мейнтейнеры других дистров либо быстренько устроят экстерминатус, либо (кто ещё не добавил) развернут на подлёте.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 20:37 
Гитхаб проекта открыт - иди читай, репорти. В чем отличие?

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 20:36 
[удален]

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Тот_Самый_Анонимус , 06-Янв-21 20:26 
>Сообществом.

Когда отвечаешь перед всеми — не отвечаешь ни перед кем.

Как «сообщество» повлияло на подмену пакета ОО на ЛО в убунте и дебиане? А никак. Схавали.

>Как показала практика, это более устойчивая система, чем "анонимный работник из компании, которая ни перед кем ничем не отвечает, читайте еула"

Ну и как это помогло конкретной подмене?

>Нью компьютериш пиджин. Энджой.

Это вы в своём кружке так говорите.


Вы слишком наивны. Вы либо молоды, либо не повзрослели.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Dzen Python , 06-Янв-21 21:14 
> Когда отвечаешь перед всеми — не отвечаешь ни перед кем.

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

> Как «сообщество» повлияло на подмену пакета ОО на ЛО в убунте и дебиане? А никак. Схавали.

Никак. ЕМНИП, оно еще и анонсировалось, и потом люди сами, в сквизи своими руками из бэкпортов ставили. Видоть любят люди, когда уже полуразложившееся форком заменяют.

> Это вы в своём кружке так говорите.

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

> Вы слишком наивны. Вы либо молоды, либо не повзрослели.

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


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноньимъ , 09-Янв-21 06:14 
В чём конкретно ответсвенность заключается?
Сколько десятков тысяч долларов заплатит уважаемый мейнтейнер если пропустит вредонос? Или там тюремные сроки?

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 19:52 
Эммммм, ты реально предлагаешь разрабам регистрироваться, месяцами ждать апрувов и готовить отдельные пакеты своей апликухи для всех 100500 дистрибутивов? Или слезно умолять всех этих "уважаемых мейнтейнеров" потратить свое время на включение проекта в их репы? А апликуху когда писать?

Я уже как-то пытался один васянопроект в разные дистрибутивы пропихнуть. Решил что ну его нафиг с таким геморроем, кому будет надо - тот сам подключит и будет сапортить, если ему надо. Ограничился билдсервером опенсюзи на десяток линухов и линкой "вот тут бинари, если вам повезло, а вообще мейк; мейк инсталл/мейк анинисталл".


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Dzen Python , 06-Янв-21 20:04 
Я вот не регистрировался. За меня это сделали мои юзвери с дебиана (см.выше). Один из них сейчас его и мейнтейнит. Я лишь принмал репорты и правил по мере сил. Ну и да, самое страшное, что сделал - с NO LICENSE на GPLv3 поменял. Все.
Все, что делал я сам, как разраб - запиливал пкгбилд в ауре. Потом консультировал другого юзера, что пихать в зависимости и что поправить для новых версий либ.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 20:32 
Ну вот и сделай это для ребят и васмера, раз знаешь как и могешь.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Dzen Python , 06-Янв-21 21:04 
Зачем?
Я концептуально не поддерживаю этот проект. Причины - внизу, в двух постах.
Кто поддерживает, кому он интересен - пусть пилят, включают и мейнтейнят.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 21:11 
Тогда какие претензии?

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноньимъ , 09-Янв-21 06:20 
Разве в дебиане повторяемая сборка?

Загуглил, вики дебиана заявляет:
>Reproducible builds of Debian as a whole is still not a reality, though individual reproducible builds of packages are possible


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Роман , 06-Янв-21 23:24 
валидацией же
https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-b.../

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено topin89 , 07-Янв-21 03:47 
Казалось бы, АН НЕТ!

Это действительно не отличимо от

 ./configure ; make ; make install 

но отличимо уже от

 ./configure ; make ; checkinstall 

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

 dpkg -i 

мы знаем, что прога будет заведена как прога, с зависимостями и версиями, а не просто как непойми что в ~/.appname/bin в PATH.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Ordu , 07-Янв-21 04:36 
> но отличимо уже от
>
 ./configure ; make ; checkinstall 

Нет, не отличимо. Что там внутре configure, ты смотрел? Там произвольный shell-код на десятки тысяч строк, который ты скачал и запустил. Даже если тебе повезло и этот код сгенерён autotools'ами (обычно предполагается что это именно так), то он всё равно может содержать произвольный шелл-код от авторов configure.in. Точно так же Makefile'ы могут содержать произвольный шелл-код.

> В первом случае у нас непонятный скрипт который делает неизвестно что. Во втором случае у нас скрипт, который делает неизвестно какой установочный пакет. Разница вроде бы неотличима, но намерение видно явно, и это очень важно.

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

> мы знаем, что прога будет заведена как прога, с зависимостями и версиями, а не просто как непойми что в ~/.appname/bin в PATH.

Мы не знаем, а надеемся на это. Как правило надежды оправдываются. Но точно мои надежды получить рабочую программу ни разу не обламывались, когда я следовал инструкциями вида curl "$url" | sh.

При этом вариант с ~/.appname мне больше нравится, чем всякие пакетные менагеры, потому что анинсталл затем выполняется при помощи rm -r. Единственное чего не хватает, это какого-то способа собирать из ~/.bashrc все дополнения к PATH автоматически, чтобы после rm -r, они так же автоматически переставали собираться.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено OpenEcho , 06-Янв-21 19:57 
> За такое нужно бить мору ещё на подлёте.

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


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Ordu , 06-Янв-21 21:30 
Да. Но прикинь, некоторые предлагают делать так:

wget бла-бла-бла
tar zxf бла-бла-бла
cd бла-бла-бла
./configure

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


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено topin89 , 07-Янв-21 03:52 
Отвечаю.

1. На ./configure ни черта не заканчивается. И делать make install действительно неправильно. Правильно делать checkinstall и прописывать зависимости.

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

dpkg -i package.deb --force-not-root --root=$HOME

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


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 11:07 
autoreconf -i забыл.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 08-Янв-21 15:22 
В приличном обществе архив от make dist выкладывают, которому автореконф не надо (если конечно добровольно использующих автотулсы можно считать приличным обществом)

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Анонимъ , 06-Янв-21 17:35 
А чем sh плох в качестве тестируемой машиночитаемой инструкции по установке? Не все ведь умеют читать на естественных языках.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено OpenEcho , 06-Янв-21 20:05 
> А чем sh плох в качестве тестируемой машиночитаемой инструкции по установке?

Спросите тех, кто застал времена DOS, Win 3.11 & Windows 95 и то как все устанавливалось на доверии или точнее сказать любви к халяве и какой разгул вирусни процветал в стане Винды.
Страшно не curl blabla | sh само по себе а желание людей наcтупать на одни и те же грабли и не xрeна не учась на ошибках


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 17:51 
Это так сейчас везде. Вон пару лет назад было обсуждение с примером, как можно подсовывать что-то иное, если код скармливается в баш, и раздавать нормальный файл, если нет.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 23:46 
> curl что-то | sh

sudo забыл. И обычно там bash, хипстота sh не осиливает.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено topin89 , 07-Янв-21 03:54 
Не стоит наговаривать всё же. Ставиться для отдельного пользователя, в ~/.wasmer/bin, PATH правится в ~/.bashrc. Это тоже неправильно, но sudo не нужен.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Gogi , 06-Янв-21 17:35 
Я всё ещё не въезжаю, зачем изобретать тысячу раз одно и то же колесо.

Была Жаба. Просp@ла все полимеры, жалко влачится на инерции абстрактных "серверных приложений". Но концепция вполне разумна: псевдокод + модули.

MS выкатили "перелопаченную Жабу", назвали .NET; почти то же самое, но заточенное под Венду по самые бакенбарды. Дошло до смешного, что декларативный(!!) WPF не смогли портировать на Linux. Тем не менее, технология стандартизирована в ECMA и доступна ВСЕМ и БЕСПЛАТНО.

И опять какие-то 3адроты решили блеснуть амбициями и заново "придумали" псевдокод. Вообще что-ли заняться нечем?!! Когда программы писать будете?!


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Gogi , 06-Янв-21 17:39 
> Код проекта написан на языке Rust

Сразу НЕТ!


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 17:52 
Крутой же язык.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 18:39 
> Бесполезный же язык.

Исправил.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 11:09 
.Net

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 17:45 
Соглы, вот глупые люди, сидят книжки читают, пытаются что-то делать. А надо на opennet сидеть и писать, вот это дело, не то что изобретение колёс.

Ну а по сабжу: если бы не переизобретали вещи, ты бы подтирался лопухом в лесу и ездил на повозке с каменными колёсами.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Гимли , 06-Янв-21 18:12 
> ты бы подтирался лопухом в лесу и ездил на повозке с каменными колёсами

Ну если медицина останется на уровне, то я только ЗА такой эколайфстайл.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Dzen Python , 06-Янв-21 19:17 
Ну...нет.
Скорее наооборот. Из-за переизобретателей велосипедов без особых причин (причина NIH - не в счет) как раз и сидим рядом с монументальными и с жалким одновременно.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Гимли , 06-Янв-21 18:10 
> назвали .NET; почти то же самое, но заточенное под Венду по самые бакенбарды

Уже не только под окошки.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено OpenEcho , 06-Янв-21 20:14 
> Я всё ещё не въезжаю...

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

> И опять какие-то 3адроты решили блеснуть амбициями и заново "придумали" псевдокод.

Эти "зaдрoты", как вы их назвали, правят миром, и чем вкусней и пахучей подсунут халявный сыр, тем быстрее будут править мышеловками, в отличие от конкурентов, которые сбагривают прогнивший сыр


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 20:24 
Not invented here.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Михаил , 07-Янв-21 13:04 
Какой декларативный WPF? Это всего лишь технология для создания приложения. И она напрямую связана с экосистемой Windows. Сам C#, пожалуйста, сколько угодно на любой платформе. А сам Майкрософт сейчас делает кроссплатформенный MAUI. Ну и Avalonia UI есть на данный момент.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Gogi , 06-Янв-21 17:41 
API ВАСИ :)) Ребят, если б вы знали, сколько клоунов до вас пыталось завернуть "все платформы под один API"! Увы, только посмешили народ и свалили с позором.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено ASIC , 06-Янв-21 18:06 
Сама технология WebAssembly довольно интересна. Мне кажется в комментариях идет неправильное сравнение с  Java .Net поскольку цели разные.  WebAssembly скорее всего  нужно сравнивать с  Flash, Silverlight i аплетов. Цель WebAssembly изначально помочь в независимости кода и языка. В данный момент есть только 1 язык программирования который работает в браузерах и это  Java Script.
WebAssembly меняет  это и позволяет разработчиками использовать/компилировать существующий код (C /С++ , rust) через LLVM и напрямую использовать его в браузер особенно там где Java Script не справляется из за недостатках в скорости.  WebAssembly не разрабатывается одной компанией у который одни цели как это было с Flash, Silverligh а группой компании, что дает многие преимущества.
Тут должно идти сравнение с Java Script а не с Java.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 18:15 
Что ты хочешь от мамкиных анонимов? Они, например, в каждой теме вопят, что wasm не читабельный, поэтому через него попрут тысячи троянов. Каждый раз им тыкают asm.js в морду. И каждый раз они ни на чем не учатся и продолжают нести ахинею.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Здрасьте , 06-Янв-21 18:47 
asm.js и webasm это совсем разные вещи.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 20:33 
Майнить можно и там и там. И там и там ты не поймешь по коду, что оно делает.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 19:29 
Да, из asm.js можно вызывать произвольный API, а из wasm только разрешённый яваскриптом. Ещё весь wasm-бинарник должен быть скомпилирован перед запуском, а asm.js может компилировать отдельные функции по необходимости. На этом отличия заканчиваются. Mozilla молодцы, не дали протащить полноценные бинарники в стандарт.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено анонимит , 06-Янв-21 19:08 
А он и не является безопасным. Можно даже из браузера крипту майнить как некоторые и делают.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено ASIC , 06-Янв-21 19:56 
А что Java Scipt безопастный и в нем нелзья  крипту майнить  ?

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено анонимит , 06-Янв-21 20:57 
Под JS ме-д-ле-н-нее

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 00:05 
wasm не читабельный, поэтому через него попрут тысячи троянов.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 11:10 
Трояны не попрут. Попрёт DRM для сайтов.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Михаил , 07-Янв-21 13:11 
Тоже зловред, только более мерзкий.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 15:23 
>Java Script

А можно по-подробнее, что это за язык такой?


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено nelson , 06-Янв-21 18:31 
> В данный момент есть только 1 язык программирования который работает в браузерах и это  Java Script.

Да, какое "упущение". Но теперь-то "заживём" - пользователю будут прилетать не только жаба-скрипты, но также и всякое скомпилированное дерьмо.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 18:46 
> Но теперь-то "заживём" - пользователю будут прилетать не только жаба-скрипты, но также и всякое скомпилированное дерьмо.

Вооооооооот. Подъехал первый мамкин знакток. А я только что написал, буквально 15 минут назад: "Они, например, в каждой теме вопят, что wasm не читабельный, поэтому через него попрут тысячи троянов. Каждый раз им тыкают asm.js в морду. И каждый раз они ни на чем не учатся и продолжают нести ахинею."

Ну давай, мамкин знаток, прочитай и объясни этот ни разу не скомпилированный джаваскрипт (из боевого проекта, между прочим):

function Tb(a) {
    a = a | 0;
    var b = 0;
    b = l;
    l = l + a | 0;
    l = l + 15 & -16;
    return b | 0
}

function Ub() {
    return l | 0
}

function Vb(a) {
    a = a | 0;
    l = a
}

function Wb(a, b) {
    a = a | 0;
    b = b | 0;
    l = a;
    m = b
}

function Xb(a, b) {
    a = a | 0;
    b = b | 0;
    if (!p) {
        p = a;
        q = b
    }
}

function Yb() {
    return
}

function Zb(a) {
    a = a | 0;
    var b = 0,
        d = 0;
    a: do
        if ((a | 0) == 566) d = 0;
        else {
            b = 0;
            while (1) {
                if (a & 3 | 0) break;
                a = c[a + 8 >> 2] | 0;
                b = b + 1 | 0;
                if ((a | 0) == 566) {
                    d = b;
                    break a
                }
            }
            Ca(n + 63 | 0, n + 138 | 0, 1583, n + 149 | 0)
        }
    while (0);
    return d | 0
}


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Dzen Python , 06-Янв-21 19:38 
> Глобалки l, m, p, q и с, с соответствующим гнилым кодом в функциях
> Играемся с битовыми операциями: вместо нормального приведения типов у нас пустое "| 0" преде любым использованием, говорящее нам "У НАС ТУТ ЧИСЛО, ИНТЕРПЕРТАТОР!"
> Забытый мусорный Yb()
> if ((a | 0) == 566) d = 0; // ГЕНИАЛЬНО! ВСЯ МОЩЬ ДЖАВАСКРИПТА В ОДНОМ СРАВНЕНИИ
> Е-е-е, самый сложный участок кода, мы флексим сдвигом по элементам глобального массива.

Контекст с глобальными привел бы, для приличия. Код примерно на 2/10


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 20:00 
Это автосгенерированный с помощью emscripten на основании чистого C кода javascript. Самый натуральный и обычный javascript, который выполняется даже на супердревних машинах и браузерах (даже на древних мобилах, проверено). Совершенно нечитаемый, само собой, хотя поддерживаемый всеми браузерами, майнер.

Приводится в пример мамкиным икспердам, которые думают, что javascript - это function please_send_me_a_money() { alert('Please, send me a money'); /* My Name Is Vasia and my address is Tomsk, ul. Lenina, 37/122 */ } и кричат "wasm не читабелен, через него придут трояны".

Предлагаю ознакомиться с темой поближе: https://ru.wikipedia.org/wiki/Asm.js


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Dzen Python , 06-Янв-21 20:08 
Ты меня таки не прочитал.
Я попросил контекст глобалок, из которых я смог бы сделать вывод, что это майнер. Данный кусок фактически лишь гуляет по неизвестному глобальному массиву с присваиванием.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 20:38 
Вот этот?

--- cut ---
var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.gb|0;var o=env.fb|0;var p=0;var q=0;var r=0;var s=0;var t=global.NaN,u=global.Infinity;var v=0,w=0,x=0,y=0,z=0.0;var A=0;var B=global.Math.floor;var C=global.Math.abs;var D=global.Math.sqrt;var E=global.Math.pow;var F=global.Math.cos;var G=global.Math.sin;var H=global.Math.tan;var I=global.Math.acos;var J=global.Math.asin;var K=global.Math.atan;var L=global.Math.atan2;var M=global.Math.exp;var N=global.Math.log;var O=global.Math.ceil;var P=global.Math.imul;var Q=global.Math.min;var R=global.Math.max;var S=global.Math.clz32;var T=env.abort;var U=env.assert;var V=env.enlargeMemory;var W=env.getTotalMemory;var X=env.abortOnCannotGrowMemory;var Y=env.setTempRet0;var Z=env.getTempRet0;var _=env.invoke_i;var $=env.ftCall_i;var aa=env.invoke_idddd;var ba=env.ftCall_idddd;var ca=env.invoke_ii;var da=env.ftCall_ii;var ea=env.invoke_iii;var fa=env.ftCall_iii;var ga=env.invoke_iiii;var ha=env.ftCall_iiii;var ia=env.invoke_iiiii;var ja=env.ftCall_iiiii;var ka=env.invoke_iiiiii;var la=env.ftCall_iiiiii;var ma=env.invoke_iiiiiii;var na=env.ftCall_iiiiiii;var oa=env.invoke_iiiiiiii;var pa=env.ftCall_iiiiiiii;var qa=env.invoke_iiiiiiiii;var ra=env.ftCall_iiiiiiiii;var sa=env.invoke_iiiiiiiiii;var ta=env.ftCall_iiiiiiiiii;var ua=env.invoke_iiiiiiiiiii;var va=env.ftCall_iiiiiiiiiii;var wa=env.invoke_iiiiiiiiiiii;var xa=env.ftCall_iiiiiiiiiiii;var ya=env.invoke_iiiiiiiiiiiii;var za=env.ftCall_iiiiiiiiiiiii;var Aa=env.invoke_vi;var Ba=env.ftCall_vi;var Ca=env.___assert_fail;var Da=env.___divdi3;var Ea=env.___errno_location;var Fa=env.___muldi3;var Ga=env.___udivdi3;var Ha=env.___uremdi3;var Ia=env._bitshift64Lshr;var Ja=env._bitshift64Shl;var Ka=env._chdir;var La=env._close;var Ma=env._dlclose;var Na=env._dlerror;var Oa=env._dlopen;var Pa=env._dlsym;var Qa=env._emscripten_run_script;var Ra=env._emscripten_run_script_int;var Sa=env._emscripten_run_script_string;var Ta=env._fcntl;var Ua=env._fprintf;var Va=env._free;var Wa=env._fstat;var Xa=env._getenv;var Ya=env._gettimeofday;var Za=env._i64Subtract;var _a=env._ioctl;var $a=env._longjmp;var ab=env._lseek;var bb=env._malloc;var cb=env._memcpy;var db=env._memset;var eb=env._mkdir;var fb=env._mkstemp;var gb=env._modf;var hb=env._nanosleep;var ib=env._open;var jb=env._pipe;var kb=env._read;var lb=env._realloc;var mb=env._signal;var nb=env._stat;var ob=env._stderr;var pb=env._stdin;var qb=env._stdout;var rb=env._strcmp;var sb=env._strerror;var tb=env._strlen;var ub=env._system;var vb=env._tcgetattr;var wb=env._time;var xb=env._uname;var yb=env._unlink;var zb=env._write;var Ab=env.g$_stderr;var Bb=env.g$_stdin;var Cb=env.g$_stdout;var Db=0.0;
--- cut ---


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено nelson , 06-Янв-21 22:47 
> в каждой теме вопят, что wasm не читабельный, поэтому через него попрут тысячи троянов. Каждый раз им тыкают asm.js в морду

Рукалицо.jpeg. Какая разница что там прилетает пользователю - wasm, asm жаба-скрипт или какой-то другой сорт? Вся эта тьюринг-полная дичь позволяет вытворять (пусть даже чисто теоретически) любую вакханалию на стороне клиента. Читабельно, нечитабельно... Рукалицо.jpeg.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 11:58 
А Ca куда зажилил?

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 12:03 
Кстати, даже без Ca можно предположить, что указанный кусок кода вычисляет какую-то KDF.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 18:41 
> Сама технология WebAssembly довольно интересна.

Определённому контингенту конечно.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено анонимит , 06-Янв-21 19:07 
А также Go и другие языки

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Dzen Python , 06-Янв-21 19:22 
Ущербна сама концепция webAssembly - завернуть все в браузер, превратив его из рядового пользовательского приложения среди равных приложений в этакое middleware-для-программ. Очень тяжелое middleware. К чему это может привести и во что выродится мы можем наблюдать на примере лисы и хрома.
Если запускать в чистом рантайме, без браузера, то это превращается в такой же java, только другой, как тут справедливо заметили.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено ASIC , 06-Янв-21 19:36 
Это очень сильно похоже на ответ «я не буду использовать что то только потому что не хочу». У вас есть какая то лучшая альтернатива которая работает во всех браузерах.  Хочу подчеркнуть слова «работает во всех браузерах» . Тут конечно можно быть недовольным всем миром и  протестовать против всего, только это вот выгладить странно когда есть очевидные преимущества когда начинаешь сравнивать с Java Scryp.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Dzen Python , 06-Янв-21 19:42 
Ты меня не распарсил. Тут претензия не к "работает везде/работает нигде"Ю тут претензия к тому, что прикладную, суть законченно функционально, пользовательскую программу превращают в необходимый middleware. В платформу для запуска.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено freecoder_xx , 09-Янв-21 12:22 
В этом нет ничего плохого.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено topin89 , 07-Янв-21 04:18 
Да, но нет.

Wasm сам по себе не содержит сборки мусора. Это делает его подверженным утечкам памяти сильнее, чем Java или .NET. Но это же позволяет делать поративный C, C++ и Rust с кроссплатформенностью и изоляцией. Потенциально это может быть так же безопасно, как Java, но быстрее.

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

Ущербная концепция -- да. Но это логичный эволюционный шаг. Каким бы не был логичным революционный шаг, не имеет значения, его не поддержат. Життя несправедливе и всё такое.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Тот_Самый_Анонимус , 06-Янв-21 19:40 
>как это было с Flash, Silverligh а группой компании, что дает многие преимущества

Какие? Что мешало не закапывать флеш всем миром, а пролоббировать/договориться об его открытии и доведении до ума?


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено ASIC , 06-Янв-21 19:53 
все очень просто: жадность одной групой людей.  Договориться намного легче когда таких груп намного больше. Я знаю что это звучит странно, но как раз боязни потери всего заставляет других груп прийти к здравому смыслу и начать  договариваться. Вот такой вот мотиватор.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено OpenEcho , 06-Янв-21 20:17 
>В данный момент есть только 1 язык программирования который работает в браузерах и это  Java Script.

Вот слово "в браузерах" - это ключевое !


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 18:16 
Ух ты, неужели наконец-то что-то полезное на расте появилось? Есть у меня пара неплохих сложных васм модулей, попробуем...

И да, буду держать вас в курсе, наслаждайтесь.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 18:31 
Потестить не удалось: Error while importing "a"."a": unknown import.

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


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 18:31 
Вот, гады... без спроса патчат .bashrc

--- cut ---
Updating bash profile /home/test/.bashrc
we've added the following to your /home/test/.bashrc
If you have a different profile please add the following:

# Wasmer
export WASMER_DIR="/home/test/.wasmer"
[ -s "$WASMER_DIR/wasmer.sh" ] && source "$WASMER_DIR/wasmer.sh"
check: wasmer 1.0.0 installed successfully ✓
wasmer & wapm will be available the next time you open the terminal.
If you want to have the commands available now please execute:

source /home/test/.wasmer/wasmer.sh
--- cut ---


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 19:01 
Теперь ты - часть ботнета.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 20:03 
Уже нет. Я сильно перепугался и удолил юзера test.

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


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 19:58 
А ведь я выше говорил, что только конченные дятлы предлагают инсталляцию через

curl ... | sh

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


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 20:06 
Ну я выше там тоже писал - что это, в общем то, единственно возможный путь быстро выкатить свое поделие для всех.

К чести авторов, они срут только в ~/.bashrc (о чем предупреждают) и в ~/.wasmer (которую можно полностью удалить). так что система, в общем то, остается чистой.

p.s. Я, само собой, сначала этот шел скачал, посмотрел и только потом запустил. Гигиена наше все.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Dzen Python , 06-Янв-21 20:13 
Как говорил один философ "Ой, дура-а-а-ак..."
Быстро выкатить свое поделие можно очень просто - даешь PKGBUILD или аналогичный рецепт для других дистро и ссылку на гит/тарболл. Все.
Ребята выше таки правы, что за это надо долго бить лицо. Клавиатурой. Чугунной.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 20:44 
Что, реально? А можно пример в студию?

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


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 20:20 
По User-Agent можно детектить, кто пришёл. Когда зашёл из браузера - отдавать норм шеллскрипт. Зашёл курлить (т.е. скорее всего - чтобы передать это шеллу, как предложено) - отдавать шеллскрипт с докинутым майнером.

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

И тогда получается совсем нескучная ситуация - ставишь на тестовую машинку Wasmer - всё шик. А потом ставишь на прод - "кубик" выкинул неудачное число, получаешь майнер.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Урри , 06-Янв-21 20:42 
Ну мбмб. Может вы и правы - обычного юзверя так много легче развести, чем через свой ппа.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 20:57 
Ну, через ппа - это проблемы убунты. Я обычно то, чего нет - собирал сам из сорцов, а не через PPA брал собранное хз кем. И там, кстати, явно говорится (как минимум, раньше была табличка, давно не юзаю убунту), что юзать чужие PPA может быть небезопасно, т.к. их содержимое никем не проверяется.

В случае с курлом, к слову - я нигде не увидел таблички, что так делать небезопасно и вообще является очень плохой практикой. Ни на сайте Wasmer, ни в README.md. По этой же причине я в своё время не стал ставить, например, Oh My Zsh, т.к. они именно так и предлагают ставить себя.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено freecoder_xx , 09-Янв-21 12:28 
То есть вы хотите предупреждения на сайте Wasmer о том, что устанавливать Wasmer не безопасно? Серьезно?

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 12:27 
>Зашёл курлить (т.е. скорее всего - чтобы передать это шеллу, как предложено) - отдавать шеллскрипт с докинутым майнером.

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

А вот идея с рандомизацией - хорошая. Только вероятность ты большую поставил. Злоумышленник бы поставил 1/1000. А вредоносы - не в скрипт обновления, а в саму программу. И не отдавать вероятностно, а отдавать вредонос всегда, но активировать его вероятностно, ибо вероятностная отдача - это палево, а бинари СПО реверсить никто не будет. И никакой детерминированной сборки. И есть железное алиби - "если мы даже пакетирование не осилили, то о какой детерминированной сборке вообде речь может быть".


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 20:06 
О каком секьюрити и "безопасном запуске непроверенного кода" может идти речь, если эти умники предлагают экзекать в шелле с правами текущего юзверя непойми что, накурленное с их сервера. И это "непойми что" - может быть чем угодно, майнером, кейлоггером, криптошифровальщиком. Но, возможно, вам повезёт, и отдадут реально Wasmer. Но он пропатчит вам bashrc и будет sourc'ить непонятные скрипты без твоего ведома.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено freecoder_xx , 09-Янв-21 12:30 
Для тебе это "непойми что", а для них это вполне определенное нечто. Короче, твои проблемы, а не их.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено nelson , 06-Янв-21 18:18 
> Поддерживается встраивание кода WebAssembly в программы на языках Rust, С/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir и Java.

Клетчатые рубашки в своём репертуаре.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 18:37 
Платформонезависимые браузерозависимые приложения. Поржал :D

Действительно прорыв в технологиях.

Эх, ждёт нас год чудестных инновационных костылей.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Ordu , 07-Янв-21 04:48 
> Платформонезависимые браузерозависимые приложения.
> браузерозависимые

https://github.com/wasm3/wasm3

wasm -- это офигенная замена всем этим встраиваемым lua, guile, python и прочей хрени, потому как байткод выполняется быстрее скриптов, и в рантайме не нужен компилятор/интерпретатор. Помимо этого не надо тех, кто пишет аддоны, прибивать гвоздями к какому-то одному языку программирования.

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

> Поржал :D

Я тоже. :D


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 08-Янв-21 14:24 
> платформонезависимые браузерозависимые приложения
>> браузерозависимые

Да откуда же вы такие беретесь... Где ты там в новости прочел о браузерах? Ты в ней (новости) хоть одно слово "браузер" сможешь показать? Что, если встретилось слово "WebAssembly" - это в в твоем сознании равнозначно "браузер"? Они используют WASI для взаимодейтствия с операционками, в новости тебе даже ссылку на старую (двухгодичную) новость о WASI дали. Из которой ты бы понял, что этот механизм используется для возможности задействования вебассембли-программ без браузеров, без зависимости от JavaScript/Web API и при этом в песочнице с явно указанными правами/полномочиями. Нет там браузеров. Считай это аналогом JDK, для которого можно будет в будущем писАть программы на значительно более широком спектре языков (а не только нескольких типа явы, котлина, скалы...), для которых есть инструментарий компиляции в вебассембли. И как тебе тут выше уже написали, теперь для встраивания в обычные программы подсистемы расширений (часто скриптовых) ты не будешь ограничен каким-нибудь интерпретатором языка Lua, а сможешь писАть на любом удобном тебе языке, поддерживающем компиляцию в вебассембли. И производительность обработки/исполнения байткода, организованного в  абстрактное синтаксическое дерево, будет куда как производительнее интерпретации "голых" скриптов луа или яваскрипта. Плюс в новости вообще заявляется возможность компиляции вебассембли-модуля в машинные коды целевой платформы, которые потом тоже будут выполняться в урезанной песочнице с ограничениями полномочий. Что как бы "еще быстрее" интерпретации условного "луа-скрипта".


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 22:32 
Отстаньте, восмер, вы присмерти, попросите кого-нибудь вас добить

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 06-Янв-21 22:49 
Растоподелие для Фрокталов.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Док , 07-Янв-21 15:18 
Кажется тут 90% не поняли о чем речь. - можно запускать васм код не в броузере, а как обычный исполнимый файл через васмер

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 17:12 
Да всё прекрасно поняли. Просто цель проектов типа Wasm - это создать рынок проприетарных  софтварных Intellectual Property-ядер (по типу тех, что в полупроводниковой промышленности), которые работают и в браузере, и в ОС. Эти "ядра" можно поставлять скомпилированными и проприетарными, риск, что их разреверсят - меньше. Причём в отличие от явы, которая рантайм поставляла, и за который можно было потянуть и всё вытянуть, тут будет байткод по типу машинного кода, в стиле llvm, который хрен разреверсишь. Пользователям сайтов придётся либо терпеть проприетарщину и малварь (= выполнять условия пользования сайтом), либо валить на *** (= убрать свои руки от чужой "интеллектуальной собственности").

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 17:17 
P.S. Да, в полупроводниковой промышленности копирасты сумели навязать новояз. Так сложилось, что библиотеки там называются "ядрами интеллектуальной собственности", подчёркивая их юридический статус по Бернской конвенции в ущерб технического, и даже если они под public domain.

"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 07-Янв-21 22:35 
>> Intellectual Property-ядер (по типу тех, что в полупроводниковой промышленности),

так а что произошло в "полупроводниковой промышленности"? что за "ядра"? - расскажите пожалуйста.


"Wasmer 1.0, инструментарий для платформонезависимых приложен..."
Отправлено Аноним , 08-Янв-21 00:51 
https://en.wikipedia.org/wiki/IP_core