Pull to refresh
33
0
Andrey Nagikh @AndreyNagih

✌ Webmaster, Radio-Engineer, Father, Husband, Son

Send message

Спасибо за замечание. Возможно я неправильно понимаю сложные взаимоотношения KVM и QEMU. Я ориентировался на данные Википедии.


Программное обеспечение KVM состоит из загружаемого модуля ядра (kvm.ko), процессорно-специфического загружаемого модуля kvm-amd.ko либо kvm-intel.ko, и компонентов пользовательского режима (модифицированного QEMU).

Насколько я понимаю, KVM использует QEMU для паравиртуализации. Как-то так?


Вот ещё красивая картинка с английской вики.
Да, выглядит отлично! У нас есть похожая штука, заточенная под C++, называется Ceburasko. Может быть когда-то расскажем о ней подробнее, если кому-то это будет интересно.

Кстати, необязательно брать Sentry целиком. Можно взять только их клиент Raven.js, а приёмную сторону написать самостоятельно.

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

Это действительно так. То о чем вы говорите называется Host bindings и сейчас над ними ведётся активная работа. Когда их реализуют любой бэкенд компилирующийся в wasm сможет с низкими накладными расходами обращаться к функциональности хоста (это не обязательно будет браузер).

Но. В практическом смысле, подобное уже можно делать прямо сейчас. (Что мы и сделали в нашем проекте Bytefog. Оценить работу технологии можно, например, на сайте peers.tv). Технически, действительно, происходит проброс через JS. Но всю эту работу берет на себя Emscripten. На вход мы ему даём указания что именно мы хотим пробросить. Сделать это можно аж тремя разными способами. Мы выбрали Embind, и я подробно разбираю как его использовать в своём докладе.
Ещё отличная демо, которую не успел добавить в доклад: Netscape Navigator ранних версий в среде Windows 3.11 с поддержкой TCP/IP сети внутри WebAssembly внутри WebGL сцены с видом от первого лица с поддержкой многопользовательности.

assets.metacade.com/emulators/win311vr.html
Рекомендуется смотреть в FireFox.

А также, классный пример синтеза WebAssembly и Electron: Windows 95, аккуратно упакованная в Electron приложение, и доступная для запуска где угодно. (Можно рассматривать как альтернативу DOSBox).

github.com/felixrieseberg/windows95
Про неё кстати уже была статья здесь, на Хабре.
Спасибо!
FFMpeg в браузере уже реализовали, да не один раз. Думаю, вам будут полезны вот эти ссылки:
github.com/bgrins/videoconverter.js
github.com/sopel39/audioconverter.js
github.com/Kagami/ffmpeg.js

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

Вы имеете в виду, что-то похожее на Sentry, но своё и заточенное под конкретный проект?

Спасибо, что поделились своим опытом, сегодня подобные доклады и статьи на вес золота.

Цитата из вашей статьи:
Отлаживать wasm в браузере очень сложно, если у вас нет версии под desktop. Это может очень сильно затруднить разработку. Некоторые обновления тулчейна вносят изменения, ломающие приложение.


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

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

Тем не менее, WebAssembly это скомпилированный двоичный файл, и ваш софт распространяется именно в скомпилированном виде. Также, при компиляции может хорошо поработать оптимизатор (всё, как и в обычном C++). Поэтому несмотря на то, что ассемблерный листинг видно прямо в DevTools браузера, разобраться в таком коде гораздо сложнее, чем, например, в минифицированном JS.

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

Пожалуй, осложняет её сейчас только то, что для WebAssembly нет (пока?) средств подобных IDA.
Несомненно, с шаблоными всё в порядке. Использовать их, или не использовать в своём коде — дело соглашений в конкретном проекте. У нас мы решили не использовать. Конечно, в интервью в своей категоричности я палку перегнул.

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

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

Расскажите, вы говорите о нативной разработке, или используете шаблоны в Wasm?

А мне понравилась конференция! Спасибо большое организаторам: я видел изнутри насколько это тяжёлая работа — организовать и провести конференцию. А особенно, две конференции подряд!


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

Скажите, будет ли у вас трансляция или записи выступлений?

Поразительно! Статья об учреждении JS Day, и без даты!

параллельно с кнопкой экстренного останова?
Я использую Type It Easy. github.com/MyasNick/TiE К сожалению, автор перестал заниматься проектом, но благородно выложил на гитхаб. Правда код на Delphi.

Удобнейшая утилита, но слегка конфликтует с Windows 10 (решается установкой раскладки no_rub_sign без знака рубля).

Может быть кому-нибудь она тоже понравится, и он возьмется её сопровождать.
Резиновый утенок это вариант «для бедных». Если можно поговорить с кем-то в теме, то вообще отлично. (Не обязательно, чтобы он понял ваш рассказ, но очень хорошо, если задаст какой-нибудь глупый вопрос).

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

И вообще, блоки аналоговой электроники, возможно, полировались десятилетиями, и один блок может содержать в себе несколько изобретений разных авторов. А может и работу целых НИИ.
Я думаю секрет в том, какая технология первой начала внедряться массово.
Я предположил, что niksite путает BNC, который старье, с DOCSIS, который, в принципе, не так уж плох.

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Works in
Date of birth
Registered
Activity