Kindle Drawing Books

If you want to learn how to draw, Kindle isn’t looking so hot:

In this category, you’ll find 6,197 printed books and only 16 Kindle books. I just bought Drawing for the Absolute Beginner — in paperback.

I assumed I’d find more Kindle books in other categories, such as Science Fiction and Fantasy. Instead, that category shows 33,619 printed books and 155 Kindle editions.

Dropbox, Live Mesh, Git

Back in December I blogged about Live Mesh. I was initially confused by the Vista installation experience, but Live Mesh worked OK on Leopard. After receiving some helpful comments from some Microsoft employees, I decided to give Live Mesh another shot.

Ever since then, I’ve used Live Mesh on two computers: my MacBook Pro at home and my Vista machine at work. My needs are pretty simple. I have a folder on each computer where I keep some e-books, plain text files with TODO lists and comic ideas, and various other important documents. Up until today, Live Mesh has kept these directories perfectly in sync. Just drop a file in, and a few moments later it shows up on the other computer.

Last night, however, I pushed it too far. I created a Git repository in my Live Mesh folder here on my Mac. When I arrived at work this morning, Live Mesh complained about a huge number of so-called “conflicts”. The conflict resolution was utterly confusing and I screwed it up completely. Every time I finished, it reported new conflicts. This was a disaster, everything was hosed.

So this evening, I disabled Live Mesh, went into Time Machine, and restored the files. This is the first time I’ve used Time Machine for a real recovery, and it worked flawlessly. Everything is back to normal.

Live Mesh Fail

Why would Live Mesh report conflicts? I can understand if these computers were sitting side-by-side and I was rapidly adding, removing, and renaming files. But this was not the case. Both computers were in sync, and I was updating on one computer only. This should have been a unidirectional sync without any conflicts. I guess this is what they mean by “beta”.

Live Mesh exists for one purpose: to share data between computers. Corrupting data is unthinkable. When conflicts do arise, the resolution procedure needs to be easy, and it is not.

Dropbox

So this evening I installed Dropbox, and I will use this instead of Live Mesh. The installation was effortless, even easier than the Live Mesh Leopard installer. Copying my documents and e-books went as expected, all simple drag-and-drop operations.

Next up, Git.

Git on Dropbox

Rather than creating a repository and working copy in the Dropbox directory, this time I wanted to create a Git bare repository in Dropbox. Based on this excellent article, I was able to accomplish this in a matter of minutes. Here are the steps:

  1. I already had a Git repository in ~/Documents/livemesh/myproject. Before doing anything, I ensured everything was committed.
  2. cd ~/Dropbox
  3. git clone --bare ~/Documents/livemesh/myproject myproject(this created a bare repository in ~/Dropbox/myproject)
  4. cd ~/dev
  5. git clone ~/Dropbox/myproject myproject(this made my Git working copy in ~/dev/myproject)

Now I can do my day-to-day work in ~/dev/myproject. After committing any new edits, I can type git push to send my changes to Dropbox. On the other computer, I can receive changes by typing git pull.

So far Git has been far easier than I imagined, therefore I am kicking myself for not learning it sooner. Since I’m rambling, I’ll point you to git-osx-installer, which makes Git installation trivial on OSX.

Kindle Letdown

I was hoping for a lot more than this:

I certainly hoped the Kindle 2 would be a LOT less than $359. It also seems like it wastes a huge amount of real estate on the keyboard, a rarely used feature in a reading device. A soft iPhone-like keyboard would be great.

I plan to wait for the Kindle 3. At the rate technology evolves, I expect them to create my dream device at my dream price in a few years.

A Swing JComboBox for Enums

Here is a quick and dirty combo box class I wrote the other day. It displays all of the values from a Java enum.

public class EnumCombo<E extends Enum<E>> extends JComboBox {   private final Class<E> enumClass;    public EnumCombo(Class<E> enumClass) {     this.enumClass = enumClass;      for (E e : enumClass.getEnumConstants()) {       addItem(e);     }   }    public E getSelectedItem() {     return enumClass.cast(super.getSelectedItem());   } }

Using the combo box looks like this:

EnumCombo<Status> statusCombo = new EnumCombo<Status>(Status.class);

You’ll probably want to override toString() in the enum to display friendly values in the combo box.

New Comic Web Site

I am designing a new web site for my comics. The new site will be comics-only, and I am looking for suggestions. As an experiment, I am collecting feedback using a Google Docs form. Please help me out!

Outliers

I recently finished Outliers: The Story of Success, by Malcolm Gladwell. I thoroughly enjoyed it and learned a lot along the way. Gladwell challenges many deeply rooted assumptions about success, most notably the belief that successful people got where they are today by nothing more than hard work and innate talent. Instead, factors like your date of birth, family, birthplace, and sometimes random opportunities exert more influence than we like to admit.

Did you know that your month of birth can profoundly impact on the rest of your life? An incredible number of elite Canadian hockey players were born in January, February, and March. Why? Read the book to find out. Hint: this information may also help you decide to hold your child back rather than enroll them in Kindergarten early.

Other things I learned…

  • How rice paddies affect math test scores.
  • How summer vacation disproportionally harms poor students.
  • Why airline pilots from some cultures crash more often.
  • Perhaps “prodigies” aren’t so special after all.

I suppose Outliers will frustrate some readers. After all, if you were born in the wrong month, or year, or to the wrong parents, then how can you succeed?

I saved the best for last, the 10,000 hour rule. Gladwell argues that to become a master, whether it’s in computer programming, sports, or playing music, you need to practice around 10,000 hours. He backs this up with several case studies. This is fascinating, because it means any of us can choose to become masters at something.

Perhaps I can be a great comic artist after all. I need to spend more time practicing, that’s all. I don’t know if I can hit 10,000 hours, but I now know that my success is possible. I was not born with innate artistic skills, nor were other great artists. They paid their dues, and so can I. This is why I recommend Outliers.