All posts by Mike Clements

Public Schools and Groceries

As a society we’ve chosen not to let poor people starve. Anyone who cannot afford to feed himself is provided food by the government, funded by taxpayers. But to do this, we don’t have the government running farms and grocery stores. Instead, the government gives people money or food stamps to buy food at the same places everyone else does.

This makes sense because the market economy organizes farms, transportation, and distribution of food far better than government ever could. Indeed, this system works so well, it makes food so abundant and inexpensive that obesity is far more common than malnutrition!

So when our society decides every kid should get a decent education even if his family can’t afford it, why do people assume this means the government has to create and operate schools? Why don’t we let the market economy organize education and give poor people money or vouchers to attend the same schools everyone else does?

Everything I’ve read about economics and education suggests this would work much better. We’d have higher quality education, with greater variety of methods better tailored to the individual needs of students and families, more accountable to families, delivered at a lower price.

Consider the incredible variety at your local grocery store. Not only is food abundant and inexpensive all year-round, coordinated with farmers who grow it world-wide in a complex, efficient distribution network. Yet it also meets the unique needs of small minorities: foods for diabetics, vegans, kosher or halal, etc. In contrast, the 20th century has demonstrated that when governments attempt to operate or micromanage the farming and distribution of food it leads to mass starvation.

It is only fair to assume people on all sides of the debate have good intentions. Just because someone questions public schools, doesn’t mean he is against education, or thinks education should favor the wealthy. Au contraire! The current system of public schools all too often condemns poor people to terrible schools because they live in low-income areas, while wealthy people have better public schools and also the option to send their kids to private schools that only they can afford. These problems result from our government operating schools. That’s unnecessary and counterproductive. Letting the market organize independently operated schools and giving poor people money or vouchers to attend the school of their choice would improve schools and make them available to ALL kids and families.

JDS Element vs Meier Corda Jazz

This is a detailed comparison of the Corda Jazz with the JDS Element. I own one of each and listen to them almost every day, along with an Oppo HA-1. I’ve reviewed each of them separately.

TL;DR Summary: If all you need is a pure analog headphone amp, and you don’t need a lot of power, get the Corda Jazz. It has all the clean neutrality of the JDS Element, but more refined sound especially at lower volume levels or with highly efficient headphones. If you need a lot of power, or you want the flexibility of having a DAC and analog RCA inputs and outputs too (even if you won’t always use them), get the JDS Element.

Similarities

Cost: Both cost the same (about $350).

Provenance: Both are built by small independent companies. Both are designed and built with a no-bullshit engineering philosophy.

Sound Quality: Both have great measurements and subjective sound quality. Differentiating them in a properly done level matched DBT is possible, but requires careful listening.

Gain: Both have adjustable gain separate from the volume knob–a switch for high vs. low gain. This enables them to drive anything from efficient IEMs that only need millivolts and milliwatts, to big power hungry planar magnetics.

Power: The Element is more powerful, with  > 1 watt max continuous power output, enough to drive almost any headphone on Earth. The Jazz is less powerful, but has cleaner sound at low to moderate listening levels.

Reliability: I’ve used both near daily for more than a year with no problems.

I believe any pragmatic audiophile (myself included) would be happy with either one, so long as he valued sound quality and neutrality over fancy knobs, glowing displays and the exclusivity of limited production boutique equipment. Actually, each of these does provide some of the latter exclusivity despite their low price, being less common than mass-produced gear from major manufacturers. When people see one on your desk they ask, “What the heck is that?”

Differences

DAC: Advantage: JDS Element
The Element has a DAC; the Jazz doesn’t. The Element’s DAC is clean, but USB-only and does not run in async; it relies on the source (your computer) to clock the data. JDS claims async mode doesn’t provide any audible benefit, but their measurements are mediocre which belies that claim. I do note, when using the  Element’s DAC from my computer, occasional (once every few minutes) “tics” or brief drop-outs that are not in the source material and occur seemingly randomly. These don’t happen when bypassing the DAC and using the analog input. This behavior is consistent with the notion that the clocks (computer source vs. Element DAC) are slightly different and it occasionally re-syncs. This may happen less frequently or never on other computers.

Flexibility: Advantage: JDS Element
In short: in addition to being a headphone amp, the Element also has a DAC and can serve as a preamp. The Jazz is only a headphone amp; it has no DAC and cannot serve as a preamp.

