Nov 2007

A Tee Shirt From Zazzle

teefront     teeback
That's not me, but it is my shirt, as depicted by Zazzle. You register, upload artwork, preview it, and they put it on tee shirts, hats, mugs, buttons, etc. that you order. It's certainly not cheap, but it is fast, and totally custom. I ordered one shirt and it arrived today.

What's more, you can make your artwork public and other people can put it on their goods. When they are sold, you get a royalty. There is also an affiliate program which gets more of the sale in your pocket.

Now I have discovered tee-shirt design, what do you think I should put on a Bagelturf shirt for sale to the general public? And would you buy one? With shipping that one shirt was about $25. That's as much as an entire book, so it had better be a good shirt.

Also, if you are in the UK you should check out Tee Marto. You can't send in your own designs, but they do have some good ones for sale.
|

Bagelturf News Mailing List

mailinglist
I've added a mailing list to the blog called Bagelturf-News. It's a low-volume private list that I will use to deliver information about this site: new products, product updates, and changes to the blog. I expect to post about one message per month.

If you would like to be on the list, just click on the Mailing List icon in the sidebar and provide your name and email address.
|

The Mac Developer Network

macdevelopernetwork
The Mac Developer Network is hoping to become your first port of call for all things to do with Mac development. So far it features two Cocoa-oriented podcasts (iTunes links): Late Night Cocoa and Mac Developer Roundtable, both the creation of Steve Scott.

Late Night Cocoa is one-on-one discussion with Mac developers about many Cocoa-related subjects, while Mac Developer Roundtable is a group discussion.
|

Office Paintball Photo Shoot

officepaintball
See how the photo was taken by watching this YouTube video. It wasn't so much taken as composed: five separate elements were shot a number of times to get the right images, then those integrated and tweaked with Photoshop.

Credit goes to Brandon Voges at Bruton Stroube. To see more of his work, click on Portfolio, then select his name from the list of photographers.
|

Get Your Head Around Aperture 1.5 Edition 2 Now Available


Get Your Head Around Aperture 1.5 e-book
Updated With
Fourteen New Articles


I have updated Get Your Head Around Aperture 1.5 with fourteen new Aperture articles that were published on the blog between the first edition and today. For full details of the changes see the Publication History page.

If you have already purchased the book, you will have received an email with a download link that is good for 5 downloads or one year, whichever comes first. Just use that link and it will download this new release. Or skip this update and get the next.
|

Aperture: SmugMug Export Plug-In Available

aperturetosmugmug
David Michael Holmes has an Aperture Export plug-in for SmugMug called ApertureToSmugMug. While that's the only one that interests me, others may find his other plug-ins for Phanfare, PBase, and ZenFolio useful.
|

Aperture: Chroma Blur To The Rescue

flowerwithsunsetfinal
Flower and Sunset: 1/8000s f/3.5 ISO400 50mm -0.7ev, Canon 30D, Canon EF 50mm f/1.8, adjusted

A Thanksgiving trip to Monterey Bay Aquarium gave me some interesting photo opportunities, not all of them involving sea creatures. Sitting down to lunch, I snapped the photo above, just after the table has been relaid, and just before people were shown to it.

I literally snapped it, picking up my camera and pressing the shutter to seize the moment. Only later did I get chance to view the result and see how the camera had been set up at the time. This is what I had:
flowerwithsunsetorig
Since I was shooting RAW, the tungsten white balance could easily be adjusted out. The image had been underexposed two-thirds of a stop on top of metering on the bright sky, so the detail on the table was lost in the shadows.

After adjusting the white balance I increased the saturation to 1.8 and then started on the levels. By boosting the shadows with the Highlights and Shadows control and making some heavy changes to the Levels control, I was able to obtain a much better image. But the shadows, now light enough for detail, showed some very ugly blotches of color caused by chroma noise (100% crop):
chromablur2
Chroma Blur to the rescue. Chroma Blur is one of the RAW Fine Tuning settings hidden behind a disclosure triangle at the top of the adjustments pane and is normally set to 2.0. I boosted it all the way to 10.0 to achieve the result I was looking for:
chromablur3
A side effect of this adjustment is that the flower petals have dark edges -- that's not as the scene actually was, but in the final image if helps make them stand out against the light background.

