A review of Bose, Sony, and Sennheiser noise-cancelling headphones

I’ve used active noise-cancelling headphones for over ten years now, and have owned several pairs of Bose, one of Sony, and most recently a pair of Sennheiser headphones.

Sennheiser PXC 450 NoiseGard Active Noise-Canceling Headphones

The Sennheisers are my favorites. I thought I’d write down why I’ve gone through so many sets of cans and what I like and dislike about them.

» Continue Reading (about 1000 words)

Xaprb now uses Hugo

I’ve switched this blog from Wordpress to Hugo. If you see any broken links or other problems, let me know. I’ll re-enable comments and other features in the coming days. Why not Wordpress? I’ve used Wordpress since very early days, but I’ve had my fill of security problems, the need to worry about whether a database is up and available, backups, plugin compatibility problems, upgrades, and performance issues. In fact, while converting the content from Wordpress to Markdown, I found a half-dozen pages that had been hacked by some link-farm since around 2007.

» Continue Reading (about 500 words)

Immutability, MVCC, and Garbage Collection

Not long ago I attended a talk about Datomic, which focused a lot on database immutability and its benefits. I hope to illustrate why many database designs are much more complicated than Datomic and its ilk. Although Datomic’s design can be presented as advanced, there’s another side to the story, which also holds true for similar databases such as CouchDB. It’s a really difficult problem space, and clean and elegant solutions without nasty edge cases are difficult to design and implement.


» Continue Reading (about 2200 words)

Early-access books: a double-edged sword

Many technical publishers offer some kind of “early access” to unfinished versions of books. Manning has MEAP, for example, and there’s even LeanPub which is centered on this idea. I’m not a fan of buying these, in most circumstances. Why not? Many authors never finish their books. A prominent example: Nathan Marz’s book on Big Data was supposed to be published in 2012; the date has been pushed back to March 2014 now.

» Continue Reading (about 500 words)

Napkin math: How much waste does Celestial Seasonings save?

I was idly reading the Celestial Seasonings box today while I made tea. Here’s the end flap: It seemed hard to believe that they really save 3.5 million pounds of waste just by not including that extra packaging, so I decided to do some back-of-the-napkin math. How much paper is in each package of non-Celestial-Seasonings tea? The little bag is about 2 inches by 2 inches, it’s two-sided, and there’s a tag, staple, and string.

» Continue Reading (about 400 words)

Staying Secure Online

This is a public service announcement. Many people I know are not taking important steps necessary to secure their online accounts and devices (computers, cellphones) against malicious people and software. It’s a matter of time before something seriously harmful happens to them.


This article will urge you to use higher security than popular advice you’ll hear. It really, really, really is necessary to use strong measures to secure your digital life. The technology being used to attack you is very advanced, operates at a large scale, and you probably stand to lose much more than you realize.

However, it’s also much easier than you think to do the basics right.

» Continue Reading (about 3200 words)

How is the MariaDB Knowledge Base licensed?

I clicked around for a few moments but didn’t immediately see a license mentioned for the MariaDB knowledgebase. As far as I know, the MySQL documentation is not licensed in a way that would allow copying or derivative works, but at least some of the MariaDB Knowledge Base seems to be pretty similar to the corresponding MySQL documentation. See for example LOAD DATA LOCAL INFILE: MariaDB, MySQL. Oracle’s MySQL documentation has a licensing notice that states:

» Continue Reading (about 300 words)

Props to the MySQL Community Team

Enough negativity sometimes gets slung around that it’s easy to forget how much good is going on. I want to give a public thumbs-up to the great job the MySQL community team, especially Morgan Tocker, is doing. I don’t remember ever having so much good interaction with this team, not even in the “good old days”: Advance notice of things they’re thinking about doing (deprecating, changing, adding, etc) Heads-up via private emails about news and upcoming things of interest (new features, upcoming announcements that aren’t public yet, etc) Solicitation of opinion on proposals that are being floated internally (do you use this feature, would it hurt you if we removed this option, do you care about this legacy behavior we’re thinking about sanitizing) I don’t know who or what has made this change happen, but it’s really welcome.

» Continue Reading (about 300 words)

S**t sales engineers say

Here’s a trip down memory lane. I was just cleaning out some stuff and I found some notes I took from a hilarious MySQL seminar a few years back. I won’t say when or where, to protect the guilty.[1] I found it so absurd that I had to write down what I was witnessing. Enough time has passed that we can probably all laugh about this now. Times and people have changed.

» Continue Reading (about 500 words)


