Skip to main content

Testing the Ray Ring Flash

The Ray Flash is a piece of plastic that fits onto a on-camera-flash to provide the effect of a ring flash. Ring flashes are essential for certain macro photography, common, for example, in medical photography. When you're in close, an ordinary on-camera flash is shadowed by the lens itself, so only a portion of the subject is illuminated. As well, the ring flash is soft, because the light comes from a large area, compared to the relative point-source of an ordinary flash. Not as soft as a softbox or umbrella, but better than on-camera flash. So it combines the full-on lighting of on-camera flash, without the harsh shadows, and retains some texture thanks to the softer light source.

Click on the photos for a large version.

The trunk of my car, including the white Ray Flash box and the brown shipping box. ISO 400, 1/200 @ F/8.0, 24mm on EF 24-70, Canon 5D mark II.



Those military families are trying to invade my bookshelf. Notice how the soldiers are essentially shadowless, yet the detail is crisply delineated. ISO 400, 1/60 @ f/4.0, 66mm on EF 24-70, Canon 5D mark II.





Coffee table with glass top, antique box, glass bowl of eggs. Note donut shaped specular reflections. Notice the greenish egg on the right has a bright round highlight from the flash, and a paler, larger highlight with a vertical line from the french window behind me. ISO 400, 1/60 @ f/4 70mm on EF24-70, Canon 5D mark II.

Comments

Popular posts from this blog

BASH Matrix Multiplication

tl;dr Bash is not the language for math-intensive operations. REPS=$1; FILE_1=$2; FILE_2=$3 OUTFILENAME=$4; readonly COLS=`head -1 $FILE_1 | wc -w`; readonly ROWS=`cat $FILE_1 | wc -l`; # echo "rows is $ROWS; cols is $COLS" if [[ $ROWS != $COLS ]]; then echo "Expecting square matrices, " \ "but rows = $ROWS, cols = $COLS\n"; exit 1; fi # -------------------------------------------------- # SUBROUTINES # function outputMatrix() { local matrixname=$1; local matrix; local elem; echo "matrix is '$matrixname'."; eval matrix=\( \${${matrixname}[@]} \); local i=0; for elem in "${matrix[@]}"; do echo -n "$elem "; if (( ++i == $COLS )); then echo ''; i=0; fi done } function multiply() { declare -a product; local M=$1 N=$2; local i j k idx1 idx2 idx3; for ((i=0; i < $ROWS; i++ )); do for ((j=0; j<$COLS; j++)); do

Perl5, Moxie and Enumurated Data Types

Moxie - a new object system for Perl5 Stevan Little created the Moose multiverse to upgrade the Perl 5 programming language's object-oriented system more in line with the wonderfull world of Perl 6. Unfortunately, it's grown into a bloated giant, which has inspired light-weight alternatives Moos, Moo, Mo, and others. Now he's trying to create a modern, efficient OO system that can become built into the language. I've seen a few of his presentations at YAPC (Yet Another Perl Conference, now known as TPC, The Perl Conference), among them ‎p5 mop final final v5 this is the last one i promise tar gz <. So I was delighted to recently see an announcement of the module Moxie, and decided to try implementing a card game. While the package provides some POD documentation about the main module, Moxie, it doesn't actually explain the enum package, Moxie::Enum. But delving into the tests directory reveals its secrets. Creating an Enum package Ranks { use

Creating Perl5 Objects with Moxie

Having in the previous article prepared data types for car suits and card ranks, I can now combine them to provide a playing card class, using Stevan Little's Moxie module (version 0.04, so definitely early days.) The goal is to provide an object-oriented paradigm to the Perl 5 programming language which is more sophisticated, more powerful and less verbose than manually bless() -ing hashes. To achieve that goal it needs to be faster and light-weight compared to Moose. Currently, Moxie.pm and and MOP.pm are add-on modules, but eventually, when they are more complete, when the wrinkles have been ironed out, and when they have gained acceptance and a community of users, they might be merged into the Perl core. One significant feature of Moxie is that it reduces boilerplate code. You don't have to specify warnigns or strict . As well, the features or the perl you are using are enabled, among them say , state , signatures , and post_deref . A Simple Moxie Class packag