Here are the final settings:
chromablur1
Notice that I changed the levels by moving the top triangle controls, not the lower markers. I find this often gives better control.
|

Still Waiting For One Application Before Plunging Into Leopard

While on the topic of backing up, it is worth noting that SuperDuper for Leopard is still not quite ready. Since RapidWeaver (used to create this blog) was updated with some bug fixes, SuperDuper is the last remaining application I need to have ready before taking the leap.
|

The Tao Of Backup

The Tao Of Backup gives very good advice on how to ensure that recovery is possible. It's a lead-in to a commercial product, but the advice is still valid.
|

The Nerd Handbook

The Nerd Handbook is a short guide to the care and feeding of your nerd (or geek):

A nerd needs a project because a nerd builds stuff. All the time. Those lulls in the conversation over dinner? That’s the nerd working on his project in his head.

It’s unlikely that this project is a nerd’s day job because his opinion regarding his job is, “Been there, done that”. We’ll explore the consequences of this seemingly short attention span in a bit, but for now this project is the other big thing your nerd is building and I’ve no idea what is, but you should.

At some point, you, the nerd’s companion, were the project. You were showered with the fire hose of attention because you were the bright and shiny new development in your nerd’s life. There is also a chance that you’re lucky and you are currently your nerd’s project. Congrats. Don’t get too comfortable because he’ll move on, and, when that happens, you’ll be wondering what happened to all the attention. This handbook might help.

He nails it. Be sure to read the comments. And maybe buy the book Managing Humans.
|

Aperture: What Are The Pros And Cons Of Managed vs. Referenced Masters?

qandasmall
I have learned a ton from your site, thanks for providing it!! My question is this: I didn't know what I was doing when I originally imported my pictures into Aperture. Now I have a mix of some images managed and many are referenced. Do you have a pros/cons list of managed vs referenced? I have looked but haven't found a conclusive list. Thanks again for all your help!!

Here is my list of pros and cons for referenced and managed masters:

Pros for Managed

  • No file management needed
  • Low risk
  • All masters backed up with the library
  • Can use vaults for complete back up
  • Always have everything with you

Cons for Managed

  • Potentially huge library
  • Other applications can't access images
  • Can archive by project only
  • Adding storage requires that everything is copied

Pros for Referenced

  • Organize and store the masters where you like
  • Access them from other applications
  • Masters can be backed up separately from the rest of the system
  • Potentially sharable among many users and systems
  • Can archive in many different ways
  • Can be simple and fast to add storage

Cons for Referenced

  • Must organize, manage, and protect the masters
  • Risk of being caught by permissions problems
  • Risk of Aperture not reconnecting them
  • Must remember to back them up separately from everything else
  • Not all images are with you all of the time if using a laptop
  • Vaults don't have all the data
  • Offline referenced masters cause filter difficulties
Don't forget that combined schemes are also possible. You can keep most of your images referenced but the last few projects managed. Once you are done with the project, make its masters referenced. To help portability you can use high resolution previews as needed.
|

Still Life With Melting Chocolate Bunnies

bunn2
The Dutch are at it again. See chocolate bunnies melted in three different ways. Set to piano music of course. Needs Flash.
|

Leopard: NSOperation and NSOperationQueue Example

Drew McCormack at MacResearch has a nice example of the power of NSOperation and NSOperationQueue. His example carries out matrix calculations using multiple threads by setting up an NSOperation to evaluate each part of an expression tree.

Usually it is hard to use CPU resources efficiently and reliably, but these new features of Leopard make it simple. By packaging compute-intensive operations into NSOperation objects all the complexity is handed off to the operating system.

Notable in this example is that there is no code for locking. That's all handled automatically. There is also no code to manage dependencies between parts of the expression that are being evaluated on multiple threads and potentially multiple CPUs. Dependencies are expressed in the code, but not explicitly managed.

Since this is Objective-C 2.0 you can also see @properties and @synthesize at work. And marvel at the lack of memory management.

The site also has many other goodies for people using Macs for scientific environments including a script repository, and a Core Animation tutorial.
|

Eye-Fi At COBA

eyefi
At the COBA meeting on Wednesday evening at Stanford University I saw a demo of the Eye-Fi wireless SD card given by Ziv Gillat of Eye-Fi. The card (except for its color) looks and feels just like a regular 2GB SD card, but actually contains a processor and a complete wireless interface.

