Evil Week

I love LifeHacker; you all probably do too.

They’ve started Evil Week


and its theme is the idea that sometimes you have to be bad to do good. Hacking drives and networks to prove a point, modding outside the TOS in order to get real functionality out of apps or products that are artificially limited, and plenty of other tips and tricks that aren’t precisely on the up-and-up–but increase productivity. I’ve submitted my previous post on how to hack a hard drive in almost any OS; we’ll see if it makes the cut.

Do the ends justify the means?

How to hack a hard drive in almost any OS.

Most of you know that it’s simple to get around the password-protection in almost any OS. I startled the heck out of my brother two days ago when I popped a Meerkat disk into his machine, booted up, mounted his data partition, and pwned his WoW folder, all without breaking a sweat or needing any password. He simply didn’t realize how easy it is.

Here’s the steps:

(1) Make a Live CD from any *Buntu distro. I heart Kubuntu, and 10.10 works just fine.

(2) Insert the disk into a target computer, and reboot into the “Try Kubuntu Without Installing” option.

(3) Open a terminal. Navigate to the top level of the file system. Navigate into the device directory. Look for all the devices listed:

cd ..
cd ..
cd /dev/

Is something like sda1 there? Usually, the hard drive will be named sda or hda. The first partition, sda1 or hda1, will be the data partition, especially if there are no
more partitions. If you see sdb or hdb, that means there’s likely a second hard drive; check those partitions as well.

(4) Now that you’ve found what is likely to be the data partition, create a working folder and mount the partition to it:

sudo mkdir /home/pwnage
sudo mount /dev/sda1 /home/pwnage
cd /home/pwnage

Do you see the files?

You’re welcome. Questions, anyone?

How to batch scan using Xsane

If you’re like me, you can’t throw important documents away, but there’s no easy way to scan old records, tax documents, and all the crap you’re supposed to save for 7 or 10 years…or however long taxes are supposed to stick around. Unfortunately, batch scanning with Xsane using an ADF (auto document feeder) is not even remotely intuitive.

Here’s how to do it (I have an HP Officejet 6500, a relatively common all-in-one printer using hplip for drivers):

(1) Open Xsane. Choose the correct printer/scanner; it’s likely to be the top one in the list.

(2) There’s a tiny ticker field in the top left corner of the main Xsane window with no label on it. Set that to 40 or so (however many documents your ADF can take at a time, plus 5 or 10). You do that because if you leave it set at 1, Xsane will assume that you only want to scan the first document in the ADF. This way it knows to look for 40, and will quit afterwards. The
other alternative is to set it at 30 or so, and push the scan button again after it’s stopped (if there are documents still in the ADF).

(3) Set the dropdown on the top right to “Multipage”. Ignore “batch scan” and the advanced settings.

(4) Create a working directory, and be sure to chmod and chown that directory recursively.*

(5) Create the multipage project in that directory. Set the output to PDF (if that’s what you want. PDF is probably best for archiving documents).

(6) Put a load of documents into your ADF, and hit ‘scan’ in the main Xsane window.

(7) Once they’re done, either load more and keep hitting the scan button to do batches of documents, or hit the “save multipage file” button at the bottom of the multipage project window.


*You may have issues using the multipage project mode in Xsane if you don’t have proper read/write permissions set on your directory.

Open a terminal.

Enter at the prompt: sudo
chmod -R a+rwx /yourHome/yourWorkingDirectory

Enter at the prompt: sudo chown -R yourUserName /yourHome/yourWorkingDirectory

A Senior Dev’s Manifesto

So I’m in the advanced Agile development certificate program at University of Washington.

By the time I’m done, I’ll have a mega-awesome Certified Scrum Developer certification, or some such nonsense. In all seriousness…what does that mean? As a dev and an OCD engineer slash scientist, my first impulse is to ask how interesting the problem is. As a lead, my job is to manage the people solving the problem. It’s sort of the curse of being good at something–sooner or later, you stop doing it, and start managing people who do it. Which is no fun.


As a senior dev/lead/PM/product owner, I have the power to solve larger problems than I was able to solve previously alone. I don’t know everything (regardless of how awesome I appear to be), and a SQL god with a truly talented UX/UI artist can enhance everything I do.

The real key, though, is to never lose your technical skills. Too often, I hear from PMs at
megacorps who have been rewarded for their skill and dedication by being removed from the job they were so good at in order to manage others. They tell me that they haven’t touched an IDE in years, and they barely know HTML3, much less 5. In the meantime, they’ve gotten very good at managing people, but have lost touch with the skills that made them great at the same jobs they’re now supervising.

So, when I’m asked what percentage of a senior dev’s time should be devoted to technical work, I hold forth with my opinion that if a senior dev is spending less than 30% of their time coding, they will lose the skills that make them great. I need to understand why my devs are choosing the solutions they are, and with aging skills, I’ll be left relying on their estimates of the time involved in a given sprint task. En masse, those estimates are likely to be wildly optimistic or violently pessimistic, with no real balance.

We have to make time to do the things we love and are great at; why
else would you take the job?