4

I Bought the Bose QC-15

I bought the Bose QC15 noise canceling headphones for my trip back from the US. See my previous posts about Noise Canceling Headphones [1] and Testing Noise Canceling Headphones [2] for the details of my search.

Me wearing QC 15 headphones

I first tried my new headphones in my hotel room and they worked really well at blocking the noise from the nearby road (El Camino Real in Menlo Park) as well as the noise from the heater in my room. At the airport they entirely blocked the sound of the airport air conditioning system (which was surprisingly loud – I didn’t realise how loud until I tried the headphones).

On the flight the headphones worked really well. I used them for hours when they weren’t plugged in to any source, just stopping the noise was a huge benefit. I was also able to listen to music (both MP3s on my laptop and the plane sound system) at a relatively low volume with an apparent high quality. The Bose store I visited in Stanford mall has a sound system set up to emulate the noise you experience inside a jet to demonstrate what the headset can do. It really lives up to this demonstration! I recommend them to anyone who wants over-ear noise canceling headphones and can afford $US300 + tax.

But one thing to note is that not everyone likes such things – my wife didn’t like the sound that they generate (the least bad way to describe it is as a soft hiss). This is definitely not something you would want to buy based on reviews alone, it must be tested in-store.

The main technical suggestion I can make for improvement to the QC-15 is for it to have slightly softer and thicker padding where it contacts the sides of the wearer’s head. I find that my glasses prevent it from making as good contact as I would like, and that when wearing it while eating the contact is significantly broken with every jaw movement which is really annoying. A minor suggestion is that every pair of headphones should have the left and right ear pieces clearly marked, I really shouldn’t have to read an instruction manual to discover which way to wear it.

One thing that surprised me was the inclusion of business cards for the headset! Here is a picture:
Bose business card
The picture links to a larger picture that also shows the French version of the same text on the other side.

I was astonished by this, encouraging happy customers to help sell your products is a reasonable and effective form of product promotion (really this is what I’m doing for Bose with this blog post). But giving customers business cards is going too far – anyone who wants me to hand out their business cards can offer to pay me to do so (and I probably won’t accept). But if such things are considered to be a good idea then here are a few suggestions for other things that they could do:

  1. Create a Bose dating site where one can meet people who like music and traveling (this does sound appealing). In about 10 years the children of people who meet that way would start buying audio gear…
  2. Start a Bose fan club.
  3. Create a template that be used by a tattoo parlor to make a Bose tattoo.
  4. Sell Bose fan t-shirts to people who aren’t dedicated enough to get a tattoo.
  5. Register Bose as a religion, that gets tax free status among other benefits.

It’s a pity that Bose doesn’t make any water-proof noise canceling headphones. It would be something for their marketing people to wear while jumping over a shark on water skis [3].

But seriously the best thing that Bose could do to have their products promoted would be to start by printing the web site for each product on the item, my headset has two patent numbers listed which seem unlikely to provide any benefit for anyone, in that space they could have printed the global.bose.com/qc URL that is on the business card. Of course providing the URL really doesn’t do any good when the URL actually is useless. It starts by giving me a page asking which country I am in – the correct thing to do is to use geoip to determine the country and then give the user the option of selecting another country if that one is not ideal. Then after I select a country it doesn’t take me to a specific page for the product! I could have typed in www.bose.com and got the same result (in terms of US shopping at least) while typing six fewer characters!

Next like most corporate web sites the Bose site doesn’t appear to be configured for longevity of URLs – URLs which are clearly designed for the computer rather than humans are expected to change without warning. This discourages linking to any page that one might discover through web searches or navigating the site, and causes them to lose a lot of potential links.

Having specific URLs for all the products (including the obsolete ones) that are designed firstly for humans to read and write would be a good idea. It would be really useful to be able to compare the features of new products with the ones that are going cheap on eBay. For someone who is considering buying a new product now the purchase decision would be easier if they knew that the company would provide resources to help them get a better price on eBay in a few years if they want to upgrade to a newer model. One thing to keep in mind is the fact that the reputation of a company (which makes a dramatic impact on the prices customers are prepared to pay) depends largely on a long history of making quality products. Telling customers about those historic products is one of the most sensible things that most corporations fail to do on the Internet.

