Serviio and high quality LPCM audio output

So a quick post here. If you want your Serviio instance to push 16-bit, 2 channel LPCM audio to your DLNA client or renderer, you need to configure your audio profile like this:

<Audio targetContainer="lpcm" aSamplerate="48000" aBitrate="1620">

Basically, aBitrate=”1620″ for LPCM means 16 bit 2 channel. The default (as of this writing) appears to be 192, which makes no sense, and gives you horrible 1-bit 2 channel LPCM.

If you need help with editing the audio profile, read this slightly technical article: 

Now go have fun 🙂

The Rift Between Airtel Nigeria and Its Call Center Agents

The Sound of Abuja

Airtel is the current name of the estranged Second Mobile operator to launch its Network in Nigeria back in 2002. The Company started out as Econet, became Vee Networks, and then switched to V-Mobile before people could get accustomed to the new name and then settled on being owned and operated by Celtel for a few years. It spent another few years going by the moniker “Zain” and in 2010, morphed into Airtel.

Upon acquiring the totem, Airtel greeted Nigeria with a glowing marquee of price cuts, an event which attracted significant media coverage and was well liked by the people. Behind the scenes however, more straight-faced business measures were being adopted. For one, the Call Centre operations which had previously been handled by 3 mostly local firms: Bezelyn, CCSNL and HR Indexx were slated for outsourcing to two large firms with Indian roots: Spanco and Tech Mahindra. This move was expected by the affected call centre agents to imply the transference of their employment to the new firms–basically a managerial concern. The average work routine wasn’t expected to change much, the agents were assured.

Some ancillary concerns of the call centre agents that had been addressed to varying extents, and which had been languishing in recent times were brought to the fore again. For instance, the call centre agents had always expressed a desire to have “official” phone lines, at least to ease communication with their colleagues. They considered it to be a reasonable perk, considering that they worked for a telecommunications company. Most of the agents also did not have identity cards, and those who did still held cards from when the company was owned by Zain.

Towards the end of the first half of this year, curious events began to unfold. A good number of pregnant women got fired under mysterious circumstances, and practically all call centre agents who had gone on leave did not receive their full allowances and entitlements on pay day. Other agents had their pay delayed and no explanations were forthcoming. With no pay, and no explanations, and a few absent colleagues, the agents responded by “downtooling”. An action described as being present at work, but not being very efficient. This happened on the 9th of Jun 2011, and it attracted some attention because the people who were fired were re-instated, and the Airtel management promised to pay back salaries in full and work towards providing phone lines for the agents and producing identity cards for them.

Calm ensued but was short-lived because a fresh controversy arose concerning the payment of bonuses following a profitable fiscal year for the company. The call centres are organised with the lowest rung being the “agent”, directly behind the “Team Lead”, before the “Assistant Manager”, and all headed by the “Manager”. End of year bonuses were received by everyone except the agents, and feeling short-changed they embarked upon a Strike action on the 18th of July 2011. Call centres were closed as part of the action, and again the Management resumed negotiations, promising to pay ₦21,000 (twenty one thousand Naira) as bonuses to the call centre agents.

Spanco and Tech Mahindra (it is a bit confusing who exactly is in charge) informed the agents that the current salary structure could not be sustained, and the agents would have to accept a 60% pay cut, or a 50% reduction in workforce, as well as changes to their working schedules, raising the working hours to 8 hours a day, 6 days a week, no breaks, 6 days of annual leave and a maximum of 12 days of sick leave per annum. This deal was presented to the agents early September and it appears that no official notice was served, which culminated in 3000 people showing up at work on Friday the 30th of September 2011, surprised to receive notice of termination of their appointment, and receiving 1 part of a multi-part text message informing them that the call centre will be closed at midnight because an agreement could not be reached between the management of Airtel and the call centre outsourcing partners (Bezelyn, CCSNL and HR Indexx). One of such texts read as:

Dear Call Centre Agent, the Management of CCSNL would like to inform you that our contract with Airtel expires today and therefore we would like to inform you t

It is a multi-part text message which was not completely delivered.

Currently, customer care calls emanating from Nigeria are being routed to Ghana following the closure of the two call centres in Lagos and Abuja.