You take photos, they go onto the card, and then the card sends them to your computer via your wireless base station. Their software can then automatically upload to Eye-Fi's servers and then pass the images on to popular photo sharing sites. It all happens immediately and fairly quickly. Wireless encryption is supported.

So far they only have an SD card product, but you can use an adaptor to fit it into a CF slot. The card cannot do ad-hoc networking, so to use it with a laptop rather than a base station you need a portable wireless router. And the current implementation is JPEG only. It's clearly aimed at consumers rather than pros, but it is easy to see how a more sophisticated product for pros could be developed.

Cost? $990 per ounce.
|

Muggezifter Is Running From Camera

runningfromcamera
From the site:

The rules are simple: I put the self-timer on 2 seconds, push the button and try to get as far from the camera as I can.

He also has pictures on Flickr.
|

Available For Hire

availableforhire2
In three weeks, my position as Program Manager with one of the world's largest corporations, along with all the others in my building in Silicon Valley will come to an end.

I've been with my current employer for twelve years and working continuously since even before university, so the idea that my services are no longer needed comes as a shock. But this is Silicon Valley, California, and it's continuously in flux. I can finally bury years of legacy knowledge and look only to the future. I'm very valuable to the right employer, but the tricky part is arranging the marriage.

I see three ways forward. The first is to keep doing what I have been doing in the real-time and embedded computer field: product management/program management/technical marketing kind of thing. These are all good, wholesome, stressful, and well-paying roles. I've been in this line of business for a very long time: I started with electronics when I was ten years old and was programming at thirteen, eventually turning both skills into full-time employment. Silicon Valley is packed with companies creating the next big thing in security, networking, storage, mobility, etc. and they all need this kind of help.

The second is to go work for Apple. This seems like a natural fit, but the company is notoriously difficult to get into. And what would I do there? Apple doesn't make any real-time embedded computer products, so that's hardly a good... Wait! Yes they do! iPhones and iPods and Airports are real-time embedded computers. And laptops and desktops better be as real-time as they can be or users will be pissed cough -- Vista -- cough. I've already talked to one group at Apple and they like me very much. But they don't have an open position and have been unable to create one for me. So I'm going to continue leveraging the contacts I have and running down leads.

The third way is to do the Indie thing. I'll sit in my home office and write. I'll write articles, code, books, applications, utilities, reviews, plug-ins, whatever pays the bills. I'll do training, sell my brain by the hour, bludgeon slow payers with caustic wit, maybe even have some time off now and again. And I'll take photos. It's an attractive option -- I ran my own consulting company for seven years, so I know how it's done -- but it's also a lonely and risky one. Success depends on building long-term relationships with clients and I have no long-term clients. Or even short-term ones. Do I really want to start from scratch again?

Whatever I do, it has to be interesting and I have to be working with other smart, successful people, preferably as part of a focused team. The best position would provide a creative outlet and involve understanding new complex material. My skills for analyzing, simplifying, communicating, and educating (see my Aperture articles for example) make me particularly valuable where problems are badly-defined and even the right questions are hard to come by. It's fun to be immersed in confusion if the resources are there to create something new from it.

I've added a Hire Me page that gives more information, so take a look and get in touch if you think you have a match. And my business card really does look like the one above.
|

Leopard: New Developer Features

cocoaheads
Deric Horn gave a very informative one-hour talk at Cocoaheads at Apple in Cupertino this week covering the developer improvements in Cocoa for Leopard. There are so many improvements under the hood that it is hard to remember all of them and Deric's talk served to fill in those blanks. Attendance was very good, and there were plenty of new faces. If you live anywhere nearby it is worth a visit. We meet in Town Hall, building 4. That's the auditorium where Steve Jobs introduced the new iMac, iWork, iLife, and .Mac in August.

I recorded the audio on my Canon S3 and edited it in GarageBand. You can download the file (AAC stereo, 30MB) via the Silicon Valley Cocoaheads page.
|

Aperture: Remove Duplicate Images

Ever had this happen?
duplicates1
This project is full of duplicates. There are only 30 images I need to remove in this example, so I can do it by hand, but what if I had a thousand?

There are two ways to remove duplicates: find something that is common to all images in one set and filter on that, or find something that is common to each pair of images and use that to create a thumbnail arrangement that makes for easy selection.

