PLUG Quiz Night: tonight

The time has come! The Perth Linux User Group is holding a Quiz Night tonight (doors open 7pm, Quiz starts 7:30pm), with questions very much based upon Linux & Open Source. It’s at The Moon & Six Pence in Murray Street. We’ve got a few prizes, and it’s free (through we’ll probably make you feel guilty if you’re membership isn’t 100% up to date ($10/yr)!!). Come share a drink and a laugh.

Mark Pesce’s Keynote is up

The video that sparked controversy at LCA 2011 in Brisbane this year is now available, accompanied by a warning for some of the graphic elements used within. Sure, that’s fine, some people are sensative to this, but for the majority of the world, look at the message being delivererd and try to see the point that, whatever your private indulgences are, they have the potential to be exploited by unwanted yet naievely and implicitly trusted services that the world takes a free ride on.

I think Mark took a lot of flack for this, but the message of the presentation is good. This coverage will hopefully bring more focus on the content of this keynote.

So, if you’re a balanced and forward thinking mature individual, see the video here; if you’re not, look here.

The furore that this has sparked has oveshadowed much of this, and put enormous pressure on the LCA and LA teams. Numerous apologies for the graphic content have been given. So now its not time to harp on about this issue again, but to look at the message within.

Freedom ain’t free. Freedom costs more than free.

This same issue goes for all “cloud” services that you’re being advertised right now. It’s not magic. It’s handing your data to someone else; it’s making sacrafices for your ability to control your information. Offloading your infrastrucutre to a 3rd party is easy, flexible, but you’re at the whim of a third party. Imagine trying to open a large bookstore application on Amazon EC2? How long until Amazon decide that they don’t want you competing with them?

Counting the Icecast stream eyeballs

I’m at home. And battling to cover costs of moving home, finishing renovations (garden), and playing breadwinner for wife and child. Despite working, finances weren’t there in time for me to attend the always fabulous Linux.conf.au in Brisbane this year, much to my disappointment, so I stayed home and, around work, watching the video streams.

Let’s start with a big thank you to the guys and girls who worked the A/V kit; ensured audio was there, video was focused and framed, slides were pulled in, and streams happened.

Icecast admin interface example
The Icecast administration interface

Which got me to thinking; how many people are watching? All very nice to know after the show, but what about real time, so that the director, team and even presenter knows where there audience is. Each icecast server does show this information when the server’s admin logs in. Neat.

However, to distibute content, you need a lot of severs to distribute the streams, and quite probably, these servers are being run by Other People, who probably don’t want to give you their admin password to log into their icecast server.

We need a way of having something take the values from the admin interface, and expose that so we can collect these statistics.

Thus I scribbled down two scripts: one a CGI script to fetch the data from the local icecast server and serve it as a CGI in JSON format, and a second to collect multiple instacnes of this CGI’s output in parallel.

The first script would be run by the same admin who runs the remote icecast server, as the script needs to have the icecast admin password. It uses XPath expressions to fetch relevent pieces of information, and return it as JSON, a pretty compact format.

The second currently just fetches this data and displays, it, but with a little more hacking it could pump these results into an RRD, thereby giving us the option of graphing the results.

It’s very much a poll, and probably something to repeat every 15, 30 or 60 seconds. It would need to dynamically handle the adding (and removing) of individual icecast servers as they are brought online. But it’s a start.

Code can be found in my pseronal SVN repo.

Brought to you by the Perl modules CGI, JSON, HTML::Treebuilder::XPath, WWW::Curl::Multi, and others.

While I’m here, I think next year we should arrange to have an Icecast server in each city of Australia. If I had to pick one issue, I was having to connect to the US or European relays when the one public one at UQ was full or “having a moment”. I’d urge each LUG around the country to, if they have a server on decent bandwidth, offer to relay the streams; if not publicly, then at least to their members.