If you need a DAC that can drive line-level analog output (for example to a different device), and also a headphone amp, the JDS Element does the job. You can use the Element with any computer or device having a USB connection; you don’t need a fancy sound card.

Both the Element and the Jazz have unbalanced analog RCA input jacks and can be used as a simple analog headphone amp. In the Element, this bypasses the DAC.

The Element also has analog RCA line-level output jacks, which the Jazz lacks. This makes Element quite flexible as a line-level DAC, an analog headphone amp, or a preamp. When turned off, the DAC is still on and it routes the USB input to the analog RCA outputs. So you can use the Element as a DAC with line output, and as a headphone amp, leaving both plugged in at the same time. However, it will only drive one or the other, depending on whether it’s turned on. Put differently, think of the Element as “always on” for DAC, line input and output, and its power switch controls the headphone amp.

The Jazz is nothing more than a pure analog headphone amp. It has no analog RCA outputs to drive another analog line level device. It can’t be a DAC, nor can it be a preamp. That’s because of the Jazz’s active balanced ground drive.

So what is active balanced ground drive? More on that below, but in short, it provides some of the benefits of a balanced signal, over a standard 1/4″ unbalanced jack with no need to re-cable the headphone. The drawback is that the negative (-) output carries part of the signal, so an unbalanced analog input would shunt this signal to ground. This would make the Jazz attempt to drive a 0-ohm load, which can blow the fuse or damage the amp. Use the Jazz only to drive headphones — not other audio components!

Volume: Advantage: Corda Jazz
The Element has an analog potentiometer volume control. It’s a very good one: smooth, wide range, well balanced, but still a pot. The Jazz changes the resistors in its gain-feedback loop; there is no pot in the signal path. It has about 30 steps, each about 1.5 dB apart. This is a superior design: cleaner signal especially at the low to moderate volumes we actually use when listening, and perfect channel balance at all volumes.

Side Note: SNR and Output Level

This is an important aspect of SNR that is often overlooked. The SNR of an amp is usually measured at full output, which nobody uses when actually listening. Actual listening levels on heaphones is typically around 50 mV (this is roughly 80 dB SPL on most full size headphones). The SNR at medium to low output levels can be quite different than at max volume. With most amps, the SNR drops with output level. For example: consider such an amp having full output of Vrms and SNR is 110 dB. 50 mV is 32 dB quieter, so this amp would have an SNR of only 78 dB at actual listening levels!

The Corda Jazz’s unique volume control maintains SNR at low to medium output levels. When you turn down the volume, you’re reducing the internal gain (instead of attenuating a fixed gain) which lowers noise along with the signal, preserving the SNR.

Imagery: Advantage: Corda Jazz
The Jazz has a switch that creates a more natural stereo image from normal (non-binaural) stereo recordings. It blends channels with phase delay depending on the difference in L / R channels. I’ve used these before and they’re usually gimmicky. Meier’s is not a gimmick. It’s the only one I’ve heard that improves the image while getting out of the way of the music being nearly transparent. I said “nearly” because it does create a subtle emphasis in the upper mids to lower treble. I usually leave it off, except on recordings with extreme L-R separation, where for example a singer or instrument is entirely in one channel or the other. These are hard to listen to on headphones, and this switch fixes that.

Build Quality: Advantage Corda Jazz
Both have great build quality, but the Jazz is a small step higher both inside and out: the case, switches, knob, power supply and other internal components. The Element is by no means cheaply made, it’s a pleasure to view and handle. But the Jazz is better by a nod.

Sound Quality – Subjective Listening
Both sound great: clean, neutral, detailed and fast without brightness, deep bass without being bass-heavy. Both are dead silent even at high gain full volume – no hum or other background noise. Both measure well. Not having a DAC, the quality of the Jazz depends on the source. I compared the Jazz & Element using an Asus Xonar DX sound card to drive the Jazz, and driving the Element with a USB bit stream. I used Audeze LCD-2 headphones (with the 2016 Fazor drivers) and high quality recordings of a variety of music from electronic to acoustic.