An example of using the first method is to see if the duplicates exist because they were imported a second time. If this is the case then they have a separate import session and I can filter them and remove them. It's easy to check. I click on the filter button top right, select Import Session and see just two. I select one of the two import sessions to filter down to just one set of images:
duplicates2
Then I select all the images will command A and delete them with command delete. When I show all the images in the project, just one set is left.

If the duplicate images were imported together this does not work, so I need a different method of distinguishing them. For example, if one set of duplicates is a different size then I can filter on the EXIF data and use a condition such as Image Height Is Less Than to split them:
duplicates6
To use the second method, that of pairing up the duplicates, the sort order must use an image property that is the same for each duplicate, such as image date, caption, file name, or possibly file size. It depends on where the images came from as to what is available and what will work. The list view can be useful for doing this because it can sort on a much wider variety of image data than the grid view.

Once sorted, and assuming that every image has the same number of duplicates (all have one duplicate in my example), I arrange the display to show the duplicates in rows:
duplicates3
To select the ones that I want to remove, I simply click and drag a selection rectangle from the top to the bottom on the left-hand column:
duplicates4
Once selected, I press command delete to remove them. Just marking them with a keyword or as rejects are other options open to me. It depends how certain I am that I want them removed permanently and right now.

Another way I can get rid of duplicates is to hide them in stacks. This works only if the images have their image dates intact. I select all the images and go to Stack > Autostack. By addjusting the slider on the autostack HUD, the images are paired:
duplicates5
I close all the stacks with option semicolon and the problem has been hidden. If I later want to delete the duplicates, I can open all the stacks and adjust the width of the grid view to show one stack per row. Then I drag a selection rectangle across the right-hand images to select the images and delete them.

Having the duplicates in a stack like this also lets me mark one set. Selecting all the closed stacks and adding a keyword will only apply the keyword to the pick. If I subsequently unstack the images, I can then use that keyword to filter and remove the duplicates.
|

Learn Cocoa At Stanford

Banner
Stanford University has a Cocoa programming course. Information about the course, code, and the lecture slides are available online.
|

Aperture: Articles At Jürgen's Photography Blog

jurgensphotographyblog
Jürgen Banda-Hansmann has written a short series of articles about Aperture that cover:
  • Optimize Libraries
  • Optimize your folder structure
  • Personalize and structure your Keyword List
  • Create your own Metadata Presets
  • Autostacking
|

Aperture: DNGExport Plug-in

dngexport
Micah Walter has released a beta Aperture plug-in that exports images as DNGs. It's a wrapper that calls Adobe's DNG Converter application, so that pretty much defines its functionality. You'll need to download the converter from Adobe as well as the plug-in.
|

Rube Goldberg Machine Or Web Site?

Online stores are not supposed to work like this:
buythis
Can anyone tell me why the Dutch are doing this?
|

Reasons For DSLR: High ISO

skatesforrent
Skates For Rent: 1/8s f/4.0 ISO1600 46mm, Canon 30D, EF-S 17-55mm f/2.8, adjusted

One of the reasons I spent the money on a DSLR was the ability to take good pictures with high ISO. My Canon 30D is a generation behind the state of the art at least, but it's such a huge improvement over my Canon S3 that it is worth it to me. I ran the S3 at ISO 100, or 200 when I needed some more speed. Above 200 the noise was just too bad.

With the 30D I can take pictures at ISO 1600 and get good results. ISO 1600 gives noise, but not horrible noise. The picture of roller skates above was taken in a dimly-lit roller-sking rink, hand-held, at 1/8s. I could dial up an aperture of f/4 to get a reasonable depth of field and still get a good final image. Image stabilization in the EF-S 17-55 lens made it possible of course.
openwindow
Open Window: 1/20s f/2.8 ISO3200 -1ev173mm, Canon 30D, EF 70-200mm IS L f/2.8

The 30D also has an ISO 3200 setting. It's a cheat though. All it does is multiply the numbers by 2. I get twice the brightness and twice the noise.

I try to use ISO 100 most of the time, but for indoor use will set it to 800. It would be a great help if the camera set the ISO automatically according to my preferences (ie as low as possible), but it does not. One more control to twiddle. The 40D is better at this, I hear, and Nikon has it right.
|

