Echo goes open source!
Tim and I have been discussing releasing Echo under an Open Source license for some time (years in fact). The main blockers were lack of documentation, and a number of tasks that we (mostly me) wanted to get done before release. Things like better platform support, a few known minor bugs, better defined interfaces etc.
Communicating between C++ and JavaScript
Recently I had to refactor some code that was starting to become a bit unmanageable. It was fairly boiler plate and most of it was just taking data structures in C++ then serialising the data to JSON. The state the the module in question can be attributed to it being created quickly in order to support communication between our system (C++) and our JavaScript web interface, with the JSON format never being designed in the first place, and our rapidly changing system.
Library and system updates
Support for Ubuntu 14.04 LTS ran out this month and as a result I have made the move to 18.04 LTS. I skipped 16 on my main machine, because I ran it on my laptop for a while and had numerous issues, and setting up a ZFS array from scratch is a little more time consuming than just installing from a USB. When I started my current job I found myself working on 16.04 for work, with which we've had ongoing problems as well. I'm hoping 18.04 proves to be much better (so far so good, but it has only has about 72 hours).
Adding swap to a ZFS root system
I'm running Ubuntu on ZFS which I set up using instructions found on the ZFS on Linux site.
Emblem Modules, Java and SSL
If you aren't aware, I publish a NetBeans plug-in module called Emblem Modules. The project can be found in the Echo 3 templates folder. The module includes a single Echo Templates wizard that uses the EchoApplication template (both also found in the same location).
Is your game crashing due to Audio on Android but not PC?
I recently came across a bug in OpenSLESAudio which is sometimes causing a crash. Since this audio implementation is only used on Android right now this only affects Android platforms. The crash appears to occur when MusicBox plays the same sound twice and they happen to end at the same time. {T551} has been created to address the crash but it is is also likely the Android implementation will end up using OpenALAudio as it will be one less implementation to manage.
Changes to the Android build environment
I've been working on the Android toolchain, mainly to try and get C++11 support working and since I was making changes to the toolchains I ended up modifying some things that will mean you need to update your environment.
Easier Bullet physics
Although it hasn't been super obvious as to how they are used unless, perhaps, you're not familiar with the Bullet Physics Engine, but Echo has classes that allow you to use Bullet with SceneEntity objects.
New Echo dependency and build environment changes
I've just pushed some changes that will require a few simple updates.
Android Devices
This page shows the split of different Android system versions out in the field.
ZFS and the mystery of the missing zed
I run ZFS arrays on multiple machines, including the server our Phabricator is hosted on. I usually keep an eye on the disk arrays from time to time but if a drive fails you really want to know about it as soon as possible. I read quite some time ago about the ZFS Event Daemon, or "zed" but have been disappointed that it hasn't been included with the ZFS package even after various updates.
Script to play a random sound at KDE login
While I was waiting for one of my servers to perform a test backup operation I was opened my music folder to find something to play. In the root of my music folder, usually ignored, was the a file named Win95-startup-sound.mp3, for a little bit of fun I decided to play it. The fun didn't end when the sound finished.
Beginnings...
I have an old project that I want to revive, called Meggit. Meggit is a simple cutesy 2D platformer with some educational and puzzle aspects to be woven in.
Initially implemented in 2006 as a prototype using Klik & Play, then remade in ~2010 using Python and PyGame, I tried to resurrect it for mobile platforms in 2012 by rewriting from scratch using Java and LibGDX. This probably would have been a decent approach but I got bogged down in changing its physics tick implementation, then my time was consumed elsewhere and I didn't pick it up again.
Open Source Development Suite
Every tool mentioned hereinafter is free and open source. Most are cross-platform (excusing, of course, the operating systems which are platforms).