January 15th, 2012

Creating an eBook from a regular book

Amongst my many problems is the fact that I am a bit of a pack rat. Not bad enough to be on “hoarders” but bad enough that I have a hard time getting rid of stuff. My studio at home is cluttered with hundreds of books, CDs, DVDs, video tapes, papers and other assorted items I’ve accumulated over my life. Books are the toughest for me to part with. I’m always picking them up faster than I can finish them so the piles get larger and larger. Also books are the biggest shelf hogs off all the stuff I accumulate. Part of the problem is that even once I finish a book, I always assume that I’ll want it around to re-read or reference some day.

The answer is, of course, to stop buying new books until I make up some lost ground in my to read pile and just get over my fetishizing of
the books I’ve already read. Like any pack rat will tell you, that is pretty tough to do.

A more modern answer is to switch to buying e-books. This won’t fix my deepening pile of To-Read things (in fact it might make it worse because I won’t be able to see my physical pile of books to read), but it would address the clutter.

I love the concept of e-books. There are a lot of books that I buy that I won’t buy as e-books, like art monographs, but mostly I read non-fiction. For the majority of the books I read, the physical object really isn’t doing anything special for conveying the ideas. Most of the stuff I read would come across just fine on an electronic reader. To this end, I did get one a couple years ago. However, when I started to look into buying e-books, I was pretty disappointed.

I have a rule about DRM. I won’t buy any digital item with DRM. I’ve been burned several times over the years with vendors sunsetting their DRM schemes leaving their customers with a lot of bits they paid for but cannot access. DRM-free versions of e-books absolutely exist, but with such a high premium that they are often much more expensive than their physical counterparts. Even the DRM’d e-books are often as or more expensive than their physical versions, especially if they have already been out for a few years. So with the exception of a few O’Reilly titles, I basically haven’t purchased any e-books and have mostly just used my e-reader to read academic papers or other PDFs.

Last year, I purchased a Fujitsu ScanSnap scanner to help me address the piles of papers cluttering my desk, file cabinet and boxes in the garage. This was the answer to my pack-rat ways. It allowed me to have digital, searchable, copies of every piece of paper I ever wanted without having to actually keep the physical piece of paper. As I said, it also meant that I have a searchable archive, thanks to DRM. I’ve slowly been working my way through all my clutter, one file folder and one box at a time and it feels liberating. I’m finally clearing out magazines I’ve saved for 10 years to read one article and ridiculous crap like that. My recycle bin is always full.

Today, I finished reading Daniel Pink’s Drive. I read most of it a while ago, but it was sitting on my nightstand for a year or so while I read other books until I got around finishing it. I won’t review it here, other than to say that it was a pretty good book, but if you watch this video and understand the concept, you really have no need to buy it. This was a book that I thought was pretty good, but it didn’t say anything to me that I didn’t already know. What I should have immediately done was put it in a box to donate to a library, or given it to a friend, or a clueless boss, or something. Instead, I went to find a place for it on one of my overwhelmed shelves.

Then I spied my scanner.

I realized that this physical book didn’t have anything special about it. It came from a computer file, was printed on cheap paper and was actually the worst manifestation of the ideas from a standpoint of me being able to reference it again. If there was something I remembered from this book that I wanted to look up: I’d need to remember that it came from this book instead of from another one, then I’d need to remember where I put the book (home, work, a box in the garage), and then I’d need to actually find the section of the book that I was looking for. These days, I probably wouldn’t get past step one. I’d google for my answer and then never go to step two.

I decided to see how hard it would be to turn my physical book into an e-book for future reference. It was actually really easy. The whole process took less than twenty minutes.

First I got the tools…

Tools of (Creative) Destruction

I ended up not needing the smaller box cutter, the bigger one worked great.

Here we go

I clamped the book to my desk. It is upside down because I’m right handed and I didn’t want to slice my fingers off. The ruler was only necessary for the first couple passes, but I kept using it as a finger guard. I put the ruler a bit in from the spine of the book and just got to work.

faster progress than I expected

I figured that it was going to take a really long time to slice through a whole book with an admittedly dull box cutter, but actually it took nearly no time at all.

almost done

This was maybe 8 times through with the box cutter in a 260-some page book.

<

Ready for scanning

Before I did this, I figured this was going to take me for ever. It probably took me more time to get all the tools together than it did for me to finish slicing off the spine.

