var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),document.addEventListener("gform/theme/scripts_loaded",function(){gform.themeScriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>"function"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn("The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1."),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener("gform_main_scripts_loaded",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener("gform/theme/scripts_loaded",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener("DOMContentLoaded",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook("action",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook("filter",o,r,e,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,r){gform.removeHook("action",o,r)},removeFilter:function(o,r,e){gform.removeHook("filter",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+"_"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==r?t.apply(null,e):e[0]=t.apply(null,e)})),"filter"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});
/* = 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_1');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_1').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_1').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_1').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_1').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_1').val();gformInitSpinner( 1, 'https://joemcnally.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [1, current_page]);window['gf_submitting_1'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_1').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [1]);window['gf_submitting_1'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_1').text());}else{jQuery('#gform_1').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "1", currentPage: "current_page", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_1" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_1"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_1" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; jQuery( document ).trigger( 'gform_post_render', [1, current_page] ); gform.utils.trigger( { event: 'gform/postRender', native: false, data: { formId: 1, currentPage: current_page } } ); gform.utils.trigger( { event: 'gform/post_render', native: false, data: { formId: 1, currentPage: current_page } } ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } );} );
/* ]]> */
You realize that now everyone in your audiences will be dressing in costume so they can be picked. Can of worms – opened!
What we somehow need is a blogpost that explains to us the new focusing options with the new d4 and the d800. What works best for moving away? towards? sideways? etc
thanks
Killer shots as always!
Busy schedule, Joe 🙂 Looking forward to seeing you and Bill on thursday in Copenhagen 🙂
Welcome to Finland Joe! Looking forward to your lecture today! On my way to Helsinki atm.
Welcome to Finland. See U in few hours.
Heii, Your lecture @Tallin was awesome. Thank You.
Nice stuff as always. I do look forward to see what you and Bill have been cooking on friday when you reach Stockholm Sweden on your Nikon tour.
I acutally got my big Elinchrom Softbox last friday, i ordered it in december and had almost forgot about it. It looks awesome and i´m gonna try it out when i get a chance.
OK, I’ll bite since no one else will. McNally’s luggage caught up with the source when and where, or has it?
Joe, I attended the session at PSW as you made these photos. It was my highlight of the conference.
And I thought I wanted to be a professional photographer. Crazy life Joe. I think I’m content to live it remotely through you. Thanks for sharing.
Ah, but think of the frequent flyer miles! This guy sure gets around! Dubai, Washington, Prague… How do you do it?!!
Joe, many thanks for you lecture in Helsinki just a few hours ago! I enjoyed your lively style and insight into a experienced photographers life and work!
It was great to see your presentation. Thanks for visiting Finland!
I was fortunate to be at that class. As always, it is a pleasure to see how a true professional works through so many of the obstacles faced when doing a shoot. In the end the results are wonderful.
Can’t wait to hear about the Nat Geo shoot.
See you in Copenhagen on Thursday. Welcome to Scandinavia!
Any change of an eventual workshop in Portugal?
not yet! first I’ll see of it is thursday when we (me and the bag) reconvene in Copenhagen….:-)
I was surprised to see that indirect come in at around $500 considering the other indirect lights are *ahem* more.
Joe, that was a great workshop and interesting to see how you approach a job. Now imagine Phillip and Alexandra interviewing wedding photographers…”No, we don’t need engagement pictures, we had some done by Joe McNally.” No pressure on the wedding photographer! I hope they get Cliff Mautner, he wouldn’t be intimidated 🙂
Can’t wait to meet you in Copenhagen tomorrow.
Henrik
Joe,
Back in the day, when Kamila and I used to gallivant around Europe on the weekends, one of my bags, a small roller, never made the trip on the plane with me. It would always arrive the next day in a private car from the airport to wherever we were staying. That damn bag traveled better than I did.
I hope you and your bag are reunited happily and that it has its own vacation photos to show off.
Safe Travels, and all the best,
Kyle
Again as always, it was a inspirational to see your pictures and hear the stories behind them. I am always amazed by your pictures and also how you well take and handle your audience…even the old bearded guy in the front row.
Lot to learn, this n00bie haz.
Creepy photos at the top there!
Joe,
I am looking forward to your talk tomorrow at Fotografiska in Stockholm!
Perhaps you could discuss with the museum about having an exhibition there! 😉
Thank you for posting such a useful, impressive and a wicked blog.
Joe, you really need to have a GPS log of this, would be really cool to bring it up in LR4 and watch your global zigzagging with great images interspersed!
Joe there’s any chances for a workshop in italy? Please come there!!!!!
i liked your stuff at photoshop world here in DC. Thanks for taking the time to show us some tips and tricks. Are any of the other photos posted online somewhere? I ask because you shot me too…
Very cool shots Joe! I see your work in a whole new light since attending your workshop! Keep it up!!
Yes, really thanks for the inspirational speech, once again.
Too bad you did not have time to shoot in Finland. I have always wondered what you could with the amazing light in here.
The photo of Philip and Alexandra is magic!
Joe I just love reading your blog! I love how REAL it is (i.e. the casual nature) yet, how informative you make it. Thanks for keeping it real!
Joe,
Your class was amazing! Philip and I enjoyed it so much. I can’t express to you how much of an honor it is that you chose us and took some photos of us. THANK YOU soo much for that!! We loved the opportunity we had. We learned so much in your workshop and we have engagement photos from YOU! Thank you and thanks for posting this on your blog. So amazing!!!