I just tried out EXPLAIN UPDATE in MySQL 5.6 and found unexpected results. This query has no usable index: EXPLAIN UPDATE ... WHERE col1 = 9 AND col2 = 'something'\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: foo type: index possible_keys: NULL key: PRIMARY key_len: 55 ref: NULL rows: 51 Extra: Using where The EXPLAIN output makes it seem like a perfectly fine query, but it’s a full table scan.

» Continue Reading (about 200 words)

Freeing some Velocity videos

Following my previous post on Velocity videos, I had some private email conversations with good folks at O’Reilly, and a really nice in-person exchange with a top-level person as well. I was surprised to hear them encourage me to publish my videos online freely! I still believe that nothing substitutes for the experience of attending an O’Reilly conference in-person, but I’ll also be the first to admit that my talks are usually more conceptual and academic than practical, and designed to start a conversation rather than to tell you the Truth According To Baron.

» Continue Reading (about 200 words)

Looking for a freelancer

I’m looking for a freelancer to convert this WordPress blog into Markdown for use with Octopress. It should be straightforward – I have already used a plugin to export the data as Markdown. However, a few extra things will need to be taken care of. I have posted this job on Elance. Please submit proposals there!

» Continue Reading (about 100 words)

Get out of your comfort zone

One of the most valuable life skills you can ever develop is to overcome the urge to stay within your comfort zone. If you stay where you’re familiar and feel safe, two things might happen: You might find out that it’s not safe after all. Bad things can happen where you feel at home just as well as out of the familar. Nothing good will happen. You might skate through life without even living it.

» Continue Reading (about 500 words)

Should Velocity videos be free?

At the closing keynote of the recent Velocity conference in New York, an audience member stepped up to the microphone and called for O’Reilly to provide videos of the event free to the public, instead of behind a paywall. The conference chairs, who don’t call the shots on such matters, squirmed and looked at the person who does call the shots, a few feet away. Someone volunteered the information that speakers are able to download their own talks and post them freely if they wish.

» Continue Reading (about 600 words)

Using GPG in Gmail on a Mac

I used to use the FireGPG extension to encrypt and decrypt text in a browser – including wikis, for example, where sensitive client information could be stored. It’s been a while since I had that need, but recently I wanted to send a GPG-encrypted message to a coworker, and FireGPG has been discontinued for years. I also use a Mac now, and Chrome is my primary browser. What to do? I looked around at a few Chrome extensions, but didn’t really like them.

» Continue Reading (about 200 words)

Is soliciting a review commercial or transactional?

I’ve booked rooms through hotels.com a few times, and they always send me followup emails asking me to rate the stay and so forth. In my view this is commercial/marketing email, not transactional, and I should be able to opt out of it. I don’t want to get the emails and I don’t want to rate the hotels, in part because I don’t believe in the validity of such ratings/reviews (reference, reference).

» Continue Reading (about 600 words)

Continuous integration and deployment

I’ve been talking to some smart people about deployment. First a little background. One of my colleagues was working on a project that ultimately didn’t bear fruit. It was a system for continuous delivery, and involved reacting to git push by building and shipping to production. But it felt as if the problem shouldn’t be separated from provisioning, and from setting up a development environment, and so these things got folded in, and the effort became a boil-the-ocean project that had to be set aside.

» Continue Reading (about 1200 words)

More Notebooks and Journals!

Something interesting happened after I published my ultimate notebook and journal face-off blog post a couple of months ago. I received an email from a company called Grandluxe, asking if I’d like to receive some stationery products in hopes that if I liked them, I’d write a review on them. I had never heard of them before, but they’ve been making paper products for 68 years, and apparently are trying to break out of the Asian market into international territory.

» Continue Reading (about 600 words)

Early-Warning Is an Unknown Unknown

This post originally appeared on O’Reilly Radar. In 2002, US Secretary of State Donald Rumsfeld told a reporter that not only don’t we know everything important, but sometimes we don’t even know what knowledge we lack: There are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns – the ones we don’t know we don’t know.

» Continue Reading (about 1700 words)

MySQL isn't limited to nested-loop joins

I have followed the “Use the Index, Luke!” blog for a while. Today Marcus wrote that (I’ll paraphrase) MongoDB disgraces NoSQL the same way that MySQL disgraces SQL. I agree with a lot of this, actually, although I’m not sure I’d put it so strongly. People often like products for good reasons, and to think that legions of developers are stupid or ill-educated is suspect, in my opinion. But that wasn’t what I meant to write about.

» Continue Reading (about 500 words)