The scansnap does its job

I just started feeding pages into the scanner. That went quick.

scanning...

Man, I love the ScanSnap.

into the recycling bin

It felt a bit weird, throwing a book into the recycling bin. I had a bit of a hard time with that. Part of me was ready to find a jumbo binder clip so I could still keep the book. That is really how my mind works.

in Acrobat

I used Acrobat Pro’s OCR engine on the PDF generated by the ScanSnap. The original PDF was 26MB. After OCR, it was less than 11MB and more legible. The OCR went pretty quick. I guess this is about the best possible case for an OCR engine, so that shouldn’t be too surprising.

Live in iBooks

And here is my new e-book on my virtual bookshelf.

reading in iBooks

And here it is in the iBooks reader app.

The nice thing is that I could also read it on pretty much any e-reader, computer, or mobile device with a screen. That is the genius of open standards and DRM-free files. Even if some day the PDF format dies, I know that I’ll be able to take my book to whatever the next format or reading device is. Just like a real book.

September 30th, 2011

Having problems with the Adobe Connect add-in on OS X? Here is how to uninstall it.

I’m posting this here because it took me more than 20 minutes of googling to find the answer (and I’m an Adobe employee).

The Adobe Connect uses Flash and sometimes if you do an update to Flash on your system, Connect gets into a bad state. The way you’ll see this is that when the Add-in tries to launch it will get stuck with a small window that says “Loading Adobe Connect…” that never finishes.

The way to fix this problem is to uninstall Adobe Connect. Unfortunately, Adobe doesn’t make it easy for you to do that. there is no uninstaller and no information on the Adobe web site. Here is where the add-in is installed

~/Library/Preferences/Macromedia/Flash Player/www.macromedia.com/bin/connectaddin

Delete that directory and you have now uninstalled the add-in. Your connect sessions will now be hosted in your web browser until the next time you need add-in functionality, at which time you’ll be prompted to re-install it.

Hopefully this solves your problem and you found it faster than I did.

(tip of the hat to Aral Balkin who had to do this a few years ago too)

May 17th, 2011

Nice TEDX talk from Simon Sinek

I thought that this was right on.

May 16th, 2011

Speaking on the “Teach Parallel” show on IntelTV tomorrow

[crosspost from my adobe.com blog]

Tomorrow morning, I’ll be speaking with Paul Steinberg of Intel and Tom Murphy of Contra Costa college about the criticality of understanding parallel programming techniques for industry.

In my previous role on the Adobe Image Foundation, it was an obvious requirement for our hiring candidates. We were building tools for a insanely parallel problem, image and video processing. Now that I’m working on a new product, it would maybe seem that it would not be as important. In fact, our threading models are even more complicated than in my previous group. My expectations around threading knowledge for incoming candidates are just as high.

Even the most modest mobile hardware is going (or has gone) parallel. In addition, the expectations from a user perspective around interactivity with their applications is never higher. A laggy touch interface is death to an application (or a platform). Going to get coffee while your image renders on a desktop is a thing of the past. User’s expectations of the software we write is higher than ever and it is nearly impossible to get this interactivity without taking advantage of multi-threading on today’s multi-core processors.

The tools continue to improve, but the threading models continue to evolve. A fundamental understanding of multi-threading is critical for anyone moving into Software Engineering or looking to stay current in their field.

I always enjoy talking with Paul and Tom, and expect that we’ll have a lively conversation.

Tune in live on May 17, 10:00 AM PDT

Here is Paul’s post on the subject.

April 11th, 2011

Speaking at the AMD Fusion Developer Summit – June

If you are planning on attending the AMD Fusion Developer Summit in Bellevue, WA in June, come see me talk about Pixel Bender (probably for the last time!) with Bob Archer. Here is the description of the session:

Pixel Bender is a domain-specific image processing language created by the Adobe Image Foundation, and includes a runtime designed to work well across heterogeneous hardware, scaling efficiently for multiple cores. This runtime currently ships in a number of Adobe’s flagship products. Bob Archer, Technical Lead, and Kevin Goldsmith, Engineering Manager, will talk about the design of the language, compilers, and runtime. They will also discuss how the Adobe system can incorporate complimentary technologies like OpenCL and can scale to accommodate new hardware paradigms like the AMD Fusion processors.

Hope to see you there!