A Quick Look At Photon 1.0

Photon is a RAW workflow utility designed to do one thing well: let me view and sort my images quickly before I import the good ones into a more heavyweight tool like Aperture or Lightroom.
photon2
As soon as I put my card into a reader, Photon starts reading and converting RAW files, putting thumbnails into the area on the left. I can start working with images right away: no need to wait for the download to finish. Photon maxed out both my CPUs as it downloaded at about 7MB per second from my USB card reader.

Across the top are stacks: general purpose bins for images. The currently selected stack populates the thumbnail pane, so clicking on a different stack shows me a different set of images. Each card initially goes into its own stack.

To process my images I scroll through the thumbnails with the left and right arrow keys and restack the images using whatever criteria make sense for me. Each stack has a single-key short-cut, called a hotkey (the numbers 1 and 2 in the screen shot above). I can reassign these to any keys I like. 7, 8, 9, X might relate to ratings. I could add a stack called T for trash and another called P for print. If I were shooting a wedding I could assign hotkeys for different locations or people. There is no need to drag and drop images, just pressing the hotkey moves the image to the stack assigned to that key and shows the next image in the viewer. I can process 1000 images with only 1000 key presses this way.

Zooming is simplicity itself: I click on the image and it zooms to 100% with the click point at the center:
photon3
I let go, and it returns to a scaled view. To make zooming persistent I can move the switch bottom right.

Once I have my images sorted, I am ready to export the images to disk. Since many of my images have no value and were either moved to a junk stack or skipped over, I only save some of the stacks. I can save the original RAW, or opt to have Photon convert to JPG, TIFF, or a number of other formats. Once done, I am ready to import my surviving images into Aperture or another application or process them further, maybe adding GPS data or keywords.

I found this 1.0 release of Photo to be stable and fast. There are a few rough edges to the interface and a need for refinement in some areas. Photon is short on features -- but that's good. It does what it claims to do well, and there is plenty of functionality that can be added later once customers start telling Green Volcano what they would like to see. The demo version does everything except save stacks.
|

Leopard: Objective-C 2.0 Part Two

Scott Stevenson has posted Part 2 of his series on Objective-C 2.0. He covers public properties and private setters, custom accessor and variable names, mixing synthesized and custom accessors, and providing methods at runtime.

It's all good stuff -- both the features in Objective-C 2.0 and Scott's presentation of the material.
|

A Week Without Leopard

roadster
Roadster: 1/25s f/6.3 ISO400 55mm, Canon 30D, EF-S 17-55mm f/2.8

It's been a week since I went to the Los Gatos Apple store and picked up my copy of Leopard. But I'm not running it yet. I'm waiting for three things: an update to SuperDuper, some fixes for RapidWeaver, and an update to Aperture. All have some issues, or at least the potential of issues, when running under Leopard and since these are critical applications for me, I have to wait until they are ready.

The Apple discussions have reports of some odd problems with Aperture running on Leopard. Some people cannot launch the application beyond the splash screen. Others get crashes at the same point. Some can see their images, but get a crash as soon as they try to do anything with them. I've seen some problems fixed by turning off Time Machine, but others not. It's hard to distinguish one cause from another because the hardware configurations are so different. My suspicion is that graphics drivers are at least partly involved, but people have been able to fix some problems by ignoring ownership on firewire volumes. Suggestions are that Prokit and corrupted images are to blame as well.

The menu bar can vanish too. Some people have found that font duplicates were the cause. Others find that Leopard is thinking their video card is unsupported and once they get past that the menus come back. Spaces causes some odd interactions with Full screen in Aperture, but this is not specifically an Aperture issue. It interacts strangely with a number of applications. One person had problems with a color picker preventing Aperture preferences appearing. There are clearly many ways that all manner of easily forgotten additions cause problems under Leopard.

Meanwhile I've been booting into a copy of Leopard installed on another partition and playing with it there. I've already made a snapshot of my Tiger drive that I will keep for at least six months: that's my insurance in case of corruption or my own stupidity. When I do move over, I'll do all the requisite back ups and checks, clean out my fonts, remove all the non-standard preference panes and start-up items, unplug all the peripherals, etc. and then do an update install. The next step will be to test everything that's critical to make sure I don't need to revert and go forward with my fingers crossed.
|

