I'm a high school junior and partial IB student from the United States who enjoys software, reading, and writing. I'm also interested in other creative fields, including pixel art, 3D art, digital art, animation, and drama. I enjoy listening to music by Thomas Bergersen and DM DOKURO, several other artists, and video game soundtracks.
The allure of open source software and being responsible for my own services is tempting, though I generally trust large corporations to be able to provide a more stable and attack-resistant service than I can provide myself. When I move to self-managed options, it is typically for the joy of doing so rather than any ideological reasons, though I tend to agree with the typical ideological reasons there are for moving away from large corporations' services, like avoiding unwarranted changes to them.
Here are my former ActivityPub profiles:
- @jomarm@blahaj.zone (Note: I do not control this server.)
- @jomarm@mas.town (Note: I do not control this server.)
- @jomarm@mastodon.wardenbypass.tk (I have shut down this server.)
- GitHub
in reply to this object
@beko@beko.famkos.net over ActivityPub it looks like the <pre>
formatting for this article is broken, because it's all in one line. In application/activity+json
format there seems to be spaces where newlines should be.
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 validJSON
file because it has oneJSON
per line but it’s not a validJSON
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 specialflow
const sonode-red
keeps the value in the “global” memory of the current flow: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 usingMQTT
though where I could simply persist each event topic. That is already implemented and I can choose betweenSocketIO
orMQTT
in my app anyway.https://beko.famkos.net/2025/03/29/parsing-the-elite-dangerous-journal/
#EliteDangerous #EliteDangerousOdyssey #homeCockpit #MQTT #NodeRed #simpit #SocketIO