В 2022 году мало кого можно удивить DOS игрой в браузере. Благодаря dosbox они доступны на многих платформах. А поддержка браузера появилась с развитием компилятора emscripten. js-dos один из самых заметных проектов портирования dosbox в браузер. Последняя версия js-dos уже имеет достаточную производительность для комфортной игры в такие игры как Duke, Doom, C&C, Red Alert, WarCraft и многие другие.
Вангеры в 2022 году продолжают удивлять, прежде всего людьми которые когда-то полюбили эту игру, но сегодня не забывают и вкладывают много сил, делая её лучше, современнее. Оригинальная игра получила обновление с поддержкой полноценного 3D, да не абы какого, а кросс платформенного - работающего на всех системах и даже в браузере. Статья о том, как нетипичная связка технологий помогла запустить обновление в браузере.
Вангеры одна из самых почитаемых и технологичных игр своего времени, продолжает жить и развиваться. Благодаря сплоченному сообществу игра получила множество усовершенствований: HD, 60 FPS, новые сетевые режимы и много другое. Vange-rs один из интереснейших проектов по Вангерам. Это rust версия игры, основной изюминкой которой является 3D рендер основанный на wgpu.
Недавно я написал небольшую статью о стриминге DOS игр в браузере. Настало время сделать небольшой технический обзор. Проект ведется исключительно мной, поэтому я его позиционирую как любительский. Среди общедоступных технологий позволяющих сделать стриминг игр можно выделить только WebRTC на нём и построен мой сервис. Как вы уже наверное догадались он состоит из браузерной и серверной части.
Давным давно я занялся разработкой JavaScript API для запуска DOS игр в браузере. После стольких потраченных сил с удовлетворением могу сказать, что многие сайты со старыми игрушками перешили и используют именно мое API. Но, прогресс не стоит на месте и я занялся разработкой следующей версии js-dos.
Уже более 5 лет существует проект emscripten. За время существования проекта была проделана огромная работа. Удивить искушенного читателя стало гораздо сложнее. Мы уже видели DOOM, Dune 2, TTD, С&C и много чего ещё в браузере. Однако, запустить DOS программу в браузере по прежнему сложно: нужно не плохо разбираться в C/C++ и emscripten. Эксперименты с Dosbox вылились в проект em-dosbox, большинство DOS программ стали доступны для браузера. Что бы поставить точку, осталось лишь создать открытое API для запуска DOS программ в браузере.
Некоторые вещи с годами становятся только лучше. Например, классические игры, разработанные в эпоху DOS завораживают. Каждая из них — штучный продукт сделанный с большой любовью. К сожалению DOS платформа ушла в прошлое и вместе с ней уходят замечательные продукты. Вернуть их в современный мир — это ли не настоящий подарок?
Play! и Lift, — эти два фреймворка являются олицетворением того, куда движется основной поток Scala веб-разработчиков. Воистину, попробуйте поискать на Stack Overflow фреймворки для Scala и вы поймете что я прав. Я верю, что процент здравомыслящих людей, которым надоели сложные комбайны, велик, поэтому расскажу про «другой» фреймворк Xitrum.
log4j широкоизвестная библиотека логирования, нашедшая своё применение во многих проектах. Её возможности не ограничиваются «добавлением строчек в лог-файлы». На базе log4j можно организовать сложную систему агрегации логов на центральный сервер. Кроме того, сообщество располагает GUI утилитами для анализа логов, которые удобно подключать к центральному серверу для анализа логов.
Достаточно большое число людей используют github для хранения исходного кода своих проектов. Идеология fork/pull request позволяет достаточно легко выполнять обзоры кода (code review). Обзоры кода в значительной степени позволяют поднять качество кодирования в проекте. Однако, часто человек выполняющий обзор кода вынужден заниматься проверкой стандартов кодирования принятых в проекте, и прочих очевидных вещей не связанных непосредственно с задачей решенной в pull запросе. Такие ошибки кодирования могут и должны быть обнаружены автоматически.
Всем доброго времени суток. Особенно любителям игры Transport Tycoon Deluxe. Напомню, что я занимаюсь портированием OpenTTD на JS и в последние время работал над портированием сетевой части игры. Сейчас промежуточные сборки позволяют играть по сети на одном игровом сервере. На данный момент сервер может принять до 255 игроков, а в одной игровой сессии может быть созданно до 15 компаний. Компанией может управлять как один, так и несколько человек (бекэнд — обычный OpenTTD сервер). Что бы не ударить в грязь лицом, я бы хотел провести закрытое тестирование.
#!/usr/bin/perl -c
Please, listen to, my $words;
seek love, joy, happiness for everything;
study hard and sleep longer if able;
# Perl Poetry, The Sentiment
# (c) http://www.perlmonks.org/?node_id=882536
Статья является дополненным переводом статьи «HOWTO: Port a C/C++ Library to JavaScript (xml.js)» (автор: azakai). Автор оригинальной статьи имеет приличный опыт портирования C/C++ библиотек в JavaScript. В частности, он успешно портировал lzma.js и sql.js. В своей статье он описывает общую схему портирования C/C++ кода на примере libxml – открытой библиотеки для валидации XML.
Redmine – прекрасная система для управления проектами и отслеживания ошибок. Однако (из моего личного опыта использования), она не способна выстроить в работающем коллективе самоорганизующуюся систему контроля ошибок. Разработчики бывают слишком заняты для того, чтобы отслеживать все комментарии, относящиеся к их задачам; с другой стороны автор, создавший ту или иную задачу, точно так же редко в неё заглядывает.
Profile-guided optimization (далее PGO) — техника оптимизации программы компилятором, нацеленная на увеличение производительности выполнения программы. В отличии от традиционных способов оптимизации анализирующих исключительно исходные коды, PGO использует результаты измерений тестовых запусков оптимизируемой программы для генерации оптимального кода.
Данная статья – результат моего первого опыта статического анализа достаточно большой программы (1665 файлов с исходными текстами на данный момент). Кроме того, это мой первый опыт использования среды Microsoft Visual Studio. Разработка анализируемой программы велась исключительно в Ubuntu, Eclipse CDT, компилятор GCC.
Статья рассказывает об опыте знакомства с IoC-контейнером PocoCapsule (C++), возникших трудностях и способах их преодоления. Помимо прочего статья включает небольшой пример для быстрого старта с PocoCapsule (упрощенный проект «Hello World» с официального сайта).
Вспомним, что же такое MozSwing. MozSwing — единственное адекватное (по моему мнению) бесплатное и кросс-платформенное решение для встраивания браузера как компонента swing. Но, как ни печально это признавать, проект умер еще на той стадии, когда в нем оставалось слишком много ошибок. Эти ошибки, а так же просчеты в архитектуре, не позволяют использовать это решение «как есть», для ваших проектов. С непреодолимым желанием исправить это, я взялся за работу и кое-что у меня получилось.
(Статья о интеграции браузера Mozilla, как Swing компонента).