WebAssembly.

После комментариев на Хабре я ограничил чтение SQLite и перевёл Docker-модуль в WASI

Привет, Хабр.В прошлой статье я рассказал про свой мониторинг Pulse: переход с JSONL на SQLite, разрешения модулей и квитанции для операций с неизвестным исходом. В комментариях мне задали вопросы, после которых пришлось снова открыть код.Что будет с WAL, пока пользователь читает большую историю, а агенты продолжают писать? Что именно доказывает квитанция после перезапуска контейнера? И какой смысл в разрешениях, если исполняемый файл модуля всё равно работает с правами агента?

продолжить чтение

Cloudflare и VoidZero представили tsrs — порт TypeScript на Rust, сгенерированный ИИ

Компания Cloudflare совместно с VoidZero и Максом Швенком из компании Owner.com анонсировала

продолжить чтение

Как мы выбирали шумоподавление для БОЛТУНа

Занялись шумоподавлением в БОЛТУНе. Хотелось убрать из разговора клавиатуру, фон и, если получится, чужие голоса рядом с микрофоном. При этом оставить в покое голос самого игрока и не отъесть у игры процессор.Сначала прошлись по основным подходам и инструментам: штатная обработка браузера, пороговые фильтры, SpeexDSP, RNNoise, DeepFilterNet, выделение голоса по образцу. Потом собрали стенды и начали проверять то, что подходило под нашу задачу. Попробовали нейросеть в браузере, вынесли её в нативный процесс, посмотрели на нагрузку от нескольких пользователей. А сейчас занимаемся более простой обработкой пауз.

продолжить чтение

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

Я собирался написать статью про Markdown. В процессе внутри документа оказался Doom.До игры ещё доберёмся. Но сначала — почему два пробела меняют поведение абзаца, обратные кавычки не всегда спасают таблицу, а одинаковый .md на Хабре и GitHub может оказаться двумя разными документами.Для тридцатой статьи я выбрал Markdown. После расширения, которое сохраняет публикации Хабра в .md, хочется разобраться и с самим форматом: что он умеет, где удивляет и почему один файл в разных редакторах выглядит по-разному.

продолжить чтение

Палеокомпьютинг, часть 2: Kubernetes на Обероне, радио Вирта вместо сети, кластер в браузере и преимущества перед K8s

Представьте кластер Kubernetes, в котором нет ни одной сетевой карты. Его узлы ничего не знают ни о TCP/IP, ни даже об Ethernet и перекликаются по радио короткими пакетами по 32 байта, как прорабы по рациям на стройке. Управляющий слой написан на языке конца восьмидесятых и вместе с сетевым протоколом занимает около 1250 строк. Чтобы запустить под, ничего не нужно скачивать: узел просто загружает модуль и вызывает в нём процедуру. А главное, всё это открывается во вкладке браузера: можно выдернуть узел из розетки, заглушить эфир, подсунуть кластеру поддельную команду и посмотреть, что из этого выйдет.

продолжить чтение

Собака, которой нет: как я учил робота Pin бегать рысью, не купив ни одного сервопривода

У моей собаки Pin двенадцать сервоприводов, десять килограммов веса и ни грамма железа: она живёт в браузере. Тем не менее она трусит рысью со скоростью 35 см/с, держит курс по гироскопу и однажды села на хвост, когда я попробовал научить её прыгать.Это рассказ о том, как в учебной платформе PinPort появился четвероногий робот, что у него внутри и почему ходить у него получилось раньше, чем бегать.

продолжить чтение

Как собирать кроссплатформенные приложения. На C++. В браузере

TLDR; Нельзя просто так взять и запихнуть реальную систему сборки в браузер. Но если обойти некоторые тонкие технические и юридические моменты - вполне можно, что мы показываем наглядно. Статья о том, как это сделано, и немного о том, где можно применить.Идея запихнуть clang в браузер и собирать приложения не нова: это уже делали, как минимум, в Emscripten, и ещё пара исследовательских проектов. Проблема в том, как это использовать в практических сценариях: программирование это не про работающий компилятор, это про целую кучу прикладных библиотек, про инфраструктуру

продолжить чтение

Компьютерное зрение для контроля качества на линии: гречка, брак и бесплатная платформа для разметки и обучения модели

Всем привет.Сегодня я расскажу, как решал задачу по определению качества крупы гречневой через Computer Vision.Задача состояла в том, что по фото с фотосепаратора (такая штука которая отделяет хорошие зерна от плохих) необходимо определить качество крупы: сколько доброкачественных ядер уходит в некондицию и сколько плохих остается. Размечал и обучал модель я на своем портале picva.ru который доступен всем желающим бесплатно.Зачем это производствуНа производственной линии крупа идет сплошным потоком. Фотосепаратор удаляет зерна, которые считает некондицией (плохими).

продолжить чтение

Палеокомпьютинг, часть 1: процессор Вирта, проект Оберон, новая архитектура в Qemu и KubeVirt и запуск в Cozystack и K8s

1 января 2024 года умер Никлаус Вирт, человек, который придумал Pascal, Modula-2 и Oberon, получил премию Тьюринга и всю жизнь упрямо воевал с раздутым софтом. Мало кто знает, что уже глубоко за семьдесят он сел и спроектировал собственный процессор, маленький и простой, чтобы на нём можно было показать студентам компьютер целиком, от логических вентилей до окон на экране.

продолжить чтение

Google запустила LiteRT.js для ускорения обработки задач ИИ в браузере

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

продолжить чтение

123