5

Shared Objects and Big Applications

Some time ago I wrote a little utility named memlockd [1]. Memlockd will lock files into memory which allows significantly faster access when the system pages heavily, in my simulated tests I have found that having the programs and shared objects needed for logging in locked in memory can make it possible to login without a timeout when there is heavy paging, this can make the difference between recovering a system with some processes that are out of control and having to reboot it (often without discovering the root cause).

As always happens some people use my software in ways that I never planned. One guy is using it to try and make OpenOffice.org load faster. I’m not sure that this is a good idea. In a typical installation when configured for the purpose that I intended it (system recovery from a rabbit process) memlockd will take a bit less than 10M of RAM on an i386 platform (that is for bash, login, sshd, getty, busybox, and all necessary shared objects and a few data files. Since RHEL 4 Red Hat distributions have whinged at boot time if there was less than 256M of RAM available, installation of a Red Hat based system on anything less than 128M of RAM has been impossible for some years, and Debian systems perform very poorly with less than about 128M of RAM when you run apt-get. I initially designed memlockd to run on my SE Linux Play Machine which has 128M of RAM in it’s current incarnation. Locking 7.5% of RAM on the system may impact performance, but as a large part of that RAM is used for things like libc and bash which tend to be partially paged in at all times this shouldn’t be a noticeable impact. But locking 100M or more of OpenOffice seems more likely to have the potential to hurt performance, I often run OpenOffice on a machine with 512M of RAM and the biggest desktop machine I use has 1.5G of RAM – for me it wouldn’t make sense to lock OpenOffice into memory.

But it could be that there is some unusual aspect of his system that makes running memlockd with OpenOffice likely to give worthy benefits in performance without significantly hurting performance for other programs, for example it could have 4G of RAM and a really slow disk. It is also a possibility that the usage of the system makes OpenOffice so much more important than other programs that any decrease in performance in other areas is not relevant. In any case I’m happy to help people use my software to do unusual things so I’ll support this use.

I’ve been asked why memlockd doesn’t seem to give much benefit when starting up OpenOffice when run with “+/opt/openoffice.org3/program/soffice.bin” in the config file, where the + means to lock all shared objects that ldd reports that the binary needs.

for n in `ldd /usr/lib/openoffice/program/soffice.bin|sed -e s/^.*=..// -e s/\ .*// | sort -u` ; do readlink -f $n ; done | sort -u > ldd.txt

I used the above command to get a list of all shared objects that ldd reports for the soffice.bin program. On my system (Debian/Lenny i386) it reports 77 shared objects loaded. When memlockd locks all those ps reports that the RSS is 51944K.

cat /proc/1234/maps|sed -e s/^.*\ //|sort -u > /tmp/map.txt

Then I used the above command to get a list of the files that are memory mapped by OpenOffice when running OpenOffice calc where 1234 is the PID of the soffice.bin process (I expect that the numbers will be similar for writer, impress, etc – I just happened to have a spreadsheet open). It reports 172 memory mapped files which include 9 files related to fonts and 64 shared objects under /usr/lib/openoffice/program which are not found by ldd among other things. It’s quite common for a large application to use dlopen(3) at run-time to map shared objects instead of linking against them. Running memlockd with this list gave an RSS of 118644K, which is more likely to give a useful performance boost to OpenOffice load times.

Play Machine Online Again

I have returned from the US and my SE Linux Play Machine [1] is online again.

It was unfortunate that I forgot to pack one of my Play machine shirts, I ended up attending a meeting of the SDForum [2] on the topic of Cloud Security (it was a joint meeting of the Cloud Services and Security SIGs) and it would have been good to have been wearing a root password.

1

Nagios and SSL in Debian

I was doing some work on NRPE (the Nagios Remote Plugin Executor) and I noticed bug report #547092 [1] which concerns the fact that the default configuration uses the same SSL certificate for all Debian servers and provides a patch to fix the problem. After building the patched package I followed the advice of the DebianAdministration.org article on creating self-signed SSL certificates [2].

cert_file=/etc/ssl/certs/FOO-cert.pem
privatekey_file=/etc/ssl/private/FOO-key.pem
cacert_file=/etc/ssl/certs/cacert.pem

Then I added the above lines to /etc/nagios/nrpe.cfg to instruct the nrpe to use the certificates.

For the Nagios server I had the problem that most of the systems I monitor run old versions of NRPE while only a few are recent Debian systems that allow me to easily install a new SSL checking nrpe. So I installed the following script as /usr/lib/nagios/plugins/check_nrpe to run either the old or the new check_nrpe:

#!/bin/sh -e
if echo $2 | egrep -q server0\|server2\|mail ; then
  /usr/local/sbin/check_nrpe -C /etc/cert/cert.pem -k /etc/cert/key.pem -r /etc/cert/cacert.pem $*
else
  /usr/lib/nagios/plugins/check_nrpe.orig $*
fi

The reason I started working on Nagios was to try and solve bug #560002 [3] which I filed. The bug concerns the fact that applications such as mailq which are run as part of Nagios checks were inheriting a TCP socket file handle from the nrpe. SE Linux prevents such file handles from being inherited, but it does mean that I get audit messages (and this is not a good case for a dontaudit rule).

Update:
One thing I forgot to mention is that the SSL key checking requires that the server common name used in the SSL certificate of the nrpe system matches the name that is used by the check_nrpe program. So if you check by IP address then you need to use the IP address in the certificate name – which is rather ugly. So I have moved to putting the hostname of each server in /etc/hosts on the NAGIOS system and using the hostname in the SSL certificate. This required using $HOSTNAME$ instead of $HOSTADDRESS$ in the NAGIOS configuration (thanks to John Slee for a tip in that regard).

Update2:
I removed some printf debugging from the script. It seems that I included a pre-production version of the script in the first version of this blog post.

Links December 2009

Dan Gilbert gave an insightful TED talk about our mistaken expectations of happiness [1].

Don Marti has an insightful post about net neutrality and public property [2]. When net access requires access to public property then it should be sold in a neutral manner.

Rachel Pike gave an interesting TED talk about the scientific research behind a climate headline [3]. The people who claim to be “skeptical” of the science should watch this.

Mark Peters wrote an interesting article “A Happy Writer Is a Lousy Writer” about the correlation between emotional state and work quality [4]. Apparently watching a film about cancer will make people more careful and focussed on details.

CERIAS has an interesting short article about Firefox security as well as some philosophy on why web browser security generally sucks [5].

Cory Doctorow writes in the Guardian about Peter Mandelson’s new stupidity in trying to legislate against file sharing [6]. This is going to seriously damage the economy of every country that implements it.

Charles Stross has been blogging a series of non-fiction essays about space colonisation, in “The Myth of the Starship” he describes how most ideas of space travel are bad and how the word “ship” is always going to be unsuitable [7].

Brent T. White is an associate professor of law at the University of Arizona who has written an interesting paper about mortgages [8]. He says that anyone who is “underwater” (IE owing more than the value of their house) should walk away. The credit damage from abandoning a bad mortgage apparently isn’t that bad, and there is the possibility of negotiating with the bank to reduce the value of the loan to match the value of the house.

Mako is working on a project to allow prisoners to blog [9]. It’s basically a snail-mail to web gateway as the prisonsers are not allowed Internet access.

PracticalEthicsnews.com has an article about the special status that homeopathy is given [10]. It also notes that homeopathic “medicines” include arsenic and mercury. Such quackery should be outlawed, a life sentence for homeopathy would be appropriate IMHO.

Cory Doctorow wrote an interesting essay about why he is not selling one of his books in audio form (he’s giving it away) [11]. He concludes by noting that he wants “no license agreement except ‘don’t violate copyright law’“. The fact that he can’t get anyone to sell an audio book under such terms is a good demonstration of how broken the marketplace is.

Thulasiraj Ravilla gave an inspiring TED talk about the Aravind Eye Care System – a program to bring the efficiency of McDonalds to eye surgery [12]. Hopefully that program can spawn similar programs for other branches of medicine and spread to more countries. In many ways they are providing better service (both in quality and speed) than people in first-world countries who pay a lot of money can expect to receive.

Scott Kim gave an interesting TED talk about his work designing puzzles [13]. He is also a big fan of social networking, unfortunately (for people like me who don’t like social networking) his web site ShuffleBrain.com relies on Facebook.

Gordon Brown (UK Prime Minister) gave an inspiring TED talk about global ethic vs the national interest [14], with a particular focus on the global effort required to tackle the climate change problem. Now if only we could get Kevin Rudd to listen to that.

Brough has written an interesting analysis of the AT&T network problems that are blamed on the iPhone [15]. His essential claim is that the problem is due to overly large buffers which don’t cause TCP implementations to throttle the throughput. This seems similar to my observations of the “Three” network in Australia where ping times of 8 seconds or more will periodically occur. One particularly nasty corner case with this is when using a local DNS server I can have a DNS packet storm where basic requests time out while BIND uses a significant portion of available bandwidth (including ICMP messages from receiving ports that BIND has closed). To alleviate this I am now using the Google public DNS service [16] (the Three DNS servers never worked properly).

1

US Border Security

Making Light has a post about the Canadian sci-fi author Peter Watts who was beaten and jailed overnight without access to a lawyer by US border guards because he asked what they were doing [1]. Apparently one is supposed to cringe in fear whenever questioned by authority in the US, so much for “land of the free“.

In 12 hours time I will hopefully have got past the security police and be boarding a flight out of the US and it will be a great relief.

On a practical note, if al Quaeda was a serious threat, if anyone really cared to stop the importation of drugs, of if any of the other reasons for having security on borders were taken seriously then this sort of thing really wouldn’t help to achieve such goals.

One of the purposes of a justice system is to encourage cooperation from the population. If a suspect will be treated fairly and considered to be innocent until proven guilty then there is no reason not to report suspicious people to the police. If however a suspect will be summarily beaten and denied access to a lawyer then no decent person can make a police report unless they are certain of the suspect’s guilt beyond all reasonable doubt.

When Barack Obama was elected the majority of the world’s population was greatly relieved, we expected some significant changes in the way things are run. It doesn’t seem that he is living up to our expectations.

7

Testing Noise Canceling Headphones

This evening I tested some Noise Canceling Headphones (as described in my previous post [1]).

I first tried the ones on sale at Brookstone [2], they were the on the ear type so there was never a chance that I would buy them but they seemed like good ones to test. I wore them for about 10 minutes while I walked around the store looking at all the electronic stuff that’s on sale. I noticed that they were much more effective at filtering low frequencies and regular sounds. So for the Christmas music that was playing the music was mostly filtered just leaving the sound of the singing. Also I was able to talk to the guy who worked there and hear him clearly when the noise canceling was turned on – this can be considered a bug or a feature depending on your planned use. When I listened to electric fans the sound of the buffeting air was filtered just leaving the high pitched bearing noise.

It is well documented that there is a hissing sound from noise canceling headphones and sometimes a feeling of pressure. I didn’t hear any hissing but it did feel a little different when I turned on the noise canceling. After 10 minutes I didn’t feel in any way uncomfortable, so I could probably survive an entire flight while wearing such headphones. I can highly recommend the customer service at the Brookstone store in Menlo Park. The guy who was working there was totally helpful, even by US standards his customer service was really good. Sometimes when you make an unusual request (such was wanting to try the merchandise for an extended period of time) the staff aren’t particularly enthusiastic, but I had no problems at Brookstone!

After Brookstone I went to a Bose store and tried the Quiet Comfort 15 noise canceling headphones [3]. The Bose store conveniently had a device configured to emulate the sound of a jet engine to demonstrate how the QC15 stopped that. I was quite impressed with that. I did feel that the QC15 was a little light for my taste, I would rather have something bigger and heavier with thicker padding to improve the passive resistance to sound. But I expect that many people would like it to be small and light as it’s designed for travel.

I visited a Sony store a couple of times, but no-one seemed able to serve me. I’ll go there again some time when they are less busy.

Finally I have to note that I have received a significant number of comments suggesting ear-bud type devices. I suggest that anyone who doesn’t mind wearing such things should consider ear-bud type devices. But as I can’t stand such things I will continue my search for over-ear headphones. I may end up just buying the Bose QC15, they seem to be good enough and not really expensive.

12

Noise Canceling Headphones

My patience with the noise of airlines has run out, on my trip from AU to US I didn’t get any sleep due to the cramped seat and the noise of the plane. While I can’t do anything about the cramped seat without spending a lot of money it seems that I can do something about the noise with moderate expense.

I’ve been researching Noise Canceling Headphones [1]. The principle of such devices is that they have a microphone on the outside and a speaker on the inside to generate sound that is 180 degrees out of phase which will then almost cancel out the ambient noise. Apparently such devices are very effective for low frequencies but less effective for high frequencies. High frequencies are more easily blocked by sound insulation, so the ideal seems to be “around the ear” headphones with lots of padding to passively stop noise with active noise canceling to deal with the lower frequencies.

So I’m now planning on buying a set of headphones before I leave the US.

Choice Magazine (an Australian independent product review organisation) published a review of noise canceling headphones in 2007, it has some interesting information but is not suitable for buying advice today [2]. Choice gave the best results to the Jabra C820s which had just gone out of production when they published the review and by now could only be bought on eBay. The Jabra had an active cancellation of 14.3dB and a passive cancellation of 8.3dB. The best active cancellation of all the reviewed products was 19.5dB for the Bose QuietComfort 3 – which incidentally only had a passive cancellation of 4.8dB. Both the Bose and Jabra products got good reviews in a mailing list discussion. It’s a pity that Jabra is now only manufacturing products for call centers.

I am not considering the headphones that go on top of the ears, they will inherently give less passive protection due to the design and they will annoy me. I am also not considering the ear-buds because I don’t like putting things in my ears. I will note that there are some very positive reviews of some of the ear-bud devices. The Etymotic Research devices get very good reviews and are apparently on sale at reasonable prices in Apple stores (among other places) [3]. Anyone who wants noise-canceling headphones and disagrees with me about the desirability of ear-bud type devices should probably consider them.

The Bose QuietComfort 15 is selling for $300 (NB for this post all prices will be in US dollars) [4]. It has microphones both inside and outside the ear cup to allow better detection of ambient sound. A single AAA battery is supposed to last 35 hours, it has a detachable audio cable (for use in just blocking noise), and comes with an airline adapter (for the two-port airline sockets). It does require being turned on to listen to audio, some headphones allow you to turn off the noise canceling feature to listen to music without a battery – this doesn’t matter for my planned use. They have a volume switch (low and high settings) to cope with airlines that set the volume too high. They are specifically designed for passengers in commercial jet aircraft. Surprisingly the Bose web site doesn’t mention the number of dB of audio protection and none of the reviews I have read have mentioned it either.

The store Brookstone was recommended, they have some unbranded noise canceling headphones, but as they are on the ear and more expensive than comparable Sony products ($130 vs $100) I eliminated them quickly.

Sony has a good range of noise-canceling headphones [5]. They have ear-buds starting at $90 and on-ear headphones for as little as $50. They have two models of over the ear headphones that are advertised at $200 and $400. The MDR-NC60 costs $200 and reduces noise by 12dB at 200Hz while the MDR-NC500D costs $400 and reduces noise by 20dB at 160Hz. I don’t know why they didn’t measure both headphones at the same frequency or give any information on passive sound insulation. They state that the MDR-NC500D was voted as being better than the Bose QC2 and QC3 but made no such claim about the MDR-NC60 – presumably the older Bose devices were rated as better than the MDR-NC60, and I have to wonder about how the Bose QC15 would compare to the MDR-NC500D. The MDR-NC500D has an internal Lithium-Ion battery that lasts 16 hours and can take a pair of AA batteries as well for a total of 28 hours.

The Sennheiser PXC 350 claims up to 32dB of passive attenuation and up to 18dB of active noise compensation [6]. Their claims about NoiseGuard (TM) cause me to lack confidence in their products. The PXC 350 is advertised at $330 and the reviews that I have read suggest that the Bose might be a better product. Sennheiser also has PXC 450 which offers 23dB of active noise compensation and costs $450. I am not going to pay $450 for headphones.

It seems that the choice for over the ear noise canceling headphones comes down to the Sony MDR-NC60 at $200 and the Bose QuietComfort 15 at $300. I have the impression that the Bose product is better, but whether it is $100 better is the question. Also while I haven’t forgiven Sony for Rootkitting their customers [7], this is not going to prevent me from buying the headphones that best suit my needs.

Does anyone have any suggestions? Did I miss a good brand that I should be considering? Does Sennheiser have some redeeming features that I missed?

7

The Transition to Ext4

I’ve been investigating the Ext4 filesystem [1].

The main factor that is driving me to Ext4 at the moment is fsck times. I have some systems running Ext3 on large filesystems which I need to extend. In most cases Ext3 filesystems have large numbers of Inodes free because the relationship between the number of Inodes and the filesystem size is set when it is created, enlarging the filesystem increases the number of Inodes and apart from backup/format/restore there is no way of changing this. Some of the filesystems I manage can’t be converted because the backup/restore time would involve an unreasonable amount of downtime.

Page 11 of the OLS paper by Avantika Mathur et al [2] has a graph of the relationship between the number of Inodes and fsck time.

Ext4 also has a number of other features to improve performance, including changes to journaling and block allocation.

Now my most important systems are all virtualised. I am using Debian/Lenny and RHEL5 for the Dom0s. Red Hat might back-port Ext4 to the RHEL5 kernel, but there will probably never be a supported kernel for Debian/Lenny with Ext4 and Xen Dom0 support (there may never be a kernel for any Debian release with such support).

So this means that in a few months time I will be running some DomUs which have filesystems that can’t be mounted in the Dom0. This isn’t a problem when everything works well. But when things go wrong it’s really convenient to be able to amount a filesystem in the Dom0 to fix things, this option will disappear for some of my systems, so if virtual machine A has a problem then I will have to mount it’s filesystems with virtual machine B to fix it. Of course this is a strong incentive to use multiple block devices for the virtual machine so that a small root filesystem can be run with Ext3 and the rest can be Ext4.

At the moment only Debian/Unstable and Fedora have support for Ext4 so this isn’t a real issue. But Debian/Squeeze will release with Ext4 support and I expect that RHEL6 will also have it. When those releases happen I will be upgrading my virtual machines and will have these support issues.

It’s a pity that Red Hat never supported XFS, I could have solved some of these problems years ago if XFS was available.

Now for non-virtual machines one factor to consider is that the legacy version of GRUB doesn’t support Ext4, I discovered this after I used tune2fs to convert all filesystems on my EeePC to Ext4. I think I could have undone that tune2fs option but instead decided to upgrade to the new version of GRUB and copy the kernel and initramfs to a USB device in case it didn’t boot. It turns out that the new version of GRUB seems to work well for booting from Ext4.

One thing that is not explicitly mentioned in the howto is that the fsck pass needed to convert to Ext4 will not be done automatically by most distributions. So when I converted my EeePC I had to use sulogin to manually fsck the filesystems. This isn’t a problem with a laptop, but could be a problem with a co-located server system.

For the long term BTRFS may be a better option, I plan to test it on /home on my EeePC. But I will give Ext4 some more testing first. In any case the Ext3 filesystems on big servers are not going to go away in a hurry.

Play Machine Offline for 2 Weeks

I’m about to leave for San Francisco, so my SE Linux Play Machine is turned off and will remain off until after I return.