Photoshop For Geeks ]|[


Photoshop World Orlando.

Photoshop For Geeks ][


This is my second time presenting at Photoshop World. This time it's in Las Vegas and we're doing two sessions.

Photoshop For Geeks


This is my first year presenting at Photoshop World Boston which is sold out this year.

I'll also be involved at the Adobe Developer Kitchen.

Coming up for air


Whew. What a wild ride the last 9 months has been.

First off, my grandmother, passed away in early November. She had been sick the last year so it wasn't a surprise. I was lucky I was able to visit her a couple times this summer. I do worry about my grandfather though. I know my grandmother was the center of his life. She was an amazing person. I plan to visit my grandfather as much as possible this summer.

Rachel and I had to put our cat Duane to sleep two days before Christmas. He was 7 years old.

Work has been extremely busy. Adobe decided to do a public beta of Photoshop CS3. This is the most ambitious release I have ever worked on. A new UI, support for Intel Macs, Windows Vista, improved performance, reworked features, and tons of new features. And that's only half the story given the recentely announced Photoshop CS3 Extended which I was heavily involved with.

I took on more responsibilities at Adobe, being tasked as a driver of two initiatives: improving our development process, and shepherd PS's architecture and core features.

I also was able to throw in an Easter Egg tribute to Bruce Fraser. As far as I know, it's the only new easter egg in CS3 and didn't require a lick of code.

I plan on covering all these Photoshop topics in more detail over at my Adobe blog.

Needless to say, I haven't had a vacation since last spring. I celebrated my 5th year of working at Adobe last July, and need to find time to squeeze in my 3 week sabatical. The plan right now is to enjoy the summer, take advantage of the Twins season tickets Rachel gave me for my birthday, and spend some time with my family.

Jack Davis "Photoshop Training Camp Live!


If you enjoyed Ben Willmore's discussion at the last Photoshop User Group Meeting, I'd highly recommend you sign up early and come to Jack Davis "Photoshop Training Camp Live!" session, Thursday, Aug 10, 2006 - 9am - 4pm. The session is only $79 if you pre-register.

Jack is of the world's most recognized experts on digital imagery, coauthor of the award-winning Photoshop Wow and How to Wow books (with Ben Willmore), and member of the Photoshop Hall of Fame for his life time contributions.

More info:

Adobe Lightroom Beta 3


In case you missed it, Adobe Lightroom Beta 3 is out. It's full of new features including some spiffy new web photo galleries.

The Todd-Ness and other updates


The Todd is still in level four. He did a dry run on his CGC (Canine Good Citizen) test. He passed all but two skills: Sits for Greeting and Sits for Grooming. We're working on that. Being such a little guy with little human interaction before 6 moths ago, he still dodges being touched from above. He's pretty good if you get on his level and scratch him under the chin. He know's a few tricks: Shake, High-5 and Roll-Over. I want to teach him to play dead next.

I've been extremely busy with work at Adobe, the Twin Cities Photoshop User Group, and all my other pet projects. I'm hoping to get back to doing regular Photoshop tips and tutorials.

I've been on the road a lot this winter and spring. Mostly for work, but Rachel and I did get a chance to go to New York City for 5 days, and Las Vegas for another 5 days. We were in Vegas with some friends to see them play in a hockey tournament.

Our landscaping project is finally done for the year. We created a new run for the Todd in our front yard with mulch and sun friendly plants.

Rachel is going to be giving a piano recital June 8th. She's been taking lessons and practicing.

The band hasn't played in ages. We do have a wedding and some sort of festival to play later this summer. I better update that website, too.

The Todd, Return of Terrier


The Todd is doing quite well these days. His health has been excellent the last two months. He graduated out of level three last Thursday. We'll start level four next week.

Warm weather has allowed us to get out more and visit the park. I've taught him to catch and return a Frisbee which is great at wearing the little guy out. He's a real bundle of energy. After a long day, he enjoys chillin' out on the couch with me & Rachel.

The Todd, Part Deux


Sorry, I haven't updated my site for awhile. My dog, the Todd, has been taking up a fair amount of my time. He's had a series of health issues, most likely due to the fact that he was from an abusive environment and fed terrible things. His poor digestive system is shot. Of the 6 weeks I've had him, 2 plus weeks have been dealing with violent, explosive diarrhea, due to various parasites and bacterial infections.

He's also been diagnosed with severe separation anxieties - which are common for dogs with his history.

On a positive note, he's super smart. He graduated from 'Level 1' in his training class.

"Adobe Lightroom" Beta 2

The second preview version of Adobe Lightroom has been posted on Adobe Labs. Highlights:

Lightroom is available as a Universal Binary for compatibility with Intel-based Apple hardware. Other enhancements include Crop and Straighten tools inside the Develop module, plus the ability to add music to slideshows, and the ability to create hierarchical keyword sets.

Introducing "Adobe Lightroom"

1/9/2006 - Updated

A new application announced today from Adobe which offers an efficient new way for professional photographers to import, select, develop, and showcase large volumes of digital images.

FREE public BETA download from the Adobe Labs Web site:

Training and Tutorials

News and reviews:

Adobe Lightroom is partially developed in the Twin Cities Adobe office and members from the development team will be on hand to give you a first glimpse at this Thursday's Twin Cities Photoshop User Group meeting.

Enter "The Todd"


Rachel and I rescued a small pooch from the Animal Humane Society this weekend. Authorities busted up a puppy mill in southwest Minnesota which had 150+ dogs living in terrible conditions.

The news covered the story, and many people were eager to get a puppy from the shelter. We decided to take on one of the adult dogs. He's a Rat Terrier that's 1.5 years old and although he's never had much human contact or had ever been house trained, he's super smart. Within 48 hours we had him crate trained and he can go walks, keeping right by our side.

He's all signed up for months of training through the Animal Humane Society. We call him "The Todd"...

Open a Folder of Documents


I updated the "Open a Folder of Documents" script. I ended up factoring out some of the code from Image Processor to ignore certain file types.

Here's the updated script: openFolder.jsx.

Document Naming


One thing I'm constantly doing when writing scripts is getting the current documents name. From there, I generally need to manipulate it. More often than not, I'll need to strip off the file type extension and add a new one.

I've modified a scriptlet called getDocName.jsx that shows you how to do this.

Hacking Layers to Files to support PNG


While presenting a seminar on "Photoshop & Flash: Optimizing Pixels and Workflow" at the Macromedia Max conference, Mike Ninness mentioned that he wished Photoshop's 'Layers To Files' script could save to PNG. A friend in the audience sent me an email, so I whipped something together that night.

Here's what I did.

The full script is available here: Export Layers To Files_PNG.jsx

Script Event Manager for sRGBs4w


I've had a few people ask me about the Script Event Manager in Photoshop CS2. Specifically, people have asked if this a good solution to change a docs profile to sRGB for Save For Web. The short answer is 'No.'

Here's the long answer:

The Script Event Manager in Photoshop post-processes the event. Don't take my word for it, try it for yourself. Run an alert script like hello.jsx with the Script Event Manager. It will play after the event. FWIW - I've put in a feature request to have the option to pre-process or post-process events.

I ended up writing a script called sRGBs4w.jsx to do this. Here's what it's all about.

New Photoshop Crawlspace Blog Entries


Twin Cities Photoshop User Group


The next Twin Cities Photoshop User Group is scheduled for 7-9pm, November 10th, 2005 at MCAD, Auditorium 150.

Register to receive an e-mail reminder.

Tonight's Topic Resources

For Professional Photographers

White Papers and Primers

My Photoshop Crawlspace


My 'official' Adobe blog is finally rolling hot.

I've recently posted articles on a Scripting UI Tool, The ASMP & Katrin Eismann, and the Chuck Close exhibit that was recently in town.

In the past, I've used as a clearinghouse for ALL my interests.

Moving forward, I plan to use my Adobe Blog,, for Photoshop and photography specific posts.

Since the Twin Cities Photoshop User Group seems to be getting legs of it's own, I'll be moving all the TCPSUG stuff to a dedicated website at Currently it just points to

I'll eventually move my Photoshop Scripting resources to

I'll keep for more of my personal hobby and interests.

Katrin Eismann - Face/Mask


Katrin Eismann will be in town for an all-day training event, Saturday, October 15, 2005, presented by ASMP.

Admission Fee ASMP members....$100
Admission Fee Non-ASMP members....$125

The price includes lunch. This is a great deal and the class size should be fairly small.

If you are not familiar with Katrin, she is one of the best Photoshop trainers in the world. I'm excited to attend this event!

More information and sign-up for the event.

Additionally, the ASMP has a visiting photographer, Nick Vedros, who will be presenting an evening of images and conversation at MCAD, Tuesday, November 8, 2005, courtesy of the prestigious Canon Explorers of Light program. This event is free.

More information and sign-up for the event.

Twin Cities InDesign User Group


There is a Twin Cities InDesign User Group meeting, Thursday, October 13, 2005, 7:00 pm to 9:00 pm at the Minneapolis College of Art and Design, Auditorium 150.

The focus of this meeting will be a presentation by Keith Gilbert on "Designing and Producing Tables in InDesign."

More information and sign-up for the event.

My sweet little Debbie


My postings have slowed down a lot lately. The reason is my beloved sphynx, Debbie, became severely ill. I finally had to put her to sleep on Friday - she was only a year and half old.

Debbie was the sweetest little kitty ever. Just look at that cute little face! She followed her "Daddy," as Rachel would call me around her, everywhere I went. From the the time I got up, read the paper, checked my email, to when I left for work in the morning. Then I'd see her little pink head with big ears peeking through the front window our house as I drove by in the morning. I swear she knew which car I was driving! When I opened the back door in the evening, she'd be waiting by the door. She had one of the funniest little struts ever as she'd tail me around the house, or carry her fake little mouse around during a game of fetch.

She touched my life in so many ways in the short time she was with us. She was hilarious. She jumped in the toilet twice - while I was using it! I was so proud of her.

I'll miss giving her weekly baths, her little head looking out our big front window, her stinky cat breath, the way she'd knead my gut while I was reading, and especially the way she's curl up next to my head or under my arm while we slept.

Goodnight, my sweet little Debbie. I miss you so much.

Twin Cities Photoshop User Group - Handouts


Guest Speakers

Color Management Handouts

Keyboard Shortcuts Handouts

Featured Books

Featured Training

Featured Products

Meeting space provided by MCAD and The Foundation.

Additional sponsors/contributors include: Adobe Systems, Ben Willmore,, Deke McClelland, Peachpit Press, Total Training, Lens Babies, Andrew Rodney and NAPP.

Photoshop World


I'm back from a week in Boston for Photoshop World. I was able to talk with a lot of amazing Photoshop professionals. I was also able to take in a lot of the sessions, so I picked up a bunch of cool tricks and ideas for scripts. I'll discuss the highlights of my trip a little more over the next few weeks.


I recently purchased the domain "" which I plan to use as the permanent home of the Twin Cities Photoshop User Group.

Currently it just points to this, my personal website. I hope to have the site up this fall/winter depending on my available time.

Photoshop Scripting Wishlist


Do you have suggestions for Scripting in Photoshop? New functions that aren't possible, etc. Post your Photoshop Scripting Wishlists at PS-Scripts and Adobe User Forum.

Both these forums are a good resource for Photoshop scripting help:

Do you have ideas for scripts you'd like to see written? Contact me. If I like the idea, I'll see what I can do in my spare time.


9/3/2005 is a site I visit regularly. Here are a couple of interesting articles:

New Document Function


While working on a script, I needed to create a new document that was 16-Bit.

Using the Photoshop DOM, you'd need to do it in two steps:

// Set the dimensions(in inches), resolution(ppi),
// name, and color mode of your document here
firstDoc = documents.add( 1, 1, 300, "Name", NewDocumentMode.RGB );
// Convert the doc to 16-bit.
app.activeDocument.bitsPerChannel = BitsPerChannelType.SIXTEEN;

This wasn't obvious to me to first create an 8-bit image and convert it. I started thinking it would be nice to have a single function where I could set all of the document properties you see in the "New File" dialog in Photoshop: Document Name, Width, Height, Resolution, Color Mode, Bit Depth, Background Contents, Pixel Aspect Ratio, and Color Profile. Using the Scripting Listener Plug-In, I grabbed some code and starting picking it apart.

I ended up with this function call:

makeDoc("Untitled", 400, 400, 300, Greyscale, 16, White, 0.9);

Here's the full newDoc.jsx script with all the routines.

I don't know if it's any better than using the Photoshop DOM, but I did learn some stuff along the way. I used conditionals to set the Color Profile based on the Color Mode. I used math to fix the assumed resolution so the pixel dimensions would come out correctly.

Dr. Brown's Merge-A-Matic
(Files to Frames script) Part2


Here's an update for my previous post on making Merge-A-Matic execute a makeLayerFromFrames function. It turns out, Photoshop doesn't like to do the command unless the Animation palette is showing. We should probably show the Animation palette anyway. Here's how you do it:

// see if the animation palette is available
// If it is, makeFramesFromLayers
try { 
 function makeFramesFromLayers() {     
  var id1 = stringIDToTypeID( "animationFramesFromLayers" );
  var desc1 = new ActionDescriptor();
  executeAction( id1, desc1, DialogModes.NO );
 // if the animation palette isn't visible,
 // hide the error, show the palette,
 // then makeFramesFromLayers
 catch (error) {
  if (error.number != 8800) // Don't report the error
   alert (error); //  + ":" + error.line);
  function showAnimationPalette() {
   var id1 = charIDToTypeID( "slct" );
    var desc1 = new ActionDescriptor();
    var id2 = charIDToTypeID( "null" );
     var ref1 = new ActionReference();
     var id3 = charIDToTypeID( "Mn  " );
     var id4 = charIDToTypeID( "MnIt" );
     var id5 = stringIDToTypeID( "toggleAnimationPalette" );
     ref1.putEnumerated( id3, id4, id5 );
    desc1.putReference( id2, ref1 );
   executeAction( id1, desc1, DialogModes.NO );
  function makeFramesFromLayers() {     
   var id1 = stringIDToTypeID( "animationFramesFromLayers" );
   var desc1 = new ActionDescriptor();
   executeAction( id1, desc1, DialogModes.NO );

There you have it. The evolution of a script.

Here's some snippet scripts from this exercise:

The American Society of Media Photographers


ASMP - Minneapolis/St. Paul chapter offers a regional and statewide resource for hundreds of photographers of all levels of experience and interest. They are the singular trade association in the Twin Cities metro region that addresses the needs of working photographers with these three goals:

To protect and promote the interests of photographers whose work is for publication.
To promote high professional standards and ethics.
To cultivate friendship and mutual understanding between photographers.

They are bringing Photoshop expert, Katrin Eismann, to town for a discussion with members, October 15th.

Check them out. Membership has it's privileges.

Dr. Brown's Merge-A-Matic (Files to Frames script)


If you want Merge-O-Matic (part of Dr. Brown's Services 1.2) to automatically turn the layers of the created doc into an animation, add the following function between lines 93 and 94 of the script.

function makeFramesFromLayers() {     
    var id1 = stringIDToTypeID( "animationFramesFromLayers" );
    var desc1 = new ActionDescriptor();
    executeAction( id1, desc1, DialogModes.NO );

This basically gives you the same functionality that's in ImageReady through "File>Import>Folder as Frames..." through Photoshop and Bridge. It's a small tweak, but it's kinda cool. It shows you how easy it is to add custom functionality to existing scripts.

16-Bit Dr. Brown's Services


Russell Brown's Place-A-Matic script is now 16-bit savvy. I was going to post a tutorial before they updated the script to show how it would be fairly easy to make it 16-bit. I was just going to add a single line:

// Convert the doc to 16-bit.
app.activeDocument.bitsPerChannel = BitsPerChannelType.SIXTEEN;

Turns out, the way they modified the script is a lot more flexible. You can compare the code between the two scripts and see the changes. It's a fun way to learn scripting!

Photoshop World


I'm heading out to Photoshop World with a group Adobe employees, September 7th through the 9th. I'll be participating in customer round tables, and attending various events. I'll also be pimpin' the Twin Cities Photoshop User Group as much as possible in my free time.

Contact me if you're attending and want to say "Hi."



I went to the vet with my brother, Jon, to put his 18 year old cat, Garfunkel, to sleep. It was rough. Garf had been around through junior high, high school, college, my first name it, he was there. He was a good lap kitty and he will be missed.

His buddy, Simon, died of cancer back in 1999.

Adobe Blogs


Adobe has recently added employee blogs to Here are two of my Photoshop co-worker's blogs:

John Nack - Photoshop Product Manager
Scott Byer - Photoshop Engineering Architect

Twin Cities Photoshop User Group


The next Twin Cities Photoshop User Group is scheduled for September 15th, 2005 at MCAD, Auditorium 150. The main discussion, lead by Photoshop Expert - Cory Shubert, will be on color management. Register to receive an e-mail reminder.

I'm still lining up discussions, so if people have ideas on topics, or would like to present one, contact me and let me know.

New Photoshop Scripts


In my free-time I'm helping Photoshop guru, Ben Willmore, to create free scripts for people to use. We hope to add a new script every month.

The first script is an "Open as Smart Object..." command. Get the script and a tutorial on Ben's blog this weekend. You can also suggest scripts you'd like to see.

It's based off of Russell Brown's Place-O-Matic, except that the script works in 8-Bit or 16-Bit, it only places one file as a Smart Object, it uses a fixed resolution, and it places the file faster.

This is a beta script. We hope to add functionality so you can select multiple files and open them each in separate .psd files.

New Photoshop Scripting Tips


I've added tips on how to add scripts to Bridge and have a script launch in Photoshop.

I also added three new snippet scripts:

Chicago Style Hot Dogs


I enjoy a good Chicago Style hot Dog from time to time. You need the right base and a whole bunch of stuff to throw on top of it.

1 Hot Dog
1 Poppyseed Bun
1 Kosher Dill Pickle Spear
2 Sport Peppers
2 Tomato Slices
Chopped Onions
Celery Salt

The problem I've found is that it's kinda hard to find all of the ingredients, especially Sport Peppers. E. Formella & Sons has them for mail order. Brownberry makes Poppyseed Chicago Style Buns. I haven't found a good place to mail-order dark green relish.



I've added a section called "Food" where I've listed some of the places I like to go to eat. I hope to expand this section as I discover new places. Check out my Northwoods dining experiences.



Rachel & I are spending time in northern Minnesota this week. We're staying at a cabin on Clearwater Lake.

The first day we paddled across Clearwater to the BWCA and hiked up to the top of the Palisades. Rachel's father broke his leg, although we thought it was sprained at the time. We still managed to make it to the top to take some photos.

On Monday, we went fishing and caught 10 rainbow trout. The biggest was about 17inches. Rachel and I cooked them up while Rachel's father was in Grand Marais being fitted for a cast.

On Tuesday, we went sailing in Grand Marais on the Hjordis, a steel hulled schooner with red sails. We went out for about 2 hours on Lake Superior. It was quite windy, so the captain was hesitant to put up all the sails. I think we maxed out at about 6 knots.

Today, we'll do a hike on the Caribou Trail.

Twin Cities Photoshop User Group


I've organized a Twin Cities Photoshop User Group which met for the first time Thursday, May 12th, a week or two after Adobe shipped the product. It was basically a crash course in all the new features of CS2, Bridge, and the Photoshop interop features with InDesign and Illustrator.

The next meeting is set for 7-9pm, Thursday, July 14th at MCAD, Auditorium 150.

I'm looking for people who want to help lead the group in discussions, demos, etc. Contact me if you're interested helping out.

St. Andrews, Scotland


I'm planning a visit to Scotland in May with my wife and another couple. I'm very excited. We're visiting my friend and bandmate, the Rev. Matt Marohl, who is attending St. Andrews to complete his Phd. in the Bible. It's a little more complicated than that, but I'll let you read his thesis paper if you want to know more.

We hope to see London, and parts of Ireland as well. Matt has said that I'll be able to play golf while I'm there, but I'm not holding my breath. I plan on bringing my camera to get some shots to share of our adventures. Matt took a picture to whet our appetite.

Kitchen Remodel


My wife and I recently remodeled the kitchen in our little bungalow. Chad Hoffman, of Jolly Woodchopper, did all of the woodwork and I think he did an awesome job. I helped install them. We started the entire project February 9th and finished on March 17th. Not bad considering all that we had to organize and get done.

I'll tell you what, I'm glad to be eating at home and to be eating something other than soup and cold-cut sandwiches. I did like having an excuse to go eat sushi.