Fixing a Mac Fusion Drive that Disk Utility can’t erase

My Mac Mini w/ Fusion Drive (that’s a hard disk and an SSD pretending to be a single volume for better performance) froze and wouldn’t boot. Nothing would make it boot normally again. Recovery mode was OK but couldn’t erase the boot volume nor mount it via Disk Utility (I just got “Unable to delete the core storage logical volume”), so reinstalling seemed impossible.

Fortunately, I figured out how to do it, using some help from a StackExchange post I found. See below for the details.

Continue reading “Fixing a Mac Fusion Drive that Disk Utility can’t erase”

Why Software Development Methodology Adoption Fails

Organizations often try to adopt a software development methodology, in hopes of reducing the risk of cost and schedule overruns in their software development project. Veterans of previous methodology adoption attempts roll their eyes or actively resist, while less experienced team members drool in anticipation of some order and predictability. In this post I describe how software development methodology adoption efforts can fail, based on my own experiences.

This is a personal perspective, so it doesn’t go back all the way to the early days of computer science. It starts when I started paying attention, which was in the 1990s. Nevertheless, I think it’s pretty accurate with respect to what was going on in the 1990s through today (late 2015).

Here goes.

Once upon a time, in the final years of the 20th century, there were some experienced software folks who had been through some successful projects and some failed projects, who had developed a sense for what to do and what not to do in certain situations.

Continue reading “Why Software Development Methodology Adoption Fails”

Why security is hard, and why it’s not going to get easier

Bruce Schneier summed it up well: the good guys have to secure all the doors and windows; the bad guys only have to find one. In a nutshell, that’s why security is hard. Real-world security has to deal with that problem all the time.
If you think of writing software as filling a feature space, sometimes you accidentally provide functionality that you didn’t intend to, while providing what you meant to. You meant to provide an exhaust port but you also created a vulnerability.
Continue reading “Why security is hard, and why it’s not going to get easier”

Take back your control-space keybinding in Ubuntu w/ Cinnamon

I use Emacs and just switched to Cinnamon when upgrading to Trusty Tahr. It somehow stole the control-space keybinding, which I use in Emacs a lot; it is used for setting the current mark, so I can cut or delete a region of a buffer. This is also used for the autocomplete feature in Eclipse, which is one of the main reasons I use Eclipse.

Solution found: some built-in thing called IBus binds that for setting the input method. I like the input method I already have set up & I don’t need to change it, so here’s how to disable that: answer on



Using a Lite-On eTDU-108 DVD drive with a Mac

I bought a Lite-On eTDU-108 DVD writer, as a companion for my MacBook Air which lacks a built-in optical drive.

Using this drive with a Mac is strange because it has a lid, so the Mac cannot physically eject the media. This leads to odd circumstances such as when you tell the Finder (or iTunes) to eject the disc, and it makes the icon disappear and suddenly it’s back, as if you had inserted it into the drive again at superhuman speed.

Most of the sequences of ejecting discs that I came up with resulted in error messages, failure to eject the disc, spinning beachballs, or unplugging the USB cable from the drive in frustration. I finally figured out the right sequence to eject a disc from this drive when it’s connected to a Mac.

Continue reading “Using a Lite-On eTDU-108 DVD drive with a Mac”