Airtel’s most official sounding response to the entire storm is as follows:

Artel Call Centre Shutdown: The True Position

Contrary to the rumours and outright falsehood being peddled across certain social media platforms, Airtel Nigeria has not sacked any of its employees and does not have any intention to cut staff salaries. Airtel employees remain committed.

Regarding the recent call centre shutdown, the contract of an agency to one of our partners expired yesterday, September 30th. About 40 percent of call centre workers are employees of this agency. Despite the contract expiration, several employees of this agency will be re-absorbed into the system. So, the issue of mass sack, salary cut and poor benefits are outright falsehood.

Airtel is committed to realizing its vision of being the most loved brand in Nigeria and will continue to ensure that the dialogue between its call centre partners and their employees is fruitful and productive.

We also remain passionate in our quest to continue to provide our customers with the best service experience.

This statement is however at odds with the facts as at Midnight of 30 September 2011:

  • The privileged agents who have official lines were removed from the Airtel Staff Closed User Group which allowed colleagues to communicate with each other free of charge.
  • The official lines were stripped of all benefits, and functioned like regular phone lines.
  • Affected staff email accounts were deactivated.


Samsung SyncMaster B2230 Monitor with HDMI Input

The Samsung SyncMaster B2230 looks like a sensible 22″ Display, with a HDMI port for hooking up your PS3 or XBox 360 (my wishlist :) ) , and VGA + DVI ports that enable the device to also serve as a pretty functional computer monitor with a resolution of 1980×1080 (1080p in HD parlance). All the other technical specs usually don’t matter to me. I only care about display resolution and input sources.

It is a good choice if the features I have described above meet your needs. There’s only one problem though. If this monitor will be staying in your bedroom, then you are going to get really annoyed with it whenever you wish to sleep.

I would avoid this (otherwise great) monitor for the following reasons:

  • The Standby signal is a bright blue, blinking LED that will frustrate your attempts to go to sleep if you’re anything like me. I can ignore static lighting easily, but a blinking light feels like a nagging invitation to spar, and this Samsung’s light is particularly bright. Bright enough to notice the shadows cast even when your head is facing the other side of the room.
  • The poor device puts up too much of a fight when it fails to detect any signal on its inputs. I mean, it would first scan all known inputs looking for something to display, about three times per input. If all that fails, then it starts playing a screensaver that says “check signal cable”. Imagine that. And they have the nerve to put a “Magic Eco” sticker on the front. No need to tell you how annoying that is. A 23″ Samsung monitor with HDMI that doesn’t have the sense to shut itself off if it has no work to do. (My previous monitor was a 17″ Mercury, whose usefully dull LED changed to orange when there was either no input, or when it was in standby. No fussy noises).
  • The darned “touch” buttons on the front panel are annoying. Yes, touchscreen phones are nice and popular, but I want to be able to adjust the brightness of my display without having to look for where to touch, or wondering if my touch was actually received by the slow glass box. I want tactile feedback, please, if you’re going to make slow and unresponsive touch surfaces where they are not needed. If I want to watch a DVD for instance, I need to switch to the HDMI input. It usually takes up to 6 “touches” to get the switch made. 6 because far too often, my touches don’t register, or I touch the wrong place.
  • On the issue of touch buttons, It would be nice if all these hardware manufacturers stopped replacing everything with touch. I’m looking at you HP. The volume buttons on my laptop are there for decoration only because (a) I can’t see them in the dark, and since they are not real buttons, I can’t feel them either. (b) If i try to use them, I can never get the volume setting where I want it, because I do not get any feedback as to how many presses I have registered, until the volume gets too loud, or too low.

I understand some people like the bling. If you like to fill your room with blinking lights while sleeping, knock yourself out, this is a great monitor.

If you prefer the things you use to never draw attention to themselves (except your phone of course), then you will less than happy with this monitor.

If you’re looking for a monitor, there, you just had a review of this Samsung monitor from a grumpy guy who has owned one for 2 months now.

Random Quote:
An idealist is one who helps the other fellow to make a profit. — Henry Ford

Update on running your own recursive nameserver

I upgraded my system to Ubuntu 10.10 today and was surprised to find out that bind refused to start.

