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(); } } );} );
/* ]]> */
Rick Brewer says
Joe, I’m sorry for the loss of your good friend. If Fred was half the inspiration to you as you are to others (like me), he must have been a great man. Take Care.
Mick Stetson says
Being a teacher myself, and knowing you also as a teacher, thank you for your insightful, sensitive, appreciative eulogy. I’m sorry about losing such vital part of our photographic community. I wish these people would get more credit for how they change peoples’ lives (our lives). Cheers to all the unsung heroes that make heroes! Mick Stetson
Jim Ruppel says
Thanks Joe. I suspect his teaching style is reflected in yours.
Nancy Austin says
Joe, this is a wonderful tribute. (I love this photo of Fred.) I came to know Fred quite well after he retired and came around Newhouse to visit. I learned so much about the early days of the MPJ program from Fred. It just astounded me that he could recall dates and people and details well into his 80’s.
Fred attended our military graduation banquets every year, until the year he called me the night before and told me he couldn’t make it because he was having heart surgery the next day. Fred said “Don’t announce that I am in the hospital, but if anyone asks, just tell him/her I am having heart surgery.” That always made me smile.
Fred certainly was one-of-a-kind. I feel blessed to have known him.
David says
That was beautiful, Joe McNally.
Ken Hackman says
Fred was a good friend and great supporter of the Military Photojournalism Training Program the he created and nurtured until and after his retirement. Always open to my suggestions, some of which were probably not very good, he was an absolute gentleman who I so enjoyed seeing and talking with and I and many like me will miss his wise counsel.
Joe McNally says
Thank you, Rick….he had a great gift as a teacher. Thank you for the kind words.
Joe McNally says
Thank you, Ken. You, and Fred, are the best.
Joe McNally says
Hey Jim…many thanks for reading, and thank you for the thought. All the Best, Joe
Terry Tinkess says
I think the greatest compliment any teacher can receive is to be remembered (for the most part) fondly and to be told they made a difference, It doesn’t need to happen often to become indelibly etched in your heart and soul, and it is always appreciated more than words can say. I think you can probably look at your words as a preview of what you can expect from the many who are influenced by you when the time comes for you move onto that last great adventure.
Jerry Sheehan says
My deep condolences Joe. The dark secret of middle age is losing those who led us along life’s path.
Maureen Cavanagh says
Joe: well-written as usual. Very poignant. Thanks for sharing this.
Robert Falconer says
So sorry to hear of Fred’s passing, Joe. I recall, in very clear terms, how much he meant to you when you spoke of him during our Nikon Owner interview. Next to family and close friends, a teacher who informs, inspires, and “reaches” us, is a treasure never forgotten. Sincere condolences.
Mark says
Sorry for your loss Joe. Losing a mentor can be harder than loosing a family member. Shared passion tie people together. Cherish the man, and the time, and pass on the education with his spirit. (Oh wait you do!!)
Joe McNally says
Thank you, Mark…
Joe McNally says
Thank you, Robert….appreciate the thoughts.
Joe McNally says
Appreciate the note, Mo…..all the best.
Vanilla Gorilla says
Mr. Joe. My most humble condolences go out to you and his family. While I admire and respect you work and approach to the craft, it is you ability to teach it on so many levels that even a ape like me can understand. I am willing to bet the farm, that Mr. Demarest planted the seeds that grew into your teaching ability.
PJ
Cindy Brown says
You make me wish I had had him as a teacher and mentor, both with your words and your photos. Sorry for your, his friends, and his family’s loss.
Steve says
A very poignant post Sir
Benjamin says
A good teacher can inspire hope, ignite the imagination, and instill a love of learning person with good photographic skill sorry for the loss
James says
A Super touching post – its so rare these days to find someone who can inspire you – i firmly believe he has left a legacy by inspiring people like you to go on and spread the amazing lessons that you do. Your work is truly outstanding. Thank you.
Screaming Pictures says
Beautiful