Morrigan α5

October 18th, 2010

So its been aages since the last ‘release’ and since the codebase has been stable for a week and I have not encountered any issues while using it myself, I thought I might as well make another drop. Also it helps that when I tell people about this project, that there is a nice recent release for them to play with.

Much code has changed during this period with the most important new feature being the new DB structure which supports having both music/videos and pictures in the same DB (MMDB = Mixed Media Data Base), significantly simplifying both the UI and the backend-end. At lot else changed in the 416 revisions that occurred between releases, but since no one really used the previous release, listing the changes seems somewhat pointless*. Suffices to say that is version is at the very least a lot less buggy.

Builds for all 3 platforms can be found on the Morrigan project page.

Any issues, please let me know.

( * Note to self: remember to keep a nice “changes” list for next time. )

Morrigan’s CLI

September 7th, 2010

One really handy feature of OSGi is the ability to supplement the OSGi console with extra commands. This is particularly useful for creating very quick test/debug interfaces for each of you OSGi bundles. The console is only shown to the user when the OSGi environment is started from the CLI and and “-console” parameter is specified, so for general usage this can be left neatly hidden. So when things start to go a astray, you can just dive in and start poking around to see what is going on. In more advanced setups, the console can be tunnelled to a port and accessed via telnet or ssh.

As part of the headless version Morrigan, I have now added a handy CLI interface for testing / configuring it – essential until all this functionality makes it in to the WUI. Below is a summary of all the currently supported commands (copied form the help text).

For now I have grouped all the commands under a top-level command of ‘mn’ (short commands are easier to type). I am still working on this and trying to decide the best command structure, so suggestions are very welcome!

As an initially usability test, try and guess what all of these do. :D


mn media
mn media create <dbname>
mn media add <dir> <q1>
mn media scan <q1>
mn media <q1>
mn media <q1> <q2>
mn players
mn player 0
mn player 0 play
mn player 0 play <q1>
mn player 0 play <q1> <q2>
mn player 0 queue
mn player 0 queue <q1>
mn player 0 queue <q1> <q2>
mn player 0 queue clear
mn player 0 pause
mn player 0 stop
mn player 0 next
mn player 0 order <order>
mn play
mn play <q1>
mn play <q1> <q2>
mn queue
mn queue <q1>
mn queue <q1> <q2>
mn pause
mn stop
mn next
NOTE 1: <q1> = list, <q2> = item in <q1>.
NOTE 2: Only omit player ID when there is only one player.

I will be posting a build of the headless version in the next couple of days for general testing.

Morrigan α4

June 15th, 2010

Its been ages since α3 and during that time much has changed. Not a huge number of new features but there are, I feel, some significant improvements in the quality of the code base (I have done quite a lot of refactoring, debugging and optimising).

The most notable new feature is that there is now an embedded Jetty server. This provides two things: 1) a web UI to remote control Morrigan and 2) REST-like APIs for other apps to interact with. Also this server can be started on a headless server.

The existing web UI (WUI) is very primitive and is mostly a proof of concept. Once this is more detailed the headless mode will make a lot more sense. I hope to persuade a far better web developer than I to design that part. The WUI is also very hackable as the whole thing is contained in a .war file in the app’s root directory.

The REST-like API are also quite primitive, but the API for listing libraries and retrieving their content is quite functional. My initial proof that it works is that you can now use the Morrigan UI to browse the content of a library located on a remote machine. You can’t do anything with the list of tracks yet other than look at it, but this will improve soon. The server can send the media files, its just that I have not consumed this function yet.

Oh and aside for the web-server stuff, there are numerous other improvements and fixes. :)

As usual, builds for all 3 platforms can be found on the Morrigan project page.

A note for Mac users: The only java-compatible playback engine I know of that works on Mac is JMF, and so for now I am packing this with the mac build. To get it to play anything other than wav files, you may have to:
1) Install JMF on your system.
2) Build a custom JMF jar and feed it to Morrigan (put it in the engines dir). I had to do this on my XP box.
Feel free to ask if you need help with this.