After a bit of investigation (without internet access because I decided not to fall back on a temporary nameserver), I found out the correct form the configuration file had to take. I still  don’t understand why it worked in the previous version when it now looks like it was erroneous.

Anyway, the updated and functional file can be found at

On a side note, my system feels a whole lot snappier right now. Yeap, that’s puzzling as well.

Random Quote:
Say something you’ll be sorry for, I love receiving apologies.

Running Your Own Recursive Nameserver on Ubuntu 10.04 (Lucid)

I got tired of my ISP’s annoying DNS servers that redirect me to search results I don’t want, complete with advertising, every time I mistype a domain name in the browser. So I changed my nameservers to google’s public DNS. I even set up a simple caching nameserver on my system in a bid to improve performance.

This met my needs, because Google doesn’t re-direct non-existent domains. The only problem is that I think google knows quite enough about me already. I don’t need to feed them a list of all the sites I interact with.

So, in part inspired by my recent adventures with name servers, as well as a suggestion by someone in #dns on about it not being rocket science to run your own recursive nameserver, I (yea) searched google, and ended up with an interesting set of instructions, which I didn’t need to follow to the letter.

They are here:

On my Ubuntu 10.04 system, all I needed to edit the configuration file, found at /etc/bind/named.conf.options . Remember to install the package ‘bind9’ first :).

I added the following lines, which were of course, dubbed from the ISC site linked a few paragraphs earlier.