In this configuration, I preferred Jazz in overall sound quality, which countered my expectations since good solid state amps are so hard to differentiate in blind listening tests. The Jazz has the same level of clarity and detail as the Element, yet at the same time sounds slightly more rich in the bass and sweet in the mids and treble. Call it more musical, yet without any loss of neutrality or clarity. I emphasized the word slightly because the difference is subtle. Upon first impression they sound identical, though I feel well trained experienced listeners using excellent recordings would detect the difference consistently with careful listening in an ideal quiet environment. Indeed, the differences were big enough to overcome my expectation bias that there would be no differences!

The Element is much more powerful and has similar S/N to the Jazz at max volume. But performance at full volume is not representative of performance at moderate output levels. Overall I the prefer the Jazz for daily listening.

That said, if I needed the flexibility that the Element provides–listening to music from a laptop where I must stream bits over USB because I can’t install a high quality sound card, or I needed to use it as a preamp in addition to a great headphone amp, or I was using great but less than reference quality headphones like Sennheiser HD-600 instead of the Audeze–I would grab the Element without hestitation.

Audio EQ Settings

Since I went to the dark side and started using EQ to correct the FR of headphones & speakers closer to neutral, I want to collect the EQ settings here. My general philosophy is to make subtle corrections. FR response deviations are often related to other forms of distortion like phase or ringing. Amplitude corrections big enough to restore completely flat response may exacerbate those other factors. Thus I stick to subtle, gentle corrections that bring it closer to neutral yet preserve the original character of the sound, short of restoring perfectly flat response.

When boosting levels, remember to apply an equal reduction in overall gain to avoid clipping. To be safe, take the biggest amplitude boost at any frequency and cut by that amount. This is in the voltage (not power) domain, so dB = 20 * log(V1/V2). That is, cutting the amplitude in half is 6 dB.

In practice you don’t need this much gain reduction; you can use 3 dB less reduction and be safe most of the time. That’s because music is never just one frequency.

For example, if you apply +2.5 dB @ 4.5 kHz, then you must reduce overall gain by 2.5 dB, which is a gain ratio of 1 / (10^(2.5/20)) = 74.98%. Or just use 74%. When it comes to gain ratio, to avoid clipping, lower is safer. So always round down (truncate the decimal). In practice in this example you can reduce gain by 2 dB less (2.5 dB – 2 dB), or only 1.5 dB and be safe most of the time.

Also, consider that boosts more than 3 dB can overwhelm the transducer, especially in the bass. You don’t want to restore linear frequency response only to have sloppy bloated sound quality. Furthermore, use parametric EQ with the most gentle slopes (broadest bandwidth) you can. The steeper the slope, the more phase distortion. The key to transparency is small corrections with gentle slopes. Don’t make the cure worse than the disease!

Updated: May 2019 with Room EQ Wizard for the speakers.

Sennheiser HD-580

Characteristic FR: flat down to 50Hz, then roll off bass at about 6 dB per octave. Gentle dip of about 5 dB between 3500 and 9000 Hz. Narrower dip of about 6 dB between 10 and 17 kHz.

Parametric EQ Correction:

  • +4 dB @ 25 Hz, Q=0.67 (2 octaves wide — 1 each side)
  • alternative: +4 dB shelf @ 20, Q=0.4 (tapering to flat @ 120 Hz)
  • Gain: -4 dB = 0.631 = 63%

Subjective Difference:

This simple EQ gives the venerable HD-580 a subtly warmer, smoother sound. Deeper bass extension without impacting mid-bass and linearity. Even though the midrange is untouched, it sounds a touch more open, less boxy overall.

Audeze LCD-2

Characteristic FR: flat from zero to about 2 kHz. Smooth dip of about 7 dB between 2k and 10k. Mostly flat again from 10k on up.

A picture’s worth 1,000 words. These are the FR curves from Audeze measured for my individual headphones (red original 2014 Fazor, black 2016 drivers).

Here’s a second opinion on frequency response measured by Tyll Herstens at Inner Fidelity:

Here’s a third measurement of FR, using the 2016 drivers, from diyaudioheaven. The LCD-2 is RED, LCD-3 PURPLE and LCD-X GREEN. The LCD-2 is the least expensive of these headphones, yet has the smoothest, most neutral response.

Here’s a 4th measurement I did myself using a MiniDSP EARS. Red is raw response, green is with parametric EQ, blue is with the JDS labs Subjective 3 mid cut (all described below).