O2′s definition of ‘unlimited’

May 17th, 2010

On the 10th of May I received a very strange phone call from O2 regarding my broad band account. After finally establishing that the caller was legitimate, they informed me that I was over using their service and had to reduce my usage with in a month or I would be disconnected. Well that is the summary, their actual logic goes like this:

- My broadband account is “unlimited”.
- I used more than 40GB last month (51GB to be precise).
- If I use more than 40GB this month I will be disconnected.
- I very defiantly do NOT have a bandwidth limit of 40GB per month.
- My broadband usage is unlimited.
- O2′s terms and conditions clearly state that “There is no limit on the monthly network usage.” (http://www.o2.co.uk/termsandconditions/broadband).
- If I use more than 40GB this month I will be disconnected.

The call went round and round in circles for quite some time, with me becoming increasingly confused. The lady on the other end of the call was very adamant that I do not have a monthly usage limit. But I must use less than 40GB per month. I was assured that I would receive further details in writing. So before rushing to blog my distress, I decided to wait for the details so that I could get the facts right.

Today, May 17th, I received an email from O2. The body of which reads as follows:

We hope that you are enjoying your home broadband experience with us. Unfortunately, it looks like you’ve been using significant amounts of our network capacity and it’s affecting the service that our other customers get.

We need your help to make sure that all of our customers get the most from their broadband service. Here are some of the things you can do:
* Be Aware – Make sure you know what’s using up a lot of bandwidth.
* Peer-to-peer software – like Bittorrent. As these programs download and upload files, you might be using more than you realise.
* File sharing – some programs might run continually in the background. If you turn off the ‘auto start’ setting you can stop this.
* BBC iPlayer – If you’re using the old version, switch to the new version – it uses less capacity
* Ask around – Someone else in your house might be using it more than you realise. Ask everyone to use a bit less
* Lower your download speed – Most file sharing programs let you set a maximum download speed, please set yours to low.
* Download an application that will monitor usage – There are lots available to download for free and it might help you keep an eye on how much you are downloading

And the simplest solution is to download and upload less.

Taking some or all of these steps will make sure all our customers get the most from their broadband. We’d like to help you sort this out as things unfortunately can’t carry on like this. Sadly, unless you cut down by next month, we’ll have to cut you off. It’s not something we want to do, but it’s the only way to make sure all our customers get the same quality service.

And if you’ve got any questions or need some help to cut down, please call us.

Regards,

Felix Geyr

Head of O2 Home Broadband

Ignoring the fact that it took them SEVEN DAYS to deliver a generic email, I really have to wonder how this counts as “further details”. There is less detail in this email than the cryptic phone call a week previous. The threat is big – disconnection is a heavy-handed reaction. And they have not even provided estimates of my bandwidth usage. No numbers for me to work with. Just a looming threat designed to scare me into using my connection as little as possible.

Even more strangely, they email also fails to quote any O2 policy, or even link to it. Finding the actual wording of their fair usage policy on O2′s web site is not trivial. There any many passing references to it, but no hyper links. When I did finally find it, it is as expect, very vague and unhelpful.

So the only option left is to take Felix up on their generous offer and phone O2 back and try and get some more details from them. Or at least ask if I can borrow their dictionary.

To clarify: its not that I am having a go at O2 for imposing a bandwidth limit. Its they keep claiming that they do not, and then getting annoyed when I believe them. If I do not know what the limits are, how am I supposed to obey them?

Pipe lamps: Work in progress…

May 16th, 2010

Still need to work out where the transformers are going to go (the small boxes at the bottom). I have yet to work out how to conceal them amongst the structure. It has also been suggested I should try and make it look more ‘attached’ to the table.

I have also started to hook up CC tubes in various other interesting places. When I have finished the overall effect should be fairly good.