Who could have guessed that running a #Python package sending data over #SocketIO to a page with #JavaScript to render #SVG at runtime using two separate embedded Chrome processes could cause my #Godot #VR flight simulator to have performance issues?

Well, once I became the person to guess that and I'm simply translating some textures with #Cpp everything is butter smooth again.
lidia

serve an aircraft instruments panel as a web page

PyPI

#ViệtNam #Mastodon #Game #Nextjs #SocketIO
🚀 Dự án game đánh máy multiplayer mã nguồn mở với con trỏ trực tiếp!
Phát triển bằng Next.js & Socket IO, hỗ trợ chế độ đơn, kết nối trận đấu, thống kê chi tiết & không yêu cầu đăng ký. Creator: /u/SAHAJbhatt
#ViệtNam #Mastodon #Game #Nextjs #SocketIO #OpenSource #TypingGame #LiveCursor #NoSignUp

https://www.reddit.com/r/SideProject/comments/1pj1bt6/built_an_opensource_multiplayer_typing_game_with/

GitHub - louislam/uptime-kuma: A fancy self-hosted monitoring tool

A fancy self-hosted monitoring tool. Contribute to louislam/uptime-kuma development by creating an account on GitHub.

GitHub

FastSIO: Как я попытался войти в open source, и надеюсь что у меня получится это сделать

FastSIO. Как я впервые сделал что-то для Open Source, и как я к этому пришел. И что из себя представляет новая Fast<> библиотека

https://habr.com/ru/articles/940234/

#python #socketio #pythonsocketio #fastsio #websockets

FastSIO: Как я попытался войти в open source, и надеюсь что у меня получится это сделать

Для начала: кто я? Меня зовут Костя, являюсь бекенд разработчиком, питонистом. 20 годиков, в общем еще есть время чтобы поработать над open source Взято из ТГ канала "Говнокод" Сначала небольшое...

Хабр
🐢🎩 Ah, the audacity of expecting a mere mortal to understand this labyrinth of #GitHub buzzwords! 🙄 Just when you thought #JavaScript couldn't get any more convoluted, behold: calling socket.io events as if you're dialing grandma's rotary phone — but with more steps and less clarity. ✨💻
https://github.com/bperel/socket-call #socketio #confusion #techhumor #codingstruggles #HackerNews #ngated
GitHub - bperel/socket-call

Contribute to bperel/socket-call development by creating an account on GitHub.

GitHub

Socket-call – Call socket.io events like normal JavaScript functions

https://github.com/bperel/socket-call

#HackerNews #SocketCall #socketio #JavaScriptFunctions #WebDevelopment #GitHub

GitHub - bperel/socket-call

Contribute to bperel/socket-call development by creating an account on GitHub.

GitHub

Parsing the Elite Dangerous Journal

I gave in and changed my event forwarding method in node-red for the Elite Dangerous Journal. This file is updated on various in-game events but in a way that makes it difficult to get new events only since last update. Another problem is that it’s not really a valid JSON file because it has one JSON per line but it’s not a valid JSON array. This is why it has to be parsed line by line and mashed together by event type (name) again to get the latest data for each event type per dump. Each event has it’s own timestamp by set by the game. The latest timestamp is now saved on the special flow const so node-red keeps the value in the “global” memory of the current flow:

msg.payload.event = "Journal";let newJournalTimestamp = flow.lastJournalTimestamp;Object.keys(msg.payload).forEach((key) => { if (msg.payload[key].timestamp) { const keyTimestamp = new Date(msg.payload[key].timestamp).getTime(); if (!flow.lastJournalTimestamp || flow.lastJournalTimestamp < keyTimestamp) { // this entry is new - keep it. MULTIPLE events may have the // same timestamp so wait with reassigning so we don't skip // em or get the latest a 2nd time if nothing else changes. // update the next latest timestamp if this is newer if(!newJournalTimestamp || newJournalTimestamp < keyTimestamp) { newJournalTimestamp = keyTimestamp; } } else { // lastJournalTimestamp is newer, skip this msg.payload[key] = null; } }});// make sure this is a valid date for the next timeflow.lastJournalTimestamp = newJournalTimestamp || new Date().getTime();// remove all nulled events from the payloadmsg.payload = Object.fromEntries( Object.entries(msg.payload).filter(([_, p]) => p !== null));msg.payload.timestamp = new Date(flow.lastJournalTimestamp);return { payload: msg.payload };

So I do now keep track of the last read timestamp and reject every event that is older than the last read keeping the Journal dump smaller. This way I don’t have to try to keep track of the “latest” event to drag data from. Refuelling e.g. can happen from whopping 4 (or more) different events and it’s painful to compare all and check which one is the latest to keep track of the real current fuel levels for each tank.

Downside is I won’t get a full set of data for the current session any more if I have to reload my HUD app. This could be mitigated by using MQTT though where I could simply persist each event topic. That is already implemented and I can choose between SocketIO or MQTT in my app anyway.

https://beko.famkos.net/2025/03/29/parsing-the-elite-dangerous-journal/

#EliteDangerous #EliteDangerousOdyssey #homeCockpit #MQTT #NodeRed #simpit #SocketIO

WebSocket vs Socket.IO: Real-Time Communication Guide https://jsdev.space/websocket-socketio/ #javascript #websocket #socketio
WebSocket vs Socket.IO: Real-Time Communication Guide

Explore the key differences between WebSocket and Socket.IO for real-time web applications. Learn when to use each technology, their performance metrics, and implementation best practices.

JavaScript Development Space - Master JS and NodeJS

Введение в WebSocket и Socket.IO

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

https://habr.com/ru/articles/882672/

#socketio #websocket #socket #longpolling #sse #server_sent_events #longpolling #serversent_events #http #httppooling

Введение в WebSocket и Socket.IO

В современном веб-разработке многие приложения требуют мгновенного обмена данными между клиентом и сервером. Чаты, уведомления, совместное редактирование документов, онлайн-игры – все они нуждаются в...

Хабр