Most measurement rigs are not accurate above 10 kHz, so those jaggies can be ignored. These curves have the same general shape, though Audeze and DIY show the dip centered at 4k and Tyll shows it at 5k. Most importantly, DIY is the most recent measurement of the latest drivers, and it shows response back up to normal levels by 8 kHz. From this I devised the following EQ:

  • +4 dB @ 3200, bell, Q=0.67
    • 1 octave per side; 1600 – 6400
  • -3 dB @ 800, bell, Q=0.67
    • 1 octave per side; 400 – 1600
  • Gain: -4 dB = 0.631 = 63%

This has a broad EQ to partially correct the lower treble dip and attenuate the upper mid hump. It’s a gentle EQ that doesn’t change the character of the sound, but just makes it more neutral.

I’ve gone through some other similar corrections but this is the one that sounds best to my ears. Normally the LCD-2 sounds natural, yet soft like listening from the 10th instead of 1st row, and correspondingly less detailed. This EQ brings the LCD-2 back to the 2nd row restoring some lost detail, but without affecting its natural voicing.

Why only +4 dB and not +8 dB for full correction? Don’t let the cure be worse than the disease. Anything more than +4 dB sounds too bright. Take all frequency response graphs with a grain of salt and don’t try to correct every little wiggle.

When I built the JDS Labs Subjective 3, its limitations (3-band EQ) led me to a different approach to the LCD-2F: a midrange cut. Its midrange is centered around 700 Hz tapering at 100 Hz and 5 kHz respectively. Turning this down by 5-6 dB is a decent match; flattens the LCD-2F response between 100 Hz and 5 kHz while lifting the bass a touch. This is shown in the blue curve above.

Magnepan 3.6/R

Characteristic FR: depends on the room. My listening room has 4′ high tube traps 2′ diameter in corners behind the listener and the speakers, tuned bass membranes, tuned bass traps,  and 4″ thick RPG acoustic foam. This weakens the room effects, smoothing the response, but the EQ still is busier than the headphones.

Making several measurements with a calibrated UMK-1 mic, Rode NT1A mics, and Room EQ Wizard, they all agreed in the bass, but showed quite a bit of variance above 300 Hz, when moving the mic only a few inches. So I took 6 different measurements, averaged them, and targeted an EQ to correct that average. The ones in bold face are room modes.

April 2024

Michelle vacuumed my Magnepans, destroying the tweeters. After I replaced them I rang out the system to ensure it was working properly. See below before and after EQ:

The new EQ settings

  • -5 @ 100 Hz, 1/3 octave, Q=2.15, 80-125
  • +3 @ 150 Hz, 1/4 octave, Q=2.5, 125-180
  • -4 @ 390 Hz, 1/5 octave, Q=3.6, 340-450
  • -2.5 @ 5200 Hz, 3/4 octave, Q=0.9, 3000-9000

May 2020

Grey is the treated room without EQ; purple is with EQ. The black line is an ideal flat response with the standard in-room tilt.

The EQ settings:

  • +3 @ 54, 1/4 octave: 43-68
  • -4 @ 100, 1/2 octave: 71-141
  • +4 @ 160, 1/3 octave: 127-202
  • -2.5 @ 640, 1/3 octave: 508-806
  • +3 @ 3597, 1/3 octave: 2855-4531

These particular settings correct deviations that were common to measurements with both mics: the UMIK-1 and Rode NT1A.

May 2019:

  • +5 @ 64, 1/2 octave: 45-90
  • -1 @ 120, 1/2 octave: 85-170
  • -1 @ 302, 1/5 octave: 263-347
  • -3 @ 760, 3/4 octave: 452-1278
  • -2 @ 1023, 1/6 octave: 911-1148
  • -2 @ 8433, 1/3 octave: 6693-10625

With these settings, the Maggies drop 1 dB per octave from 35 Hz to 20 kHz, and they measure within 2 dB of flat along this line. I weakened a bass null with GIK Scopus T70 tuned bass membranes and added Realtraps Megatraps to control the room’s 100 Hz bump. Measurements show these work as advertised, so I recommend them. And my home-made tube traps provide broadband bass damping, improving transient response and spectral decay. The bass rolls off below 35 hz, but deep bass is still there and 25 Hz is audible.

How to Shrink Virtualbox VDI Volumes In-Place

