Go для Dreamcast

Я только на прошлой неделе публиковал пост, в котором искал инструмент для программирования под Sega Dreamcast. И оказывается, такой инструмент уже давно есть! И даже на Go.

libgodc - это минималистичная реализация рантайма Go для игровой консоли Sega Dreamcast 1998 года, у которой всего 16 МБ памяти, одноядерный процессор SH4 на 200 МГц и отсутствует операционная система. Проект заменяет стандартный рантайм Go собственным, адаптированным под жесткие ограничения консоли. В этом сега-рантайме - кооперативный планировщик вместо вытесняющего, более простой сборщик мусора вместо конкурентного трёхцветного и фиксированные стеки по 64 КБ вместо растущих. При этом обычный код на Go продолжает работать как обычно.

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

Мне теперь очень-очень нужна дримка

Новости

Post Thumbnail

Время читать код

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

Post Thumbnail

wyzer

Свежий пятничный язык программирования! Wyzer - это современный язык программирования, который позиционируется как "молниеносно быстрый" и безопасный, с упором на простоту по сравнению с Rust. Вместо сборщика мусора или сложного borrow checker он исполь...

Post Thumbnail

Батчинг

Статья показывает, как в Go аккуратно батчить данные, поступающие в реальном времени, на примере обновления поля last_active_at для каждого запроса пользователя - вместо тысяч одиночных UPDATE группировать их в один UPDATE ... WHERE id IN (...). Суть подхо...

Post Thumbnail

KV на S3

Статья разбирает, как построить key-value базу данных, у которой основным слоем хранения является объектное хранилище вроде S3, на примере движка IsleDB на Go, и почему наивная замена "файлов на диске" на "объекты в бакете" не работает. СУБД неявно полагается ...

Post Thumbnail

Сервисы на Rust

Автор объясняет, почему Rust - отличный выбор для средних по размеру backend-сервисов, несмотря на меньшую "продуктивность" по сравнению с Go. В Rust богатая система типов, проверки компилятора и zero-cost-абстракции избавляют от багов бизнес-логики. В ст...

Post Thumbnail

Платите за скорость

В системах хранения данных каждая быстрая операция записи переносит недоделанную работу в другое место: возврат успеха сразу после копирования байтов в память оставляет риск потери при крахе машины, ожидание локального fdatasync() на SSD переживает сбой процес...

Статьи

Post Thumbnail

DNS на Zig

Это должен был быть перевод статьи "From Log Reader to Packet Crafter — Building DNS from Scratch in C". Но автор довольно фигово написал исходную статью и не удосужился показать весь написанный код, Поэтому я решил пойти дальше, реализовать очень маленький ин...

Post Thumbnail

Playdate

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

Post Thumbnail

Привет Ethernet

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

Post Thumbnail

RAG в Go проекте

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

Инструменты

Post Thumbnail

netronome

Это современный инструмент для тестирования и мониторинга скорости сети, созданный на Go и React

Post Thumbnail

dashbeam

Бесплатный open-source инструмент для передачи файлов и папок напрямую между устройствами через peer-to-peer сеть, без загрузки в облако, без аккаунтов и ограничений по размеру. Вместо WeTransfer или Dropbox файлы пересылаются device-to-device по протоколу QUI...

Post Thumbnail

awesome-free-models

Тщательно отобранный список бесплатных моделей, API и инструментов ИИ

Post Thumbnail

cryptgeon

Это безопасный open-source сервис для обмена заметками и файлами, вдохновлённый PrivNote и написанный на Rust и Svelte, а также имеющий CLI-клиент. Каждая заметка получает сгенерированные 256-битные id и ключ: id используется для сохранения и получения заметки...