I started this around two years ago, some time after switching my primary desktop from Windows to Linux, and I really missed foobar2000 - it has been my primary music player ever since. Unfortunately I have an irrational aversion to using Wine to run Windows applications, and none of the native music players on Linux felt good to me. As I already ran a Subsonic music server, I thought I’d just make use of that.
The existing browser-based clients for Subsonic were either too basic, or the state of their code and some implementation features made me uncomfortable. I just wanted a nice music player that allowed me to browse my collection similar to how I did in foobar2000 (using Subsonic’s ID3 tag based APIs, rather than the directory-based browsing offered by other clients), perhaps manage playlists, make ephemeral queues, and importantly, scrobble played tracks.
Podcasts, videos, and other things some clients support don’t interest me at all, and are a bit out of scope of a foobar2000-like client I beleive.
Aurial allows me to build a music player the way I prefer to browse, manage and play music (which admitedly, is quite heavily influenced by my prior foobar200 configuration and usage habits).
This was my first attempt at a React application, and it started off simply enough, with JSX transpiling and stuff happening directly in the browser. At some point Bable was no longer available for browsers, which led to my adoption of Webpack (and eventually Webpack 2) for producing builds.
This also led to things like needing some sort of CI, and I’ve recently begun producing builds via TravisCI which automates building the application, and deploying it to GitHub Pages, which I think is pretty neat.
I also got to play with HTML5’s
<audio/>a bit, as the player library I was using previously had some reliance on Flash, and was occassionally tricky to coax into using HTML rather than that. The result is infinitely smaller and less complex audio playback implementation (it’s amazing how much easier life is when you ignore legacy support).
Anyway, altogether it’s been fun, and as I’m using it contantly, it’s always evolving bit by bit. Hopefully someone else finds it useful too.
The title’s quite silly unfortunately, but I was recently doing some experimentation with uploading images to CouchDB directly from a browser. I needed to scale the images before storage, and since I was talking directly to the CouchDB service without any kind of in-between API services or server-side scripts, needed a way to achieve this purely on the client.
Thanks to modern APIs available in browsers, combined with a Canvas, it’s actually reasonably simple to process a user-selected image prior to uploading it to the server without the need for any third-party libraries or scripts.
Contrary to what most of the internet seems to say on the subject for Debian/Ubuntu systems, which seems to involve third-party tools and sometimes compiling things, I found the process much simpler on a modern system.
This is a small follow-on on from the Kodi on Debian Sid guide I did earlier this year to get
lirc(IR remote support) working once more, following an upgrade to version 0.9.4, which changes how the
lircservices and configuration work (shakes fist at systemd).
After upgrading and following all the instructions in
/usr/share/doc/lirc/README.Debian.gz, I was left with the problem of Kodi not responding to any remote input at all.
Firstly, I had to re-source my remote’s configuration (
mceusb) from the lirc git repository. Place the
*.lircd.conffile from there into
/etc/lirc/lircd.conf.d/and remove/rename other
.lircd.conffiles already in that directory.
irwand pressing some buttons on your remote should show you the button pressed and the configuration used.
Next up, Kodi fails to connect to the IR device. There are two trivial but non-obvious solutions:
Firstly, without changing any of the default configuration generated by the migration process outlined in the lirc README file, simply change your Kodi starup command as follows:
kodi --lircdev /var/run/lirc/lircd
Alternatively, you may change the lirc configutation, to put the device file back where Kodi expects it:
# in /etc/lirc/lirc_options.conf: output = /dev/lircd
Then end result should be you happily continuing with your life.
I recently spent some time in Australia, specifically Sydney and Melbourne, and took a bunch of photos from a few parks and interesting places in Sydney (unfortunately I was pretty ill and didn’t get out very far in Melbourne).
I really enjoyed the number of parks and amount of greenery around the city centres.
I recently went through the process of reinstalling the media PC connected to my TV, which I use to run Kodi for movies and TV, and Steam in Big Picture mode, which allows me to stream Windows-only games from my desktop to the couch.
I thought it would be useful to describe my setup and the process to achieve it, in case anyone else is interested in creating their own custom Kodi/Debian/Steam builds.
After almost exactly two years since the last release of Out of Eve, here is version 3.0.
As may be noted from the release note, the main goal of this release is to catch everything up with the current state of EVE, it’s API, and the static data dump.
Along the way some new stuff was also added an improved, like the new menu system which allows access to all your characters, so there’s no need to switch between them and then view detail pages, and the introduction of
memcachedcaching, which stores and retrieves entities loaded from the static database dump, reducing page load times and database accesses (a single page load may result in hundreds of individual MySQL queries).
I’m rather pleased with this release, and it seems a lot more solid than most before.
More a curiosity than an actual useful project, I just had an Idea I wanted to try out, and this is the result.
This Java application (or library, if you want to include it in your own project) simply takes a source image, a couple of optional parameters, and outputs a new image with a halftone- like effect.
Briefly, works by stepping through the pixels of the source image at an interval defined by the dot size specified, samples the brightness of that pixel, and draws a circle onto the destination image, scaled according to the source pixel brightness.
For reference, take a look at the
BufferenImageclasses. It’s really nice to half a whole bunch of image processing and drawing capabilities available within the standard library, rather than needing to rely on external things (as I recently discovered to be the case with Ruby - pretty much all image processing is done via an ImageMagick dependency).
The source, documentation and a download are available from the
image-halftoneGitHub project page.