In my case, Ubuntu 16 is the host OS, Windows 7 is the guest OS, with Virtualbox 5.0.40.

Before starting, ensure your Virtualbox is a VDI file. VMDK files can’t be resized–though they’re useful for other reasons, being compatible with other virtualization software like VMWare.

First, run the guest OS. Delete temp files and clean up the drive. Use the windows Disk Cleanup feature to remove windows update and other garbage files.

Next, defrag the drive. Defragging crams all the files together with contiguous unused space at the end of the drive instead of scattered around.

Then run: sdelete c: -z. You must run this from a command prompt having admin privileges. This step writes zeros across the unused space, which is critical because VirtualBox can’t compact the VDI unless the free space is full of zeroes. The sdelete command takes a long time after reporting 100%, appears to be hung. Be patient and let it finish.

Now shut down the guest OS. From the host OS command line, run: vboxmanage modifyhd file.vdi compact. Here, file.vdi is your VDI file.

Your’e done. The VDI file will be smaller. It will grow automatically as you use more of the guest OS disk space.

Note: don’t use the guest Windows 7 OS file management to shrink the volume. The free space it creates can’t be compacted by VirtualBox.

Honoring our Past

Sometimes both sides are wrong – people do things for the wrong reasons, yet those who protest the action miss the point and oppose it for the wrong reasons.

I find this to be the case in the recent kerfuffle about removing the statue of Robert E. Lee in Charlottesville. Lee is an important figure in our country’s history. We can honor him and the role he played as leader of the Confederacy military, without honoring, indeed while rejecting, the shameful practice of slavery.

We are all human, every person has flaws. Thomas Jefferson owned slaves. But nobody protests the Jefferson Memorial claiming it honors slavery. It honors Jefferson’s achievements and his role in our history. If perfection is the standard, if we judge people by their mistakes rather than their achievements, we’ll have to tear down all the monuments. Also, it is better to openly acknowledge our past and honor those who played a major role in it, even when difficult or uncomfortable, than to whitewash it with political correctness. Those who don’t understand and acknowledge history are doomed to repeat it.

In short, in removing the statue the city did the wrong thing for the right reasons.

However, many of the people protesting the removal of the Lee statue are racists (I’m not casting aspersions, many openly self-acknowledge this) for whom the Lee statue represented not his important role in our history, but the legacy of slavery. These misguided people want to unwind decades of social progress, hard-earned over the backs and blood of brave people who stood up and changed things for the better. It is difficult to take the same side as these racists. But taking the same side does not mean agreeing with them. Indeed, I reject their views as backward and hateful. They took the right side of the issue completely accidentally, for the wrong reasons. But that makes it hard to defend the position since it has been tainted by their association.

In short, in protesting the statue removal they they do the right thing for the wrong reasons.

T-Mobile and Princess Cruises

During our recent cruise to Alaska we were vigilant about not using the ship’s expensive WiFi and mobile cellular. But not vigilant enough! I learned a lesson, luckily not too expensive.

Our TMobile plan includes international roaming at no extra charge. Outside the US you simply enable roaming on your phone. The phone warns you about charges but you can ignore that, TMobile covers it.

However, this doesn’t include cruise ships. While on the ship we didn’t make any calls or use the ship Wi-Fi. But it turns out that some incoming calls arrived to our phones while we were on the ship. We didn’t pick up; the calls went straight to VM. We didn’t even know our phones “rang”. Yet just being called, even if you don’t pick up, was enough to trigger the ship to bill us for each call. The ship bills $6 per minute and the minimum is 2 minutes just to connect. So that’s $12 every time someone calls you, even if you don’t pick it up.

Fortunately we only got 3 calls so our lesson only cost $36.

The lesson: while on a cruise ship, put your phone into airplane mode all the time. If you have international roaming, as we do with TMobile, don’t take your phone out of airplane mode until you’re off the ship.

Seattle Lime Bike: Test Ride

Seeing their bikes all over the place got me curious about Seattle’s bike services, Spin and Lime bike. I installed both apps on my phone and they both worked just fine, popping up a map showing where the bikes are. In both apps, the first ride is free. Neither app asked me for credit card info, though presumably they would later if I continued riding. They both have plenty of bikes downtown, though Lime seems to have more bikes in outer areas like Magnolia and Ballard.