Microsoft Launches Customer Care Initiative

I know it's hard to believe, but just before Leopard was released Microsoft launched a customer care initiative. Yes, on their Breaking Entrepreneurial News page, Inc.com had this item:

Microsoft (NASDAQ:MSFT) has introduced a new customer service initiative that provides Microsoft Dynamics clients and partners worldwide with industry-leading visibility and control over their ERP and CRM solutions. Business Ready Customer Care offers reassuring insight into upcoming product innovations and extended product support.

Microsoft will provide ongoing road-map visibility through comprehensive statements of direction that announce planned product innovations 12 -18 months before the next version release for Microsoft Dynamics AX, CRM, GP, NAV, SL and Retail Management Solution product lines.

Microsoft will also extend its Support Lifecycle policy for the CRM, ERP and Retail Management Solution product lines, allowing Dynamics customers to receive ten years of product support rather than the normal five years offered.

I love this stuff. Industry-leading visibility and control. Reassuring insight. Ongoing road-map visibility. Comprehensive statements of direction. All terrifically Business Ready.
|

Aperture: Compare Many Images Quickly

There are times when I have a large number of images to process, and I need to do it quickly (or at least efficiently). I am at that point right now, having shot almost 3000 photos with my new Canon 30D and just thrown all of them into one project. Going through so many images in a reasonable amount of time boils down to locating chunks of similar images and comparing them against each other to pick the good ones. So how to compare as many images as possible at once?

First I make the workspace as big as possible. I go to Window > Layouts > Maximize Browser (option command B), press W to get rid of the project browser pane if it is still present, and press shift T to remove the toolbar at the top. Now the screen is full of thumbnails.

With hundreds of thumbnails on the screen it can make sense to arrange them into groups. If I'm going to compare pictures of a cat against each other then the job can be made much easier if they are all together, so either I drag them so they are adjacent, or even better select all the cat images and press command L to make a new album out of them.

But however I have these thumbnails arranged, if I have hundreds then they are too small for proper comparison. So I move the slider on the lower right all the way to the right to make the thumbnails as large as possible:
comparemany12
The large thumbnails are of a lower quality than the original, but it is possible to make judgements on them at this reasonable size. I can reject many right away by selecting them and hitting the 9 key.

To compare the images that remain I need more detail, and there are a couple of ways of doing this: Multi mode and Three-Up mode.

First I make sure I am in Multi mode:
comparemany3
Multi mode allows the viewer (and full screen view) to show multiple images at once. Primary mode shows just the currently selected image.

Then I select four adjacent images thumbnails that I want to initially compare:
comparemany4
By going to full screen with the F key I can make each fill almost a quarter of the screen:
comparemany1
To display more images I hit command left arrow or command right arrow twice, quickly. This scrolls the images up and down two at a time:
comparemany2
For a bigger view of one image, I can switch into Primary mode temporarily. Pressing option R fills the screen with the selected image. Pressing option U puts it back in Multi mode. To repeat with another on-screen image I click it and use option R, option U again.

Of course the loupe is always at hand, but can only look at one part of one image. No use for comparisons.

For even larger views, I use the zoom function. The disadvantage with using zoom is that with the limited VRAM on my machine (24" iMac with better graphics), going into zoom mode arbitrarily reduces the number of images from four to two or three, so losing my selection.

If four images is too many, how about three? There is another display mode called Three Up that I can use for comparisons:
comparemany5
To use Three Up mode, I select one image:
comparemany11
And then go full screen with F:
comparemany10
The selected image is in the center and the adjacent images are shown to either side. It's wasteful of screen space, but does the job. As I hit left or right arrow keys, the images scroll left and right. I can also click on the left or right images to make them scroll to the center.
comparemany9
To narrow down to just the center image and one other, I command click on the image I want. That adds that image to the selection and prevents Three Up mode from doing its magic. Command click on it again to restore the Three-Up display.

Pressing Z to zoom from Three Up mode gives me three full-size images that I can freely scroll around for comparison. Command space drag moves single images and shift command drag moves all of them together.
comparemany8
I've gone from roughly comparing hundreds of tiny thumbnails to comparing just three images in great detail. By rating or keywording I can pick the ones that I think are the best and then move onto another group of images.
|
The Bagelturf site welcomes Donations of any size