Доступен выпуск проекта Wasmer 4.0, развивающего runtime для выполнения модулей WebAssembly, который можно использовать для создания универсальных приложений, способных выполняться в разных операционных системах, а также для изолированного выполнения кода, не заслуживающего доверия. Код проекта написан на языке Rust и распространяется под лицензией MIT...Подробнее: https://www.opennet.me/opennews/art.shtml?num=59350
>curl https://get.wasmer.io -sSfL | shНеправильная команда. Вот правильная:
curl https://get.nsa.gov -sSfL | sudo sh
А в чем проблема открыть его https://raw.githubusercontent.com/wasmerio/wasmer-install/ma... и прочитать? Компетентности не хватит? Или не хочется в башпортянку лезть?
Мне не нужна баш-портянка, я её даже открывать не буду. Если нет нативного пакета для дистра, то софт либо не нужен и идёт мимо и я его даже пробовать не буду, либо софт настолько нужен, что пакет делаю я. Данный софт мне не нужен, так что это они должны предоставлять нативные пакеты в составе дистров, а не кусок дерьма, который они предлагают выполнить не глядя.
Ну так ты тоже иди мимо. Зачем пришел сюда и наложил кучу? Высказать свое невероятно ценное мнение?
форумы и нужны для того, чтобы высказывать личные мнения.
Мнение приправленное эмоциями - это уже оценка.
И эта оценка полезна... хотя бы для меня, что бы дальше не читать, что там такое
Дистры со своими репами давно сосут. Там есть только плюс-минус распространённый софт, причём обновляемый по каким-то странным правилам мейнтейнеров. С сопутствующими проблемами длл-хелла, поскольку зависимости обсчитываются глобально для всех установленных пакетов, и тут начинается...Дистры -- это вендорлок, это попытка подменить свободу выбора софта на анальное рабство.
Если тебе нравится рабство, то как по мне это ок, это твои проблемы, но что мне непонятно, так это что ты это считаешь поводом для гордости. Чем тут гордиться?
Тем не менее можно было бы для сабжевого рантайма выдать хотя бы аппимадж в зубы.
Он без внешних зависимостей. Поставь его в контейнер и будет не хуже аппимаге.
1. нет dll-hellа. dll hell - это всегда результат лени разработчика программы.
2. дистры - это когда софт устанавливается в систему.
3. я знаю, что разрабы сейчас лентяи и смузихлёбы стали, считающие, что делать нативные пакеты - это ниже их достоинства. Они не понимают, как это работает. Это не их смузихлёбная поделка нужна дистру. Это дистр нужен их смузихлёбной поделке. В Micro$oft это понимают и делают пакеты и делают репы. Создатели же васмера оторваны от реальности. Ну, их проблема. Я всё равно на эту гадость переходить бы не стал, так чисто поиграться бы поставил и снёс потом.
Когда твоей софтине понадобится версия либы не меньше (или, что ещё хуже, не больше) X.Y.Z ты уже задумаешься: а стоит ли мне поддерживать дистрибутив с отсутствующим пакетом?
Реализовывать у себя отсутствующие/кривые методы в дистре с другой версией либы ради 2% твоих пользователей или просто ради идеи не всегда целесообразно и/или возмно.Когда у тебя какой-то набор программ работающих в связке или, например, 100500 плагинов... Вероятность попасть в ситуацию выше в N раз больше.
Конечно, с точки зрения разработчика, это самый натуральный DLL-hell.
Например, юзаешь ты vlc. И берешь, скажем по 2-3 последние версии Fedora, Ubuntu, Debian и Centos/Rocky/... в качестве поддерживаемых. И абсолютно везде разная версия vlc-core. А потом ты выясняешь, что у vlc бывает и такое, что даже при смене версии патча поведение отдельных методов меняется. А ещё в некоторых дистрах разные НОМЕРА БИЛДА выдают РАЗНОЕ поведение (ага, 2.0.6-<BUILD_NUM>).И ты либо оставляешь поддержку 2х дистров, которые реально нужны, либо шлёш всё нахер и думаешь как таскать всё с собой, хоть бы там AppImage, хоть всё статически залинковать
P.S. И да, часто разработчик криворук. А часто нет
А потом в либе версии X.Y.Z !внезапно! находится очередная "C'шная дырень"(ТМ), и?
>ещё хуже, не большеГоворю же: есть лентяи, не желающие свой код изменять под современные версии API либ. Ну не надо поддерживать дистр и последнюю версию, сгниёт ваш софт, нет у него будущего. Если софт действительно нужный - форкнут и будут развивать без лентяев.
Нативные пакеты собирались бы на раз-два, если бы не 100500 дистрибутивов разных версий, с разными версиями нужных зависимостей.Вот ты возьми и попробуй какую-нибудь мало-мальски крупную софтину пособирай под все возможные актуальные дистрибутивы актуальных версий (коих в рамках дистра может быть несколько). А потом расскажи всем, остается ли у тебя время на собственно разработку этой софтины. Зато полтора Васяна довольны, что у них в Puppy Linux софтина в виде нативного пакета…
Зоопарк дистрибутивов - это боль настоящая.
Ты не линуксоид - rpm пакет ставится стандартно в любой дистр.
Просто кто-то не умеет в девопс. Кто умеет - у того настроены пайплайны, само всё собирает, а дистр добавить - это найти его докер образ, если у него есть либы совместимые и рецепты пакетов уже готовы. Если либ нет, то либо ффтопку дистр, как старый хлам, либо ффтопку софт, как "ненужно".
1. Лень -- ключевое свойство рпзработчика программ. Если бы разработчикам не было бы лениво копировать файлы при помощи dd, никто бы не создал cp. Если бы разработчикам было бы не лень реализовывать для каждой программы самостоятельные реализации всех используемых структур данных, алгоритмов, протоколов и пр., то у нас не было бы программ сложнее cp.2. И хрен с ними
3. Разрабы никогда не делали нативных пакетов. Они выкатывали тарболлы. Сейчас видишь они к тарболлам прилагают скрипт автоматизирующий выбор тарболла, скачивание и распаковку. Прогресс однако.
1. именно поэтому всё автоматизируют. а скупой платит дважды.
3. лентяи не делали. а в эпоху CI это вообще мастхэв, а отсутствие - признак лентяя, пофигиста.
Ну, анальная свобода билдить все с гитхаба - тоже такоэ. А уж раскладывать все это любовно за...полированной баш-портяночкой хорошо если в /opt конечно стильно-модно-молодежно, но я лучше стороной.
Зачем всё? Зачем в opt?Базовая система и вся эта лабуда типа десктопов, версии которых никому не интересны, можно поставить из любого дистра.
А под остальное я завожу таматических пользователей и им в хомяк ставлю. Там с переменными окружения надо чуть пошаманить, чтобы бинари и библиотеки находились бы, но это несложно.
Тогда я не понял, о чем идет речь. Серверное ПО давно в контейнерах. "Лабуда типа дестопов" - не интересна и из дистрибутива. Что предлагается ставить в хомяк пользователю? Хелловрот?
У меня так растоокружение стоит с uutils, собственно растами и cargo. Плюс tex-live отдельно: я его не так часто пользую, и каждый раз, когда он понадобился, выяснять что дистр опять всё сломал, ну это такое себе удовольствие.
А всякие временные штуки, которые я ставлю, некоторое время использую, а потом сношу, я не буду перечислять.
Но кстати да, интересные хеловроты я тоже собираю отдельно. У меня под это специальный "мусорный" пользователь.
> У меня так растоокружение стоит с uutils, собственно растами и cargo. Плюс
> tex-live отдельно: я его не так часто пользую, и каждый раз,
> когда он понадобился, выяснять что дистр опять всё сломал, ну это
> такое себе удовольствие.
> А всякие временные штуки, которые я ставлю, некоторое время использую, а потом
> сношу, я не буду перечислять.
> Но кстати да, интересные хеловроты я тоже собираю отдельно. У меня под
> это специальный "мусорный" пользователь.Ааааа... нууу... это многое объясняет, да. Вопросов более не имею.
Дистры выполняют огромную роль. Но запускать код без пакетов тоже довольно легко. В контейнере. И уже не важно что там он наговняет.
Уже понятно что разработчики никогда не придут к тому чтобы нормально делать сборку софта. Но оно теперь и не надо стало. Все пошло по другой ветке. Для серверов конечно, на ПК пока куча софта в одном спейсе и без дистра помойка просто развалится.
Дистры выполняют огромную роль костыля. Во всех дистрах нет ни одного нормально обновляемого приложения кроме браузера. Потом удивляются почему все делается через браузер.
Нет потому что не нужны эти бесконечные обновления. Это дрочево.
Зачем тогда выпускают новые версии софта, по твоему недалекому мнению?
Например что бы сделать такое:> Disabled legacy server analytics
;)
Ну сиди на древнесофте и деградируй.
Когда новые возможности внедряют, а это нечасто. Для особо умных объясняю.
Кто его внедряет мейнтернеры или может всё таки разработчики софта? Почему вообще кто-то кроме меня решает каким софтом мне пользоваться?
Ну собери сам - неужели кто-то мешает?
Вообще можешь LSB собрать и все будет под твоим контролем. 100%.
Ну в общем да - контейнеры давно уже история не про ко-ко-ко-изоляцию и не про "S" in docker stands for security! а про _доставку_ приложений.
Ага. И полететь на курорт легко. Билет купил - и полетел. Особенно когда школьнику его папка купил, а не он за свои кровные.
Ахах, линукс админ порвался в шредер несите секретаршу. У меня просто два вопроса - вы из каких танков вылезаете, парни и почему бы вам не пойти работать во вкусно и точка?
1) Соединение рвется, после чего приходится вручную выковыривать полуустановленное поделие и переустанавливать.
2) С этого самого get.wasmer.io для российского пользователя прилетает малварь. Для разнообразия она прилетает с каждой 10000 загрузки ...
Ну вот тебе идеальный случай показали как работает, для своих сложностей чай допетришь как допилить.
> 2) С этого самого get.wasmer.io для российского пользователя прилетает малварь. Для разнообразия
> она прилетает с каждой 10000 загрузки ...Если кто-то действительно будет атаковать по такой схеме, то прилетит один раз -- сборщику пакетиков.
после чего программу и её авторов внесут в чёрный список бэкдорщиков, и это будет крест на их карьерах.
Кто мешает сказать:Мы тут не причем! Это сервер взломали!
?
А пофиг, что его взломали. Это только от суда защитить может (но без гарантий), но от этого и лицензия защищает (тоже без гарантий). Раз взломали - значит не предпринял мер. Даже если не по злому умыслу, а не смог. Даже если всё предпринял, но им персональнотзанялись серьёзные люди и всё равно взломали. В любом случае это значит, что пользоваться софтом этого человека опасно и не следует.
В таком случае, тебе не следует никаким софтом пользоваться. Ибо там постоянно кого-то взламывают,
находят ошибки, которые могут быть закладками. Включая kernel.org, который то же ломали.
Ну да, их наградят железным крестом, а майнтайнер будет утешать пользователей "я не виноват, и теперь я внёс их в чёрный список!"
А не надо пользоваться софтом тех людей, которые своей карьерой софтописателя готовы пожертвовать ради железного креста. А кто воспользовался - тот сам виноват. Вины "крестоносца" это не отменяет.
> А не надо пользоваться софтом тех людей, которые своей карьерой софтописателя готовы
> пожертвовать ради железного креста. А кто воспользовался - тот сам виноват.
> Вины "крестоносца" это не отменяет.Из всей этой экспертизы "пользоваться" - ключевое слово и единственное имеет смысл. Мнение пользователя. К разработчику могут прийти домой, запугать и т.п.
Могут. Но это проблемы разработчика, пользователь на них никак не влияет и помочь не может. А проблемы пользователя софта - это не получить себе малварь. Тут у пользователя куда больше контроля. Оценивать риск каждой установки ПО и принимать решение. А оценка риска зависит от источника. То что источник находится под персональной атакой серьёзных дядек с целью скомпрометировать его софт и скомпрометировать всех пользователей его софта - это уже серьёзная причина его софтом не пользоваться. nothing personal, just business
И какая база позволяет лично Вам оценивать риск? Образование, опыт? Или чтение мнений других пользователей?
PS Почитал, все предсказуемо заканчивается тем
wasmer_download_file() {
url="$1"
destination="$2"# echo "Fetching $url.."
if test -x "$(command -v curl)"; then
if [ "$WASMER_INSTALL_LOG" = "$WASMER_VERBOSE" ]; then
code=$(curl --progress-bar -w '%{http_code}' -L "$url" -o "$destination")
printf "\033[K\n\033[1A"
else
code=$(curl -s -w '%{http_code}' -L "$url" -o "$destination")
fi
elif test -x "$(command -v wget)"; then
if [ "$WASMER_INSTALL_LOG" = "$WASMER_VERBOSE" ]; then
code=$(wget --show-progress --progress=bar:force:noscroll -q -O "$destination" --server-response "$url" 2>&1 | awk '/^ HTTP/{print $2}' | tail -1)
printf "\033[K\n\033[1A"
else
code=$(wget --quiet -O "$destination" --server-response "$url" 2>&1 | awk '/^ HTTP/{print $2}' | tail -1)
fi
else
wasmer_error "Neither curl nor wget was available to perform http requests."
return 1
fiif [ "$code" = 404 ]; then
wasmer_error "Your platform is not yet supported ($OS-$ARCH).$reset\nPlease open an issue on the project if you would like to use wasmer in your project: https://github.com/wasmerio/wasmer"
return 1
elif [ "$code" != 200 ]; then
wasmer_error "File download failed with code $code"
return 1
fi
return 0
}
Что В конце все равно тебе прилетает блоб. Немного предсказуемо,бгг
Сблевал с портянки. Стирать надо было.
А что ты ожидал вместо блоба? Не, серьезно? Пачку сорцов и make-файл?
В релизах у них тоже блоб https://github.com/wasmerio/wasmer/releases/tag/v4.0.0
Внутри пакета - тоже блоб. И почему к этим блобам доверия больше?
Хотя бы проверку подписи файла?
И нет, ни к каким блобам нет доверия, если они не reproducible.
А ещё правильнее заглянуть в файл PACKAGING.md, где инструкция по сборке.
а еще проклятая nsa тебе в штаны нагадила, приглядись! Это они, они, больше некому!P.S. при том что sudo su -c безусловно не хватает в оригинале команды, тут я совершенно согласен.
Зачем этот костыль, если программу, скомпилированную в LLVM-биткод можно выполнить на GraalVM?
А разве GraalVM умеет запускаться в браузере?
А разве wasm POSIX-программы умеют запускаться в браузере? Вот-вот. Только в браузере posix-программы не нужны без POSIX-операционной системы. То есть по любому извращения.Просто когда есть молоток - то всё выглядит как гвозди. вот и пытаются свой васм везде приткнуть, надо это или нет. Как раньше пытались яву, флеш и дотнет приткнуть, и таки приткнули.
Как раз таки могут, в оригинальной статье продемонстрирован bash в браузере
Более того, поднят веб для тестов: https://wasmer.sh/
Только вот у меня он что-то не грузитP.S. Оказалось, HTTPS не поддерживается
чтобы этот баш заработал в браузере, к нему должен рантайм идти, эмулирующий ОС. Для того, чтобы LLVM заработал в браузере, ему тоже нужен рантайм.
> чтобы этот баш заработал в браузере, к нему должен рантайм идти, эмулирующий
> ОС. Для того, чтобы LLVM заработал в браузере, ему тоже нужен
> рантайм.Глянь оригинальную статью, там говорится, что контейнеры wasmer полностью поддерживаются и запускаются в браузере
Это не значит, что браузер поддерживает WASIX, на данный момент, как я понимаю, wasmer самостоятельно предоставляет WASIX интерфейс с бэком в браузер.Сайт с примером (https://wasmer.sh/) работает, просто у меня что-то с лисы не подключается. Причем сам запрос не получает ответ, что странно, но это уже моя проблема.
В том примере также стоит wasmer, и можно запустить питон через wasmer run python/python (также отмечено в оригинальной статье)LLVM не требуется (да и зачем), т.к. wasm поддерживается современными браузерами и самостоятельно JIT'ится через V8 или иной другой местный движок, не суть
>wasm поддерживается современными браузерами и самостоятельнозаинлайнили кусок ненужно в браузеры. теперь всюду с ним носятсяэ ничего нового.
все что вы хотели знать о любителях пихать вебдерьмо во все дырки, даже те куда оно в принципе невпихyeмо - в последней фразе.
> все что вы хотели знать о любителях пихать вебдерьмо во все дырки,
> даже те куда оно в принципе невпихyeмо - в последней фразе.Это в моей лисе проблемы (ответ просто не приходит), с MS Edge всё работает
Без понятия в чем проблема
Это нужно что-бы на твоем компе можно было делать все что хочешь, а ты был не в курсе. Изоляция бла-бла, а лет через 5 ВДРУГ выяснится, что изоляция прекрасно обходится. Сейчас обкатают, воткнут в браузеры и ты уже никогда от этой хрени не избавишься. Это как systemd.
Также напоминаю всем: давно есть Java и .Net. И в них тоже есть AoT. У кого-то NiH-синдром. То впиливаем в браузеры ActiveX, Java, Flash и Silverlight, то выпиливаем "небезопасно!", потом впиливаем asm.js
и wasm, а потом городим к ним API, чтобы был доступ. Нельзя ли было у Java и Silverlight лишние API обрезать и не городить зоопарк?
> давно есть Java и .NetУ них есть фатальный недостаток.
Так я же и написал - "NIH-синдром".
Самое ироничное, что дотнет как раз и есть то самое порождение, когда в Джаве сотрудники M$ нашли "фатальный недостаток" - невозможность провести тактику трёх "E" - Embrace, Extend, Extinguish.
наоборот - они нашли возможность ее провести и оракл очень быстро ей воспользовался.А вы продолжайте, продолжайте рассказывать сказочки о злокозненной MS. Здесь таких дyрачков полно.
Других, собственно, и не осталось уже.
Есть Chez Scheme.
Что-то лиспов развелось многовато. Опять же NIH-синдром.
А потом самым известный примером использования WASM оказывается аддон для ФФ чтобы JPEG XL в релизных сборках смотреть, и то отзывы - "тормозит адово".
Figma используем WASM. И вполне шустро работает даже на больших холстах. Acrobat JS тоже и норм.
Так что делу в кривых ручках, а не в WASM.
Главное в новости — Wasmer Edge, прямой конкурент CloudFlare Workers и AWS Lambda, без ограничений API и без привязки к SDK. Кто пользуется — поймёт, чем это годно. Остальные могут дальше бухтеть про неправославные языки, как в браузере что тормозит, и как надо было выбирать .Net и Java
Погромисты: обсуждают языки программирования (логично).
Девляпс: "Кто не понял, тот поймёт!"Рады за тебя, что теперь твой калькулятор будет требовать 100400 облаков вместо 100500
Это было очень очевидно с выхода стандарта WASM, что его кто-то захочет проталкивать наряду с JVM и .Net. Чуйка не подвела :-)
> Syrus Akbary is an enterpreneur and programmer. Specifically known for his contributions to the field of WebAssembly. He is the Founder and CEO of Wasmer, an innovative company that focuses on creating developer tools and infrastructure for running WebAssembly everywhere.Попахивает
Это всё потому что он испанец?
А кто-то в курсах, что там с интерфейс типами/компонент модел? Есть какие-то подвижки, что в этом проекте и у других, что вообще в стандарте васма? А то wit форкнули, сделали wai и оно висит не живое.
Первый раз вижу, что бы на расте было написано что-то новое и даже (!) возможно полезное. Как правило они чужие проекты переписывают.По сабжу: интересно было бы сравнить производительность какого-нибудь эталонного приклада в сабже и, допустим, в контейнере докер. И если они окажутся сопоставимы.... нууу.... тогда история станет совсем интересной.
Они переписали Java и .Net один в один. Возможно даже Java апплеты, но все знают что с ними случилось потом.
не все уже помнят, насколько тормозным и жручим мусором были те апплеты
в сравнении с ними даже старый жс - эталон скорости, гибкости и малого потребления
да, не все помнят. Ты вот - пересказываешь идиотскую легенду, например.На том на чем у тебя "тормозили" те аплеты, ты свой wasm трэш вообще не запустишь. Даже хеловрот.
Ахаха, пох всегда против. Как обычно.
В то время, когда в браузере( ИЕ ) уже без проблем куча вкладок разных ресурсов открывалась на 128 мб ОЗУ что вполне норм тогда было, для просмотра (!!!) единственной страницы с тем аплетом на базе которого сделали фильтр интернет-магазина, требовалось:
Перезагрузить комп, чтобы всё было нулёвое с минимумом утёкшей памяти, запустить браузер с пустой вкладкой, запустить диспетчер задач и через него поубивать все лишние процессы вплоть до эксплорер.икс
И только после этого заходить на ту страницу, иначе - тупо нехватка ОЗУ
По нынешним временам, речь шла бы о ресурсе, который реально отжирал бы не менее 16 Гб ОЗУ без которых тупо падал
> В то время, когда в браузере( ИЕ ) уже без проблем куча вкладок разных ресурсовкаждый из которых занимал килобайт, потому что был plain html?
Кoкoкoй ужос - страничка с динамическим содержимым не запускалась на 486/4 !
По нынешним временам (на самом деле 2010го года) довольно прожорливые цискины жабоаплеты неплохо работали на машине с гигабайтом оперативы. Сложнее было найти ту именно самую жабу, с которой они таки работали. И после обновления прошивки - снова, но другую. (Это и к вопросу о том почему жаба - дерьмо.)
Поэтому даже циска начала посматривать в сторону флэша. Но разумеется гугль и яббл тоже не дремали.
Ну ты ведь не по делу пишешь. Ты просто пытаешься отрицать всё подряд, признай это.
Виртуальная машина wasm умещается в несколько тысяч строк сишного кода. Она не требует сотен мегабайт CLASSPATH, WASM это то, чем жаба должна была быть с самого начала.Но из неё сделали жирнющего корпоративного монстра, натолкав в виртуальную машину всех хипсторских технологий, типа сборки мусора, динамической типизации, рефлексии и вообще всего, что выглядело круто. Вот объясни мне зачем виртуальная машина должна иметь дело с типизацией? Это же явно дело языка программирования, его компилятора и может быть рантайма. Но в жабе рантайм жабы неотделим от jvm.
Так что, я б сказал, что если машина тянула жабоапплеты, то она тем более потянет wasm. А обратное -- это как повезёт.
вместо этого каждый сайт будет тащить эти же сотни мегабайт свои. чо, уменьшили потребление памяти, молодцы.
Ну писал бы их программист, было бы намного лучше.
А если бы у бабушки был мужской половой орган...
> А если бы у бабушки был мужской половой орган...Ну таких "бабушек" уже полно. Вам бы с ними общаться
Тебе мозгов где нибудь занять. Ты конченый.
> Тебе мозгов где нибудь занять. Ты конченый.Сказать нечего мозговитый Аноним? Скучно, каникулы? Проходи мимо.
О да чудо, которое считает что программы пишут не программисты тут кукарекает. Иди к себе в курятник. Позорище.
Libreddit & Veloren на Расте написаны.
Падажди, сейчас тебе расскажут что реддит ненужОн, а в игрушки только детки играют))
Сейчас ты узнаешь что приложения для реддита и игры существовали до появления раста.
и операционные системы существовали до линукса
так что не нужно было писать ?
может достаточно одного DE? и одной игры?
Может достаточно одного хеллоу ворлда, чтобы понять что раст тупиковый язык?
Это даже не попытка нового. Очередной раз растофанатики показали свою ограниченность.
Зачем нужен Veloren, если есть божественный Minetest с тоннами модов? Про Libreddit даже неловко говорить, эталонное ненужно, есть https://old.reddit.com/ который и удобнее, и привычнее.
Уже понятно, что достигнув 4 версии до сих пор в теории...Думаю, что тупик постигший Flash, Silverlight и Java Appletes близок к Wasm как никогда.
Практический вектор понятен нужен JavaScript боле фичастый, а попытки выдать старикам возможность собрать фотошоп в браузере ну инетерсная затея, но у них свои процессоры и свои коробки.
>нужен JavaScript боле фичастыйTypeScript называется. Давно пора поддерживать его нативно.
Звучит как JVM или .Net
А что это?
От WebAssembly революцию ждали, а получили песочницу для хэллоувордов.