Walking home from the Magnolia center district today, Lime said there was a bike nearby. I followed the map a couple of blocks and the bike was exactly where the app said it would be. I used the app to scan the QR code, a few seconds later it unlocked. The bike was mine!

I rode it a few blocks home. My impressions:

  • It’s a tank – weighs 49 lbs!
  • Has a basket in front, whose bottom is a solar cell.
  • The front wheel has a built-in generator that powers a front & rear light that are always on when the wheels spin.
  • It has fenders and a full chain guard.
  • It has an 8-speed Shimano Nexus internally geared hub. It works smoothly, though it was slightly out of adjustment due to a bit of cable stretch, skipping some gears (like 3rd). A couple of cable adjuster twists fixed that, then it shifted perfectly.
  • It’s geared low, which is a nice touch you really want around hilly Seattle, especially for this 49 lb. tank of a bike.
  • The brakes are Shimano drums.
  • The tires are not pneumatic and can’t flat. But they’re not rock-hard either. Seem to be foam-filled.
  • The seat is easily adjustable with a hand quick release. But it doesn’t go quite high enough for my average length legs (32″ inseam).

Overall, it’s a comfy bike to ride around town. At $1 per 30 mins it’s cheap too, with bulk monthly rates for unlimited rides.

Next, I want to try a Spin bike.

Sturmey Archer S2 Hub

A few years ago I resurrected my brother’s old bike into a commuter. It’s still running great and I enjoy riding this unique old bike to work. It weighs 24 lbs, perhaps 1-2 lbs lighter than what it weighed new from Trek back in the 1980s when it was made, due to removing the derailleurs, rear cog, now with single front chainring, etc. I’ve put a couple thousand miles on this bike since resurrecting it. I wish the S2 hub ratios were further apart so the low was lower, but it’s proven solid and reliable.

Thinking: Static vs. Dynamic

The concept of static vs. dynamic thinking is a useful contrast. Much of the foundation of our world-view perspective depends on it. As I discuss the key differences it may bring some political, economic, and social schools of thought to mind.

Static Thinking

Static thinking is zero-sum. For every winner there must be a loser. The pie is fixed in size, there’s only so much of it. Competition is each person scrambling to gather for himself the most he can, leaving less for others.

Static thinking is Malthusian. Each extra person is that much more drain on our resources: water, space, food. It focuses on costs, not benefits.

Static thinking is risk-averse. It follows the precautionary principle, which is non-scientific because in avoiding harm, it takes status quo for granted, failing to weigh the harm of inaction.

Static thinking is dogmatic. Taking status quo for granted with fixed values shuts out alternative perspectives and scenarios. It leads to the naive arrogance (or fatal conceit) that complex systems can be centrally manipulated and optimized.

Dynamic Thinking

Dynamic thinking is positive-sum. Winners win by creating something new, growing the pie. Competition is each person finding new ways to contribute, each creating more overall.

Dynamic thinking is Boserupian. Every limitation creates the incentives to overcome it. Necessity is the mother of innovation. Ingenuity outpaces demand. Each extra person increases the potential for the next big idea.

Dynamic thinking is opportunity seeking. It is scientific optimism: taking calculated risks weighted against benefits using available knowledge.

Dynamic thinking is idealistic. Applied to methods as well as to goals, it encourages thinking outside the box about what is possible. Yet dynamic thinking tempers this idealism with respect for the limits of knowledge that comes from realizing that well-functioning complex systems, both physical and social, are decentralized.

Tip: Battery Saving for Android 6 and 7

Recently I noticed the location icon sporadically appearing on my Galaxy Note 4 phone for no apparent reason. Something was pinging location. This has a double-whammy on battery: using the GPS (or attempting to without a clear sky), and waking up the phone from sleep. The battery usage screen showed Google Play services as a primary consumer.

The fix took a while to find but it was simple: Google Location History. This is an Android service that periodically checks and logs your location. Google uses this to improve various services like search and maps.

I don’t care about this. Search results and maps work just fine, well enough for me, without having my location history. And I don’t use Google Now. And I don’t like the idea of my phone constantly tracking my location.

Here’s how to disable this, which noticeably extended my battery life:

  • Go to Settings / Location.
  • Scroll down to the Location Services section.
  • Tap Google Location History
  • Tap the slider in the upper right hand of the screen to turn it off.