controls { 
    inet allow { localhost; }
keys { "rndc-key";}

and in the "options {" block, I added the following:

allow-query { 
localhost; localnets; };
listen-on { any; };

Then I added a third block

view "default-recursive" { 
    match-clients { localhost; localnets; };
    match-destinations { localhost; localnets; };
    recursion yes;

Saved the configuration file, and then restarted bind ( sudo service bind9 restart )

Finally, I changed my network settings, putting in as the nameserver/DNS server.

Tested, and everything fine.

For a slightly finer explanation of the configuration files, at least the parts that matter, and to the best of my understanding, "localnets" means you’re also allowing other computers on the same LAN as yourself to set their system to use your new nameserver. of course, is the way that your system refers to itself. ‘localhost’ does a similar job, but of course, ‘localhost’ needs to be first resolved to an IP address :)

There, I now run my own recursive DNS server, and I feel pretty happy about it.

My entire config file (the one I edited) is here if you want it:

-my pic-
Random Quote:
Misfortune, n.: The kind of fortune that never misses. — Ambrose Bierce, "The Devil’s Dictionary"

Note to self, and fellow Googlers (about Mysql)

A default mysql install is not accessible across the network until you set its bind-address in the configuration file. The config file differs depending on your system.

So, if you’re getting Mysql Error 2003 (HY000) cannot connect to server… it is most likely that you haven’t set a bind address. After changing this setting, restart the mysql daemon/service.

Fanen Ahua -my pic-
Random Quote:
Journalism is literature in a hurry. — Matthew Arnold

Rage Dissipation and the Malfunction Magnet

A friend of mine carelessly dropped my HP M427 "point and shoot" digital camera today, effectively jamming the lens mechanism, rendering it useless. I believe it could be fixed, but I’m still enraged. I’ve been using this thing for almost a year now, and never dropped it once. I hand it to him for five minutes and I can no longer use my camera.

Well, in an attempt to distract myself from being consumed with rage, I decided to write up a few of the things I’ve been planning to blog recently. First off, I’m currently listening to "Love’s Divine" by Seal from "IV". Ok, that was hardly relevant. I did it ‘cos I can! Yeah!

Now, the malfunction magnet is merely an innuendo… or wait, I just like fancy titles, so just take it as one. So, In April 2008, I had to get a new laptop. My procedure for doing this kind of stuff is, I visit a manufacturer’s website, look in their business section, and grab any decent looking device that falls around the USD $1,000 range. This time, I chose HP (as usual, since they have two support centres in Nigeria), and the laptop in question was a HP 6710b.

I carefully read and re-read its specifications at to make sure it would play nice with Ubuntu, which I have been using for a number of years now. It was an all Intel machine (video and wireless), and was certified for Suse Linux Enterprise Desktop 10 so I felt confident. It also had bluetooth, so I wouldn’t have to be carrying any USB dongles about. I would have loved a screen bigger than 1280×800, but since I would be buying this in Nigeria, my options were quite limited, not to mention the costs. The other specs don’t matter, because any modern machine will do. I’m not a gamer.

I eventually picked this machine up from Ethel Ventures, Abuja. I was quite pleased to see Windows Vista Business on it, instead of that "Home" crap. I hate anything "Home" because of my previous experiences with Windows XP Home Edition (but this is just me, most regular computer users would hardly notice the difference). It also came with two shiny, factory-made Operating System DVDs and a driver restore DVD, which was excellent. Those annoying recovery DVDs don’t respect custom hard drive partition layouts.

I proceeded with installing Ubuntu, feeling confident that I could come back to play with Windows Vista anytime I felt like, since HP did ship the OS Installer (whose price was included in the laptop’s cost). I don’t know why, but I decided not to completely remove windows Vista. I left it with 25GB of my 120GB hard drive.

After bringing the machine to a usable state, I began to examine it. I noticed that there was no bluetooth support. Strange. This machine is supposed to have bluetooth. I checked in every way I knew I could, but found no bluetooth device. I even booted Windows Vista to check. Nil. Someone must have removed it along the line. I won’t blame Ethel, cos I think they are reputable, maybe it was a quality control oversight at a HP assembly line. Whatever, I can live without bluetooth.

A week or so into my use of this machine, I observed that I was experiencing random fatal system hangs that always resulted in a corrupted hard drive. For a while, I thought this was an Ubuntu problem, mostly because I had nothing else to blame it on. I re-installed the OS twice, even used a 64-bit edition for a while. Same random system hangs. I used Vista for a while, it worked fine. Weird. I endured. Ubuntu 8.04 was released a few weeks later, I upgraded, hoping for a cure. Still nothing. Just fatal, data corrupting system hangs.

I stumbled upon the root cause of this problem rather by accident one Friday morning. I was doing some washing, so I kept my shiny laptop on a flat wooden table, and cranked the music volume up to 100% so I could hear it from where I was doing the laundry. Five minutes later, the system dropped to a command prompt, spilling "ATA error messages" and generally being unable to execute any commands. I observed as always, that hard drive activity was at maximum during the crash. I began to wonder, is my hard drive defective? I still couldn’t blame Ubuntu. This kind of bug doesn’t exist in an OS undetected.

Then it struck me. Resonance. The laptop was sitting on a hard wooden table, with "all these things that I’ve done" by "the Killers" playing at the loudest volume. The table was being set into vibration, eventually resonating with the song, thus amplifying the vibrations that the laptop’s case was experiencing. The hard drive did not like this.

Well, I took the machine to a softer surface where the effects of resonance would be minimal, but the problem persisted. After a few cycles of ‘reboot-play music-crash’, I observed that 80% was the loudest the system could play music without irking the hard drive, and it didn’t depend on where the system was seated.

Apparently, I had bought a laptop in which one of the speaker cones was too darn close to the hard disk drive. Close enough to set the hard drive read head into resonance with its vibrations, causing read-write errors, which ultimately led to fatal system hangs, and subsequent data loss. Is this kind of thing covered under warranty? I don’t know, but perhaps I should let HP know somehow that they have a defective-by-design machine in the form of the 6710b.

I promptly called HP Abuja, and was quickly put through to an engineer. On hearing my complaint, he asked what OS I was running. I knew this was irrelevant, but I said Ubuntu. He said I should run the original OS that came with the machine and see if that still happened. Fair enough. I hung up, rebooted into Vista, played some loud rock, and promptly got a blue screen of death. This was exhilarating in one way, since this was the first time I was seeing this screen on a Windows Vista machine. I called them back, but they refused to acknowledge the cause of the problem. He murmured something about viruses, at which point I realised I was wasting my call credit.

I eventually got myself some external speakers, and I avoid playing anything at volumes higher than 80% when I’m using the internal speakers. Sure enough, I’ve not had such a crash ever since.


Fanen Ahua

Random quote: A plucked goose doesn’t lay golden eggs.