Running windows games with steam on a hybrid graphics card

I don't play much, but when I do, it's Sid Meier's Civilization on a Windows installation boxed into a VM. Earlier this year I got tricked by a Humble-Bundle offer into buying Civilization V, which came with the "trojan horse" of a steam account. Had I known the prerequisite of a Steam account before hand, … Continue reading Running windows games with steam on a hybrid graphics card

Integration testing Spring controllers

Time-constrained projects sometimes mandate crude realism as to the type and extent of test coverage in a software project. You'll find arguments for and against testing in the entire spectrum of opinions from "tests are luxury we can't afford" to "regressions are luxury we can't afford". Constrained or not, there is rarely a good excuse … Continue reading Integration testing Spring controllers

On JPA identifiers and business keys (or why business keys are a bad idea)

JPA, and for that matter Hibernate, depends on identifying entity instances (I'll refer to them as entities for short) by some key. That key can either be a single property (like a numeric ID column in the corresponding table) or a business key (also referred to as natural key). Business keys are entity properties which … Continue reading On JPA identifiers and business keys (or why business keys are a bad idea)

Automatically regulating volume on a USB headset with Ubuntu

When you connect an external speaker or headset to your computer you normally expect the sound to play over those and you'd also expect the integrated speakers to mute. Windows does that well and you'd expect that Ubuntu can do that as well, unfortunately it doesn't. Not without some scripting. So here we go: The … Continue reading Automatically regulating volume on a USB headset with Ubuntu