Help
RSS
API
Feed
Maltego
Contact
Domain > nedwilson.net
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-01-04
173.236.246.166
(
ClassC
)
Port 80
HTTP/1.1 200 OKDate: Sat, 04 Jan 2025 00:20:31 GMTServer: ApacheLink: https://www.n3d.org/index.php?rest_route/>; relhttps://api.w.org/Upgrade: h2Connection: UpgradeCache-Control: max-age600Expires: Sat, 04 Jan 2025 00:30:31 GMTVary: Accept-Encoding,User-AgentTransfer-Encoding: chunkedContent-Type: text/html; charsetUTF-8 !DOCTYPE html>html langen-US classno-js>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1> link relprofile hrefhttps://gmpg.org/xfn/11> script>(function(html){html.className html.className.replace(/\bno-js\b/,js)})(document.documentElement);/script>title>Ned Wilson – VFX Supervisor, Compositor, Pipeline TD, Endurance Athlete, and Occasional Operator of Fine Machinery./title>meta namerobots contentmax-image-preview:large />link reldns-prefetch href//www.n3d.org />link relalternate typeapplication/rss+xml titleNed Wilson » Feed hrefhttps://www.n3d.org/?feedrss2 />link relalternate typeapplication/rss+xml titleNed Wilson » Comments Feed hrefhttps://www.n3d.org/?feedcomments-rss2 />script>window._wpemojiSettings {baseUrl:https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/,ext:.png,svgUrl:https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/,svgExt:.svg,source:{concatemoji:http:\/\/www.n3d.org\/wp-includes\/js\/wp-emoji-release.min.js?ver6.7}};/*! This file is auto-generated */!function(i,n){var o,s,e;function c(e){try{var t{supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var tnew Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return ert})}function u(e,t,n){switch(t){caseflag:return n(e,\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f,\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f)?!1:!n(e,\ud83c\uddfa\ud83c\uddf3,\ud83c\uddfa\u200b\ud83c\uddf3)&&!n(e,\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f,\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f);caseemoji:return!n(e,\ud83d\udc26\u200d\u2b1b,\ud83d\udc26\u200b\u2b1b)}return!1}function f(e,t,n){var rundefined!typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement(canvas),ar.getContext(2d,{willReadFrequently:!0}),o(a.textBaselinetop,a.font600 32px Arial,{});return e.forEach(function(e){oet(a,e,n)}),o}function t(e){var ti.createElement(script);t.srce,t.defer!0,i.head.appendChild(t)}undefined!typeof Promise&&(owpEmojiSettingsSupports,sflag,emoji,n.supports{everything:!0,everythingExceptFlag:!0},enew Promise(function(e){i.addEventListener(DOMContentLoaded,e,{once:!0})}),new Promise(function(t){var nfunction(){try{var eJSON.parse(sessionStorage.getItem(o));if(objecttypeof e&&numbertypeof e.timestamp&&(new Date).valueOf()e.timestamp+604800&&objecttypeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if(undefined!typeof Worker&&undefined!typeof OffscreenCanvas&&undefined!typeof URL&&URL.createObjectURL&&undefined!typeof Blob)try{var epostMessage(+f.toString()+(+JSON.stringify(s),u.toString(),p.toString().join(,)+));,rnew Blob(e,{type:text/javascript}),anew Worker(URL.createObjectURL(r),{name:wpTestEmojiSupports});return void(a.onmessagefunction(e){c(ne.data),a.terminate(),t(n)})}catch(e){}c(nf(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supportstet,n.supports.everythingn.supports.everything&&n.supportst,flag!t&&(n.supports.everythingExceptFlagn.supports.everythingExceptFlag&&n.supportst);n.supports.everythingExceptFlagn.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady!1,n.readyCallbackfunction(){n.DOMReady!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(en.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings);/script>style idwp-emoji-styles-inline-css> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; }/style>link relstylesheet idwp-block-library-css hrefhttp://www.n3d.org/wp-includes/css/dist/block-library/style.min.css?ver6.7 mediaall />style idwp-block-library-theme-inline-css>.wp-block-audio :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio :where(figcaption){color:#ffffffa6}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed :where(figcaption){color:#ffffffa6}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6}:root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme :root :where(.wp-block-image figcaption){color:#ffffffa6}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote:where(.has-text-align-right){border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote:where(.has-text-align-center){border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote:where(.is-style-plain){border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table :where(figcaption){color:#ffffffa6}.wp-block-video :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video :where(figcaption){color:#ffffffa6}.wp-block-video{margin:0 0 1em}:root :where(.wp-block-template-part.has-background){margin-bottom:0;margin-top:0;padding:1.25em 2.375em}/style>style idclassic-theme-styles-inline-css>/*! This file is auto-generated */.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}/style>style idglobal-styles-inline-css>:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--dark-gray: #1a1a1a;--wp--preset--color--medium-gray: #686868;--wp--preset--color--light-gray: #e5e5e5;--wp--preset--color--blue-gray: #4d545c;--wp--preset--color--bright-blue: #007acc;--wp--preset--color--light-blue: #9adffd;--wp--preset--color--dark-brown: #402b30;--wp--preset--color--medium-brown: #774e24;--wp--preset--color--dark-red: #640c1f;--wp--preset--color--bright-red: #ff675f;--wp--preset--color--yellow: #ffef8e;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}/style>style idcalendar-style-inline-css> .calnk a:hover { background-position:0 0; text-decoration:none; color:#000000; border-bottom:1px dotted #000000; } .calnk a:visited { text-decoration:none; color:#000000; border-bottom:1px dotted #000000; } .calnk a { text-decoration:none; color:#000000; border-bottom:1px dotted #000000; } .calnk a span { display:none; } .calnk a:hover span { color:#333333; background:#F6F79B; display:block; position:absolute; margin-top:1px; padding:5px; width:150px; z-index:100; line-height:1.2em; } .calendar-table { border:0 !important; width:100% !important; border-collapse:separate !important; border-spacing:2px !important; } .calendar-heading { height:25px; text-align:center; background-color:#E4EBE3; } .calendar-next { width:20%; text-align:center; border:none; } .calendar-prev { width:20%; text-align:center; border:none; } .calendar-month { width:60%; text-align:center; font-weight:bold; border:none; } .normal-day-heading { text-align:center; width:25px; height:25px; font-size:0.8em; border:1px solid #DFE6DE; background-color:#EBF2EA; } .weekend-heading { text-align:center; width:25px; height:25px; font-size:0.8em; border:1px solid #DFE6DE; background-color:#EBF2EA; color:#FF0000; } .day-with-date { vertical-align:text-top; text-align:left; width:60px; height:60px; border:1px solid #DFE6DE; } .no-events { } .day-without-date { width:60px; height:60px; border:1px solid #E9F0E8; } span.weekend { color:#FF0000; } .current-day { vertical-align:text-top; text-align:left; width:60px; height:60px; border:1px solid #BFBFBF; background-color:#E4EBE3; } span.event { font-size:0.75em; } .kjo-link { font-size:0.75em; text-align:center; } .calendar-date-switcher { height:25px; text-align:center; border:1px solid #D6DED5; background-color:#E4EBE3; } .calendar-date-switcher form { margin:2px; } .calendar-date-switcher input { border:1px #D6DED5 solid; margin:0; } .calendar-date-switcher inputtypesubmit { padding:3px 10px; } .calendar-date-switcher select { border:1px #D6DED5 solid; margin:0; } .calnk a:hover span span.event-title { padding:0; text-align:center; font-weight:bold; font-size:1.2em; margin-left:0px; } .calnk a:hover span span.event-title-break { width:96%; text-align:center; height:1px; margin-top:5px; margin-right:2%; padding:0; background-color:#000000; margin-left:0px; } .calnk a:hover span span.event-content-break { width:96%; text-align:center; height:1px; margin-top:5px; margin-right:2%; padding:0; background-color:#000000; margin-left:0px; } .page-upcoming-events { font-size:80%; } .page-todays-events { font-size:80%; } .calendar-table table,tbody,tr,td { margin:0 !important; padding:0 !important; } table.calendar-table { margin-bottom:5px !important; } .cat-key { width:100%; margin-top:30px; padding:5px; border:0 !important; } .cal-separate { border:0 !important; margin-top:10px; } table.cat-key { margin-top:5px !important; border:1px solid #DFE6DE !important; border-collapse:separate !important; border-spacing:4px !important; margin-left:2px !important; width:99.5% !important; margin-bottom:5px !important; } .minical-day { background-color:#F6F79B; } .cat-key td { border:0 !important; }/style>link relstylesheet idtwentysixteen-fonts-css hrefhttp://www.n3d.org/wp-content/themes/twentysixteen/fonts/merriweather-plus-montserrat-plus-inconsolata.css?ver20230328 mediaall />link relstylesheet idgenericons-css hrefhttp://www.n3d.org/wp-content/themes/twentysixteen/genericons/genericons.css?ver20201208 mediaall />link relstylesheet idtwentysixteen-style-css hrefhttp://www.n3d.org/wp-content/themes/twentysixteen/style.css?ver20240716 mediaall />link relstylesheet idtwentysixteen-block-style-css hrefhttp://www.n3d.org/wp-content/themes/twentysixteen/css/blocks.css?ver20240117 mediaall />!--if lt IE 10>link relstylesheet idtwentysixteen-ie-css hrefhttp://www.n3d.org/wp-content/themes/twentysixteen/css/ie.css?ver20170530 mediaall />!endif-->!--if lt IE 9>link relstylesheet idtwentysixteen-ie8-css hrefhttp://www.n3d.org/wp-content/themes/twentysixteen/css/ie8.css?ver20170530 mediaall />!endif-->!--if lt IE 8>link relstylesheet idtwentysixteen-ie7-css hrefhttp://www.n3d.org/wp-content/themes/twentysixteen/css/ie7.css?ver20170530 mediaall />!endif-->!--if lt IE 9>script srchttp://www.n3d.org/wp-content/themes/twentysixteen/js/html5.js?ver3.7.3 idtwentysixteen-html5-js>/script>!endif-->script srchttp://www.n3d.org/wp-includes/js/jquery/jquery.min.js?ver3.7.1 idjquery-core-js>/script>script srchttp://www.n3d.org/wp-includes/js/jquery/jquery-migrate.min.js?ver3.4.1 idjquery-migrate-js>/script>script idtwentysixteen-script-js-extra>var screenReaderText {expand:expand child menu,collapse:collapse child menu};/script>script srchttp://www.n3d.org/wp-content/themes/twentysixteen/js/functions.js?ver20230629 idtwentysixteen-script-js defer data-wp-strategydefer>/script>link relhttps://api.w.org/ hrefhttps://www.n3d.org/index.php?rest_route/ />link relEditURI typeapplication/rsd+xml titleRSD hrefhttps://www.n3d.org/xmlrpc.php?rsd />meta namegenerator contentWordPress 6.7 />/head>body classhome blog wp-embed-responsive hfeed>div idpage classsite> div classsite-inner> a classskip-link screen-reader-text href#content> Skip to content /a> header idmasthead classsite-header> div classsite-header-main> div classsite-branding> h1 classsite-title>a hrefhttps://www.n3d.org/ relhome>Ned Wilson/a>/h1> p classsite-description>VFX Supervisor, Compositor, Pipeline TD, Endurance Athlete, and Occasional Operator of Fine Machinery./p> /div>!-- .site-branding --> button idmenu-toggle classmenu-toggle>Menu/button> div idsite-header-menu classsite-header-menu> nav idsite-navigation classmain-navigation aria-labelPrimary Menu> div classmenu-navigation-container>ul idmenu-navigation classprimary-menu>li idmenu-item-86 classmenu-item menu-item-type-custom menu-item-object-custom menu-item-86>a hrefhttps://www.n3d.org>Home/a>/li>li idmenu-item-83 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-83>a hrefhttps://www.n3d.org/?page_id44>Availability/a>/li>li idmenu-item-84 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-84>a hrefhttps://www.n3d.org/?page_id29>Demo Reels/a>/li>li idmenu-item-85 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-85>a hrefhttps://www.n3d.org/?page_id2>Resume/CV/a>/li>/ul>/div> /nav>!-- .main-navigation --> /div>!-- .site-header-menu --> /div>!-- .site-header-main --> /header>!-- .site-header --> div idcontent classsite-content> div idprimary classcontent-area> main idmain classsite-main> article idpost-103 classpost-103 post type-post status-publish format-standard hentry category-vfx-supervision tag-on-set tag-vfx-supervision> header classentry-header> h2 classentry-title>a hrefhttps://www.n3d.org/?p103 relbookmark>Poor Man’s QTake/a>/h2> /header>!-- .entry-header --> div classentry-content> p>On my current show, I needed to have access to the video feed from the DIT cart, but resources were limited and we sadly did not have a video assist/playback person to help. On large budget projects you would typically install the QTake app on your iPad so you didn’t have to stand in the often crowded space next to the monitor, but what to do on this one?/p>p>I came up with a solution. Sound was kind enough to let me attach a BNC cable to their video out port on their cart, and from there, I needed a few more pieces of tech. These were:/p>ol classwp-block-list>li>A BlackMagic Design Web Presenter HD – $515 new at a hrefhttps://www.bhphotovideo.com/c/product/1625670-REG/blackmagic_design_web_presenter_hd.html>BHPhotoVideo.com/a>; likely cheaper used on eBay/li>li>A Raspberry Pi – I had a RPi 3 Model B Plus hanging around, which works just fine. You can pick a new RPi 5 up from a hrefhttps://www.adafruit.com/product/5813>adafruit.com/a> for $80 and a a hrefhttps://www.adafruit.com/product/5847>case/a> for $15.95. /li>li>An Ethernet Cable/li>li>A reasonably modern iPad with the VLC app/li>/ol>p>First, you need to provision the RPi. I used their handy a hrefhttps://downloads.raspberrypi.org/imager/imager_latest.dmg>Raspberry Pi Imager/a> to install. The link is a macOS download; just search the internet for Raspberry Pi Imager for other operating systems. Be sure to set up your new RPi to connect to the same WiFi that your iPad will eventually connect to, and turn SSH on./p>p>When the device is powered up, SSH into it, connect an Ethernet cable between the Web Presenter and your RPi, and assign a static IP address to the wired Ethernet port:/p>div classwp-block-group>div classwp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained>pre classwp-block-code>code>code>sudo nmcli c edit Wired connection 1/code>code>set ipv4.method manual/code>code>set ipv4.address 172.16.0.2/29/code>code>save persistent/code>code>activate/code>code>quit/code>/code>/pre>/div>/div>p>Next, you’ll need to set up a RTMP server on your RPi. I asked ChatGPT for help on this – I’ve edited the instructions somewhat after I tested them to make sure that they work./p>figure classwp-block-embed is-type-wp-embed is-provider-ned-wilson wp-block-embed-ned-wilson>div classwp-block-embed__wrapper>blockquote classwp-embedded-content data-secret9wZK3R8oaM>a hrefhttps://www.n3d.org/?p105>Setting up a RTMP Server on a RPi/a>/blockquote>iframe classwp-embedded-content sandboxallow-scripts securityrestricted styleposition: absolute; visibility: hidden; title“Setting up a RTMP Server on a RPi” — Ned Wilson srchttps://www.n3d.org/?p105&embedtrue#?secretEF8TbvuNis#?secret9wZK3R8oaM data-secret9wZK3R8oaM width600 height338 frameborder0 marginwidth0 marginheight0 scrollingno>/iframe>/div>/figure>p>Now, time to configure the Web Presenter. BlackMagic’s a hrefhttps://www.blackmagicdesign.com/support/download/e7235bb733f84fab92836049c8a4f7c5/Mac%20OS%20X>Web Presenter Setup/a> utility is super easy to use. The download link is once again for macOS. I set it up as follows:/p>div classwp-block-image>figure classaligncenter size-full is-resized>img fetchpriorityhigh decodingasync width1246 height1286 srchttps://www.n3d.org/wp-content/uploads/2024/11/Screenshot-2024-11-04-at-17.32.27.png alt classwp-image-107 stylewidth:608px;height:auto srcsethttps://www.n3d.org/wp-content/uploads/2024/11/Screenshot-2024-11-04-at-17.32.27.png 1246w, https://www.n3d.org/wp-content/uploads/2024/11/Screenshot-2024-11-04-at-17.32.27-291x300.png 291w, https://www.n3d.org/wp-content/uploads/2024/11/Screenshot-2024-11-04-at-17.32.27-768x793.png 768w, https://www.n3d.org/wp-content/uploads/2024/11/Screenshot-2024-11-04-at-17.32.27-1200x1239.png 1200w sizes(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px />/figure>/div>div classwp-block-image>figure classaligncenter size-full is-resized>img decodingasync width1246 height1282 srchttps://www.n3d.org/wp-content/uploads/2024/11/Screenshot-2024-11-04-at-17.32.47.png alt classwp-image-108 stylewidth:608px;height:auto srcsethttps://www.n3d.org/wp-content/uploads/2024/11/Screenshot-2024-11-04-at-17.32.47.png 1246w, https://www.n3d.org/wp-content/uploads/2024/11/Screenshot-2024-11-04-at-17.32.47-292x300.png 292w, https://www.n3d.org/wp-content/uploads/2024/11/Screenshot-2024-11-04-at-17.32.47-768x790.png 768w, https://www.n3d.org/wp-content/uploads/2024/11/Screenshot-2024-11-04-at-17.32.47-1200x1235.png 1200w sizes(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px />/figure>/div>p>I chose “POORQTAKE” as a key for my live stream, and clicked the “On Air” Button on the front of the unit./p>p>Last, on the iPad, I launch VLC, click the “Open Network Stream” button, and use the URL rtmp://YOUR.RPI.WIFI.IP/live/POORQTAKE, and click “Open Network Stream”, and there you have it!/p>div classwp-block-image>figure classaligncenter size-large is-resized>img loadinglazy decodingasync width2048 height1537 srchttps://www.n3d.org/wp-content/uploads/2024/11/IMG_7594-2048x1537.jpg alt classwp-image-109 stylewidth:611px;height:auto srcsethttps://www.n3d.org/wp-content/uploads/2024/11/IMG_7594-2048x1537.jpg 2048w, https://www.n3d.org/wp-content/uploads/2024/11/IMG_7594-300x225.jpg 300w, https://www.n3d.org/wp-content/uploads/2024/11/IMG_7594-768x576.jpg 768w, https://www.n3d.org/wp-content/uploads/2024/11/IMG_7594-1536x1153.jpg 1536w, https://www.n3d.org/wp-content/uploads/2024/11/IMG_7594-1200x901.jpg 1200w sizesauto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px />/figure>/div> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Author /span> a classurl fn n hrefhttps://www.n3d.org/?author1>Ned Wilson/a>/span>/span>span classposted-on>span classscreen-reader-text>Posted on /span>a hrefhttps://www.n3d.org/?p103 relbookmark>time classentry-date published datetime2024-11-05T02:27:49+00:00>2024-11-05/time>time classupdated datetime2024-11-05T17:21:06+00:00>2024-11-05/time>/a>/span>span classcat-links>span classscreen-reader-text>Categories /span>a hrefhttps://www.n3d.org/?cat38 relcategory>VFX Supervision/a>/span>span classtags-links>span classscreen-reader-text>Tags /span>a hrefhttps://www.n3d.org/?tagon-set reltag>on-set/a>, a hrefhttps://www.n3d.org/?tagvfx-supervision reltag>vfx supervision/a>/span>span classcomments-link>a hrefhttps://www.n3d.org/?p103#respond>Leave a commentspan classscreen-reader-text> on Poor Man’s QTake/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-103 -->article idpost-105 classpost-105 post type-post status-publish format-standard hentry category-pipeline tag-on-set tag-vfx-supervision> header classentry-header> h2 classentry-title>a hrefhttps://www.n3d.org/?p105 relbookmark>Setting up a RTMP Server on a RPi/a>/h2> /header>!-- .entry-header --> div classentry-content> p>Setting up an RTMP (Real-Time Messaging Protocol) streaming server on a Raspberry Pi can be done using a software package like strong>NGINX/strong> with the strong>RTMP module/strong>. Here’s a step-by-step guide to get you started:/p>h3 classwp-block-heading>Requirements:/h3>ul classwp-block-list>li>A Raspberry Pi (preferably a 3B, 3B+, or 4 for better performance)/li>li>Raspbian or Raspberry Pi OS installed/li>li>Internet connection/li>/ul>h3 classwp-block-heading>Step 1: Update Your System/h3>p>Open a terminal and update your system packages:/p>pre classwp-block-preformatted>code>sudo apt update/code>br>code>sudo apt upgrade -y/code>/pre>h3 classwp-block-heading>Step 2: Install Dependencies/h3>p>You need to install the required dependencies to build NGINX from source:/p>pre classwp-block-preformatted>code>sudo apt install -y build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev libpcre3 libpcre3-dev openssl libssl-dev/code>/pre>h3 classwp-block-heading>Step 3: Download NGINX and the RTMP Module/h3>p>You will need to download both NGINX and the RTMP module:/p>pre classwp-block-preformatted>code>cd ~/code>br>code>wget http://nginx.org/download/nginx-1.25.2.tar.gz/code>br>code>wget https://github.com/arut/nginx-rtmp-module/archive/refs/heads/master.zip/code>/pre>p>Unpack the files:/p>pre classwp-block-preformatted>code>tar -zxvf nginx-1.25.2.tar.gz/code>br>code>unzip master.zip/code>/pre>h3 classwp-block-heading>Step 4: Build and Install NGINX with RTMP Module/h3>p>Navigate to the NGINX source directory and configure the build:/p>pre classwp-block-preformatted>code>cd nginx-1.25.2/code>br>code>./configure --with-http_ssl_module --add-module../nginx-rtmp-module-master/code>/pre>p>Compile and install:/p>pre classwp-block-preformatted>code>make/code>br>code>sudo make install/code>/pre>h3 classwp-block-heading>Step 5: Configure NGINX for RTMP/h3>p>Edit the NGINX configuration file located at code>/usr/local/nginx/conf/nginx.conf/code>:/p>pre classwp-block-preformatted>code>sudo nano /usr/local/nginx/conf/nginx.conf/code>/pre>p>Add the following RTMP configuration to the code>nginx.conf/code> file:/p>pre classwp-block-preformatted>code>worker_processes 1;br>/code>br>code>events {br> worker_connections 1024;/code>br>code>}br>/code>br>code>http {br> include mime.types;br> default_type application/octet-stream;br> sendfile on;br> keepalive_timeout 65;br> server {br> listen 80;br> server_name localhost;br>br> location / {br> root html;br> index index.html index.htm;br> }br> }/code>br>code>}br>/code>br>code>rtmp {br> server {br> listen 1935;br> chunk_size 4096;br>br> application live {br> live on;br> record off;br> }br> }/code>br>code>}/code>/pre>p>Save the file and exit./p>h3 classwp-block-heading>Step 6: Start NGINX/h3>p>You can now start NGINX using the following command:/p>pre classwp-block-preformatted>code>sudo /usr/local/nginx/sbin/nginx/code>/pre>h3 classwp-block-heading>Step 7: Test Your RTMP Server/h3>p>To test your RTMP server, you can use a streaming software like strong>OBS Studio/strong>:/p>ol classwp-block-list>li>Open OBS Studio and go to strong>Settings/strong>./li>li>Under strong>Stream/strong>, select strong>Custom/strong>./li>li>Enter the RTMP server URL: code>rtmp://<Your-Raspberry-Pi-IP>/live/code>/li>li>Set the stream key to whatever you like./li>/ol>h3 classwp-block-heading>Step 8: Verify Your Stream/h3>p>To view your stream, you can use a media player like strong>VLC/strong>:/p>ol classwp-block-list>li>Open VLC and go to strong>Media > Open Network Stream/strong>./li>li>Enter: code>rtmp://<Your-Raspberry-Pi-IP>/live/<stream-key>/code>./li>/ol>h3 classwp-block-heading>Optional: Enable NGINX on Boot/h3>p>To have NGINX start automatically on boot, add it to your code>rc.local/code>:/p>pre classwp-block-preformatted>code>sudo nano /etc/rc.local/code>/pre>p>Add the following line before code>exit 0/code>:/p>pre classwp-block-preformatted>code>/usr/local/nginx/sbin/nginx/code>/pre>p>Save and exit./p>h3 classwp-block-heading>You’re Done!/h3>p>Your Raspberry Pi is now set up as an RTMP streaming server. You can stream video content to it and serve it to multiple clients./p> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Author /span> a classurl fn n hrefhttps://www.n3d.org/?author1>Ned Wilson/a>/span>/span>span classposted-on>span classscreen-reader-text>Posted on /span>a hrefhttps://www.n3d.org/?p105 relbookmark>time classentry-date published updated datetime2024-11-05T01:46:27+00:00>2024-11-05/time>/a>/span>span classcat-links>span classscreen-reader-text>Categories /span>a hrefhttps://www.n3d.org/?cat13 relcategory>Pipeline/a>/span>span classtags-links>span classscreen-reader-text>Tags /span>a hrefhttps://www.n3d.org/?tagon-set reltag>on-set/a>, a hrefhttps://www.n3d.org/?tagvfx-supervision reltag>vfx supervision/a>/span>span classcomments-link>a hrefhttps://www.n3d.org/?p105#respond>Leave a commentspan classscreen-reader-text> on Setting up a RTMP Server on a RPi/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-105 -->article idpost-93 classpost-93 post type-post status-publish format-standard hentry category-vfx-supervision tag-post-production tag-vfx tag-vfx-supervision> header classentry-header> h2 classentry-title>a hrefhttps://www.n3d.org/?p93 relbookmark>VFX Supervision on “Breathe”/a>/h2> /header>!-- .entry-header --> div classentry-content> figure classwp-block-video>video controls srchttps://www.n3d.org/wp-content/uploads/2024/10/BREATHE_v02.mov>/video>figcaption classwp-element-caption>VFX work on Thunder Road’s “Breathe” by Brainstorm Digital/figcaption>/figure>p>In March of 2023, I met with Thunder Road, and during the initial meeting, they asked if I might be interested in taking over VFX Supervision duties on a film they had recently completed principal photography on – “a hrefhttps://www.imdb.com/title/tt11540468>Breathe/a>“, directed by Stefon Bristol, and starring Jennifer Hudson, Milla Jovovich, Quvenzhané Wallis, and Sam Worthington. /p>p>This movie is set in Brooklyn, New York in the year 2039. In this world, due to the ravages of man-made climate change, the oxygen has vanished from Earth’s atmosphere, and the oceans have evaporated. All that remains is a desert wasteland, devoid of life, where all oxygen-dependent life forms have gone extinct. All, except for a very clever family, who have figured out a way to produce oxygen, grow food, and survive inside a heavily-fortified former nursery in Bushwick./p>p>The movie was entirely shot in Pennsylvania. Exteriors were filmed in a neighborhood in Chester, PA; interiors on a sound stage, and a few additional exteriors were shot in downtown Philadelphia. /p>p>The VFX challenge here was to take the exterior photography and realistically set it in a post-apocalyptic, desiccated New York. Special care had to be taken to ensure that no green plant life was visible anywhere. In addition, we had to fully consider how the built environment would react to an atmosphere devoid of oxygen and moisture. Metal would not rust, and concrete would rapidly lose its structural integrity, as two examples./p>p>In order to bring our director’s vision to life, I turned to the following creative partners:/p>ul classwp-block-list>li>a hrefhttps://www.brainstorm-digital.com/>Brainstorm Digital/a> – exterior environments, NYC/li>li>a hrefhttps://www.nexodus.studio/>Nexodus/a> – exterior environments, Philadelphia/li>li>a hrefhttps://www.cabinedit.com/>Cabin Editorial/a> – motion graphics/li>li>a hrefhttps://www.imdb.com/name/nm3042323/>Nick Onstad/a> & a hrefhttps://www.imdb.com/name/nm1755534 data-typelink data-idhttps://www.imdb.com/name/nm1755534>Jon Sadonsky/a> – in-house compositors/li>/ul>p>We were able to complete a total of 394 visual effects shots in a period of 10 weeks. These included construction of 7 distinct all-CG environments; 6 NYC environments were done by Brainstorm, and the Philadelphia exteriors were done by Nexodus./p>p>I couldn’t be more proud of the work that we were able to pull off on this project. The environments that we built really contributed to the sense of isolation and dread that the heroes in our story felt. Principal photography did not take place in many exterior locations, and the VFX in this film really fleshed out the world that Stefon Bristol was trying to build./p>p>As a parting gift, Mr. Bristol was kind enough to reward me with a main-on-end credit on his film – my very first! It looks good here coming from the Avid, but it looked even better seeing it on the big screen in April of this year! /p>figure classwp-block-image size-full>img loadinglazy decodingasync width1204 height682 srchttps://www.n3d.org/wp-content/uploads/2024/10/breathe_nwilson_supecredit.png alt classwp-image-95 srcsethttps://www.n3d.org/wp-content/uploads/2024/10/breathe_nwilson_supecredit.png 1204w, https://www.n3d.org/wp-content/uploads/2024/10/breathe_nwilson_supecredit-300x170.png 300w, https://www.n3d.org/wp-content/uploads/2024/10/breathe_nwilson_supecredit-768x435.png 768w, https://www.n3d.org/wp-content/uploads/2024/10/breathe_nwilson_supecredit-1200x680.png 1200w sizesauto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px />/figure> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Author /span> a classurl fn n hrefhttps://www.n3d.org/?author1>Ned Wilson/a>/span>/span>span classposted-on>span classscreen-reader-text>Posted on /span>a hrefhttps://www.n3d.org/?p93 relbookmark>time classentry-date published datetime2024-10-22T23:53:18+00:00>2024-10-22/time>time classupdated datetime2024-10-22T23:54:58+00:00>2024-10-22/time>/a>/span>span classcat-links>span classscreen-reader-text>Categories /span>a hrefhttps://www.n3d.org/?cat38 relcategory>VFX Supervision/a>/span>span classtags-links>span classscreen-reader-text>Tags /span>a hrefhttps://www.n3d.org/?tagpost-production reltag>post production/a>, a hrefhttps://www.n3d.org/?tagvfx reltag>vfx/a>, a hrefhttps://www.n3d.org/?tagvfx-supervision reltag>vfx supervision/a>/span>span classcomments-link>a hrefhttps://www.n3d.org/?p93#respond>Leave a commentspan classscreen-reader-text> on VFX Supervision on “Breathe”/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-93 -->article idpost-64 classpost-64 post type-post status-publish format-standard hentry category-beer tag-barrel tag-home-brew tag-sour> header classentry-header> h2 classentry-title>a hrefhttps://www.n3d.org/?p64 relbookmark>The Beer Barrel/Flanders Red Experiment/a>/h2> /header>!-- .entry-header --> div classentry-content> p>Back in October 2016, I went to a garage sale at the Eagle Rock Brewery. Most of the guys who are involved with that fine establishment have been and still are avid home brewers. The garage sale was a treasure trove of goodies, and I scored this sweet, 59.6 gallon used wine barrel for $50. I believe the wine barrel was originally used at a vineyard in France. The Eagle Rock Brewery guys used it to barrel age a sour. Here’s the barrel just sitting in my garage:/p>p>a hrefhttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0805.jpg>img loadinglazy decodingasync classwp-image-65 size-large alignnone srchttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0805-768x1024.jpg altBarrel on the hand cart width500 height667 srcsethttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0805-768x1024.jpg 768w, https://www.n3d.org/wp-content/uploads/2017/01/IMG_0805-225x300.jpg 225w sizesauto, (max-width: 500px) 85vw, 500px />/a>/p>p>I needed to be able to lay the barrel on its side in order to fill it. Morebeer.com sells metal wine barrel racks for about $100, however, their profile was too tall, and I needed the rack to be on casters. It would eventually live underneath my basement stairs, so I needed to make sure that it took up as little space as possible. I also thought that it would be a lot easier to deal with if I could roll it around while full, hence the casters. So I built this:/p>p>a hrefhttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0818.jpg>img loadinglazy decodingasync classalignnone size-large wp-image-66 srchttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0818-768x1024.jpg altWooden barrel cradle width500 height667 srcsethttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0818-768x1024.jpg 768w, https://www.n3d.org/wp-content/uploads/2017/01/IMG_0818-225x300.jpg 225w sizesauto, (max-width: 500px) 85vw, 500px />/a>/p>p>The barrel sits nicely in the cradle, and it looks pretty smart too, if I do say so myself:/p>p>a hrefhttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0822-1.jpg>img loadinglazy decodingasync classalignnone wp-image-70 size-large srchttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0822-1-1024x768.jpg altBarrel sitting in the cradle width500 height375 srcsethttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0822-1-1024x768.jpg 1024w, https://www.n3d.org/wp-content/uploads/2017/01/IMG_0822-1-300x225.jpg 300w, https://www.n3d.org/wp-content/uploads/2017/01/IMG_0822-1-768x576.jpg 768w sizesauto, (max-width: 500px) 85vw, 500px />/a>/p>p>Now, I needed to fill it! The most laborious process here involved brewing 60 gallons of Flanders Red. Sadly, my home brew setup only allows me to brew 5 gallons at a time, so, this took four weekends of hard work. I pitched two packets of Roseleare Ale Yeast when I brewed the first batch, but after that, I just added more wort. Since this would be a sour beer, I didn’t need to be as fastidious about my sanitation as usual. In order to speed up the process considerably, I cooled the wort by tossing in 10 pounds of ice. Brought it down to about 65º in a matter of minutes! Also, since the recipe called for a 90 minute boil, it helped get my gravity close to the target original gravity of 1.061./p>p>On October 30, 2016, I finally filled the barrel! Here it is, up to the brim:/p>p>a hrefhttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0846.jpg>img loadinglazy decodingasync classalignnone wp-image-68 size-large srchttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0846-768x1024.jpg altBarrel full to the top! width500 height667 srcsethttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0846-768x1024.jpg 768w, https://www.n3d.org/wp-content/uploads/2017/01/IMG_0846-225x300.jpg 225w sizesauto, (max-width: 500px) 85vw, 500px />/a>/p>p>I got the gravity relatively close to the target – my final number was 1.060. I calculated this rather unscientifically by taking a gravity reading for each 5 gallon batch, adding them all together, and dividing by 12. So, assuming each batch was exactly 5.000 gallons, this number will be totally accurate!/p>p>Here is the full barrel, tucked neatly under the stairs:/p>p>a hrefhttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0847-1.jpg>img loadinglazy decodingasync classalignnone wp-image-71 size-large srchttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0847-1-768x1024.jpg altBarrel safely stowed under the basement stairs. width500 height667 srcsethttps://www.n3d.org/wp-content/uploads/2017/01/IMG_0847-1-768x1024.jpg 768w, https://www.n3d.org/wp-content/uploads/2017/01/IMG_0847-1-225x300.jpg 225w sizesauto, (max-width: 500px) 85vw, 500px />/a>/p>p>I’m going to taste this after 6 months of aging, on April 30th, 2017. I plan on aging it for 18 months, so I plan to filter it and transfer it to kegs on April 30th, 2018. I can’t wait to share with all my friends!/p>p> /p> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Author /span> a classurl fn n hrefhttps://www.n3d.org/?author1>Ned Wilson/a>/span>/span>span classposted-on>span classscreen-reader-text>Posted on /span>a hrefhttps://www.n3d.org/?p64 relbookmark>time classentry-date published updated datetime2017-01-30T04:46:58+00:00>2017-01-30/time>/a>/span>span classcat-links>span classscreen-reader-text>Categories /span>a hrefhttps://www.n3d.org/?cat31 relcategory>Beer/a>/span>span classtags-links>span classscreen-reader-text>Tags /span>a hrefhttps://www.n3d.org/?tagbarrel reltag>barrel/a>, a hrefhttps://www.n3d.org/?taghome-brew reltag>home-brew/a>, a hrefhttps://www.n3d.org/?tagsour reltag>sour/a>/span>span classcomments-link>a hrefhttps://www.n3d.org/?p64#comments>3 Commentsspan classscreen-reader-text> on The Beer Barrel/Flanders Red Experiment/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-64 -->article idpost-52 classpost-52 post type-post status-publish format-standard hentry category-endurance-sports tag-half-marathon tag-race tag-report tag-running> header classentry-header> h2 classentry-title>a hrefhttps://www.n3d.org/?p52 relbookmark>Lexus LaceUp Series – Ventura Half Marathon Race Report/a>/h2> /header>!-- .entry-header --> div classentry-content> p>This is the first race in a series of races as I train and prepare for my Boston qualifying attempt on May 28th, 2017./p>p>This race took place on Saturday, October 22nd, 2016, with a start and finish at Surfer’s Point, in Ventura, CA./p>p>For readers who have not been to Ventura, I highly recommend it as both a city to check out and as a host city for endurance events. I have done several triathlons here previously. Most of the events take place right on the water, and it is usually quite cool, even in the summer time./p>p>I was particularly concerned about this race, as I had come down with a sinus infection the previous weekend. I felt under the weather throughout the week, and had missed three different training runs. I stayed late at work on Friday night and got in to Ventura around 9:00 pm. By the time I got some dinner and got settled for the night, it was around 10:30 pm. I stayed in a lovely AirBnB on Friday night that was about a mile away from the starting line. However, I was unable to get to sleep immediately, so when I awoke up at 5:30 am, I estimate that I had a little over six hours of sleep, which was not ideal./p>p>When the alarm rang, I checked the weather on my phone and it said that it was 56º out, and from the sound of the windows rattling around, it was also a little windy. Sadly, I had to leave my phone in my room, as I was by myself and didn’t want to carry it, so I don’t have any pictures to accompany this post./p>p>I ate a Luna bar, drank a bit of water, and jogged the mile to the starting line, having left my AirBnB at around 6:00 am. I signed my waiver and stood in line for my bib number and timing chip. By the time I had all of my paperwork in order, I was actually a little chilly, so I went for another 8 minute jog down the beach./p>p>The race started at 7:00 am, so at around 6:50, I made my way to the starting line. There were no corrals at this event, nor were there elite runners. There were several pacers visible, so I figured I would stick with the 1:40 pacer as my goal pace for this race was 1:38:15./p>p>The organizers were prompt, and the race started at 7:00 on the nose. There was no starting gun or air horn, since they wanted to be quiet for the neighbors. Instead, they had a lady come out and shout “3, 2, 1, GO!!!”. Somehow, it felt a little more personal than an air horn. I was off! My coach had warned me to try and keep the pace between 7:25 and 7:35, and if I was really struggling, to not go slower than 7:45. To heed her advice, I figured I would stick with the 1:40 pace group, but it seems that the pacer was a little over eager, as we completed the first mile in 7:18! It would appear that he realized this and slowed way down, but I kept going, so for the majority of the race I was running by myself./p>p>I neglected to heed my coach’s advice for the next couple of miles. The first part of the race is a loop that goes South for a mile and a half along a road, and then hooks back up with the shore line bike path and heads North to return to the starting line. I believe that this is the entire 5K course. The sun had not yet risen, it was cool, flat, and sheltered from the wind. I felt very strong, and my heart rate stayed in the 160-range, so I figured I was OK./p>p>Turns out, I had made a grievous error in judgement; I had started too hard. Around mile 3.5, the shore line bike bath took a hard right turn, and began to head inland, up the hill towards Ojai. The sun had come up at this point, and I had neglected to wear sunglasses. The worst part, however, was that it was quite windy that day, and as I begin to head up the hill, I was faced with what seemed to be a 20-mph head wind. I slowed down considerably, from 7:25 a mile to 7:37 and then 7:43. I remembered that I couldn’t go slower than 7:45, but I was giving it everything I had to make that pace./p>p>The turnaround was at mile 8. After I came through it, what was once an uphill battle facing a head wind was now a gentle downhill with a tail wind. My pace picked back up again, and I was feeling more confident. However, I tried to remind myself that I shouldn’t go faster than 7:20./p>p>The sun had risen at this point and it was warming up considerably. There was not a lot of shade on the bike path, and around mile 10.5, I started to really feel it. It wasn’t that my heart rate was too high, it was hovering around 172. It felt as if I had ran out of gas, and that my legs didn’t have anything left. I had been munching on Clif Blocks – one every 10 minutes or so, but this time, I ate two, for a little extra kick. After about a half a mile, I felt better, and continued to press on. I was sticking to around a 7:25 pace./p>p>Just after I passed the marker for mile 12, I felt the same exhaustion again, except this time it was considerably more intense. The downhill of the bike path had transitioned into a slight uphill on city streets, and we were now in full sun. My pace slowed down to 8:00, and my heart rate spiked to 180. I was really struggling at this point. Fortunately for me, a lady that I had seen at the starting line and had struck up a conversation with passed me. I recognized her, said hello, and she gave me some words of encouragement./p>p>It was just what I needed to hear. I realized that I had less than half a mile to go, so I gritted my teeth and decided to push as hard as I possibly could. I got my pace down to 7:43, and when I passed the marker for mile 13, I transitioned to as much of a sprint as I could muster./p>p>I crossed the finish line and stopped my watch. I had done the race in 1:38:59. This was slightly slower than my goal pace of 1:38:15, but my GPS said that I had gone 13.24 miles, which is a little longer than a half marathon, so in reality, I had actually beaten my goal pace by a couple of seconds. It’s not official, but I’ll take it!/p>p>I felt light headed and a little nauseated after I finished, as I had given it everything I had. After I stretched out, got myself some pizza, a little water, and even a free beer and a massage, I felt much better!/p>p>I would definitely run this race again. I felt as though the water stops were a little infrequent, but then again, I probably could have done a better job with hydration the night before and the day of./p>p>Here are the official results of my finish:/p>p>a hrefhttps://www.n3d.org/wp-content/uploads/2016/10/Screen-Shot-2016-10-23-at-6.12.39-PM.png>img loadinglazy decodingasync classalignnone wp-image-58 srchttps://www.n3d.org/wp-content/uploads/2016/10/Screen-Shot-2016-10-23-at-6.12.39-PM.png altVentura Half Results width497 height73 srcsethttps://www.n3d.org/wp-content/uploads/2016/10/Screen-Shot-2016-10-23-at-6.12.39-PM.png 967w, https://www.n3d.org/wp-content/uploads/2016/10/Screen-Shot-2016-10-23-at-6.12.39-PM-300x44.png 300w, https://www.n3d.org/wp-content/uploads/2016/10/Screen-Shot-2016-10-23-at-6.12.39-PM-768x113.png 768w sizesauto, (max-width: 497px) 85vw, 497px />/a>/p>p>Here are the nitty-gritty details, from Garmin Connect:/p>p>a hrefhttps://connect.garmin.com/modern/activity/1417222576>https://connect.garmin.com/modern/activity/1417222576/a>/p>p>Thanks for reading!/p> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Author /span> a classurl fn n hrefhttps://www.n3d.org/?author1>Ned Wilson/a>/span>/span>span classposted-on>span classscreen-reader-text>Posted on /span>a hrefhttps://www.n3d.org/?p52 relbookmark>time classentry-date published datetime2016-10-24T01:53:00+00:00>2016-10-24/time>time classupdated datetime2016-10-24T01:54:08+00:00>2016-10-24/time>/a>/span>span classcat-links>span classscreen-reader-text>Categories /span>a hrefhttps://www.n3d.org/?cat23 relcategory>Endurance Sports/a>/span>span classtags-links>span classscreen-reader-text>Tags /span>a hrefhttps://www.n3d.org/?taghalf-marathon reltag>half marathon/a>, a hrefhttps://www.n3d.org/?tagrace reltag>race/a>, a hrefhttps://www.n3d.org/?tagreport reltag>report/a>, a hrefhttps://www.n3d.org/?tagrunning reltag>running/a>/span>span classcomments-link>a hrefhttps://www.n3d.org/?p52#respond>Leave a commentspan classscreen-reader-text> on Lexus LaceUp Series – Ventura Half Marathon Race Report/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-52 -->article idpost-54 classpost-54 post type-post status-publish format-standard hentry category-endurance-sports tag-boston-marathon tag-fitness-goals tag-qualifier> header classentry-header> h2 classentry-title>a hrefhttps://www.n3d.org/?p54 relbookmark>Why not try and qualify for the Boston Marathon?/a>/h2> /header>!-- .entry-header --> div classentry-content> p>In April of this year, I decided that I would try and qualify for the Boston Marathon. I don’t believe that I was born a talented athlete; in fact, far from it. However, I figured out in my early thirties that I was actually pretty decent at endurance sports. I might not be super fast, but I had the determination, desire, and the build to run for long distances./p>p>After you run a couple of marathons, and an assortment of 10k races and the like, where do you go from there? I love triathlons as well. I have done a half Ironman, along with several sprint and Olympic distance races. The next logical step might be a full Ironman. This scares me a little bit though. The volume of training required for a full Ironman is tremendous. Sure, you could do less if you just want to finish, but I’d like to do more than just finish. I’d like to finish strong./p>p>Maybe for the next year or year and a half, I should focus on my running, and see if I can do something that most would consider impossible: qualify for the Boston Marathon. When I made the decision, I was about to turn 37. In my age group, men ages 35-39, I would have to run a qualifying race in 3:10:00 or better. That’s a 7:15 pace per mile. That seems pretty daunting, especially when you consider that beating 3:10 doesn’t necessarily guarantee you a spot in the race; it depends on how many other people in my age group qualify that year, as spots are limited and awarded based on your qualifying time./p>p>My fitness at the time was not terrible. The last 10k race I had done was on 12/05/2015, and I completed this in 47:31. According to my GPS, it was a distance of 6.26 miles, with an average pace of 7:36 a mile. Then, I checked the race time predictors that are available online. In order to run a 3:10 marathon, I should probably be able to run a 10k in 41:17, at a pace of 6:39 per mile. That’s an improvement of nearly a minute per mile. I think, when I was 12 or 13, I ran a mile in 6:36. The last time I attempted to run a mile where I actually kept records was on 05/15/2011. That day, I ran the mile in 6:44. So how in the hell do I get from a 47:31 10k to a 41:17 10k?/p>p>I guess it was time to get serious. I reached out to my friend a hrefhttp://alwaystarynitup.blogspot.com>Taryn/a> and asked her if she would consider coaching me. She agreed, and has been invaluable in helping me along the way. I figure that anyone who has ran 35 marathons (now, probably 40) could offer some pretty relevant advice on how to run just one./p>p>As I write this, I am just shy of six months into the training. The first four months were dedicated to building a good, solid base. Right now, I am focused on training for the California International Marathon, on December 4th. This is going to be my first prep race, just to see how I do. I am going to attempt to qualify for the Boston Marathon by running the Mountains 2 Beach Marathon on May 28th, 2017. Yesterday, I ran a half marathon in 1:38:59, which is a dramatic improvement from where I was. Maybe next May I’ll make it!!!/p> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Author /span> a classurl fn n hrefhttps://www.n3d.org/?author1>Ned Wilson/a>/span>/span>span classposted-on>span classscreen-reader-text>Posted on /span>a hrefhttps://www.n3d.org/?p54 relbookmark>time classentry-date published updated datetime2016-10-23T20:12:08+00:00>2016-10-23/time>/a>/span>span classcat-links>span classscreen-reader-text>Categories /span>a hrefhttps://www.n3d.org/?cat23 relcategory>Endurance Sports/a>/span>span classtags-links>span classscreen-reader-text>Tags /span>a hrefhttps://www.n3d.org/?tagboston-marathon reltag>boston marathon/a>, a hrefhttps://www.n3d.org/?tagfitness-goals reltag>fitness goals/a>, a hrefhttps://www.n3d.org/?tagqualifier reltag>qualifier/a>/span>span classcomments-link>a hrefhttps://www.n3d.org/?p54#respond>Leave a commentspan classscreen-reader-text> on Why not try and qualify for the Boston Marathon?/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-54 -->article idpost-31 classpost-31 post type-post status-publish format-standard hentry category-demo-reel tag-21 tag-compositing tag-demo-reel-2 tag-vfx> header classentry-header> h2 classentry-title>a hrefhttps://www.n3d.org/?p31 relbookmark>2014 Demo Reel Now Available!/a>/h2> /header>!-- .entry-header --> div classentry-content> p>I have finally gotten my act together and completed the 2014 version of my demo reel./p>p>Check it out below!/p>p>iframe loadinglazy titleNed Wilson 2014 Demo Reel srchttps://player.vimeo.com/video/100391359?dnt1&app_id122963 width840 height473 frameborder0 allowautoplay; fullscreen; picture-in-picture; clipboard-write>/iframe>/p> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Author /span> a classurl fn n hrefhttps://www.n3d.org/?author1>Ned Wilson/a>/span>/span>span classposted-on>span classscreen-reader-text>Posted on /span>a hrefhttps://www.n3d.org/?p31 relbookmark>time classentry-date published updated datetime2014-07-10T09:06:40+00:00>2014-07-10/time>/a>/span>span classcat-links>span classscreen-reader-text>Categories /span>a hrefhttps://www.n3d.org/?cat18 relcategory>Demo Reel/a>/span>span classtags-links>span classscreen-reader-text>Tags /span>a hrefhttps://www.n3d.org/?tag2014 reltag>2014/a>, a hrefhttps://www.n3d.org/?tagcompositing reltag>compositing/a>, a hrefhttps://www.n3d.org/?tagdemo-reel-2 reltag>demo reel/a>, a hrefhttps://www.n3d.org/?tagvfx reltag>vfx/a>/span>span classcomments-link>a hrefhttps://www.n3d.org/?p31#respond>Leave a commentspan classscreen-reader-text> on 2014 Demo Reel Now Available!/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-31 -->article idpost-16 classpost-16 post type-post status-publish format-standard hentry category-pipeline tag-download tag-idleexecd tag-installer tag-source> header classentry-header> h2 classentry-title>a hrefhttps://www.n3d.org/?p16 relbookmark>MacOS idle time daemon/a>/h2> /header>!-- .entry-header --> div classentry-content> p>I put together a pretty simple daemon which has been compiled for and tested on MacOS 10.9.1 Mavericks. It is designed to run in the background, and at pre-set intervals check the system idle time. When that idle time meets or exceeds a pre-configured value, the daemon runs an executable. When the user moves the mouse or presses any key on the keyboard, the daemon will execute another program./p>p>This can be incredibly useful if you would like workstations to participate in a render farm if they are idle for a certain amount of time, but remove themselves from the farm when they are being used by an artist./p>p>To use, start by downloading the installer:/p>p>a hrefhttps://www.n3d.org/wp-content/uploads/2013/12/idleexecd.dmg>idleexecd/a>/p>p>Or, if you would like to see how I did it, build it yourself, or use the code for something else:/p>p>a hrefhttps://www.n3d.org/wp-content/uploads/2013/12/idleexecd.src_.zip>idleexecd.src/a>/p>p>Configuring the daemon involves two mandatory steps, and one optional one./p>p>First, edit the configuration file, located at /Library/Preferences/org.n3d.idleexecd.config.plist. I originally wrote this to put machines on a Deadline render farm, so it is configured to do just that. The config file looks like this:/p>p><?xml version”1.0″ encoding”UTF-8″?>br /><!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>br /><plist version”1.0″>br /><array>br /><dict>br /><key>Process Name</key>br /><string>DeadlineSlave</string>br /><key>Run As</key>br /><string>farm</string>br /><key>Idle Time Launch Delay</key>br /><integer>15</integer>br /><key>Startup Command</key>br /><string>/Applications/Thinkbox/Deadline6/DeadlineLauncher.app/Contents/MacOS/DeadlineLauncher -slave -nogui</string>br /><key>Shutdown Command</key>br /><string>/Applications/Thinkbox/Deadline6/DeadlineSlave.app/Contents/MacOS/DeadlineSlave -shutdown</string>br /></dict>br /></array>br /></plist>/p>p>For process name, choose any value that is appropriate. Run as is the user that the process will execute as. Pick any valid user besides root. The idle time launch delay is the idle time, in minutes, that the daemon will wait before it executes the startup command. The startup command will be executed when the machine has gone idle for the set amount of time. When the user moves the mouse or hits a key on the keyboard, the shutdown command will be executed. To add multiple commands to execute, simply copy and paste everything between <dict> and </dict> including the tags, and enter new command specifications./p>p>If you wish to edit configuration parameters for the daemon, such as log file destination, edit /Library/LaunchDaemons/org.n3d.idleexecd.plist. The -p 1 command line argument is the polling interval, in seconds. Leaving this default will cause the daemon to check the idle time every second. This can be increased to 10 seconds, but when the user interacts with the machine, they may have to wait up to 10 seconds before the daemon responds to the input. The -v argument specifies verbose logging. The default location for logging is /var/log/idleexecd.log./p>p>Last, reboot your machine for the changes to take effect./p>p>TL;DR: Download and install a hrefhttps://www.n3d.org/wp-content/uploads/2013/12/idleexecd.dmg>idleexecd/a> to have your OSX 10.9 workstation participate in a Deadline 6 render farm after it has been idle for 15 minutes./p> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Author /span> a classurl fn n hrefhttps://www.n3d.org/?author1>Ned Wilson/a>/span>/span>span classposted-on>span classscreen-reader-text>Posted on /span>a hrefhttps://www.n3d.org/?p16 relbookmark>time classentry-date published updated datetime2013-12-28T23:46:36+00:00>2013-12-28/time>/a>/span>span classcat-links>span classscreen-reader-text>Categories /span>a hrefhttps://www.n3d.org/?cat13 relcategory>Pipeline/a>/span>span classtags-links>span classscreen-reader-text>Tags /span>a hrefhttps://www.n3d.org/?tagdownload reltag>download/a>, a hrefhttps://www.n3d.org/?tagidleexecd reltag>idleexecd/a>, a hrefhttps://www.n3d.org/?taginstaller reltag>installer/a>, a hrefhttps://www.n3d.org/?tagsource reltag>source/a>/span>span classcomments-link>a hrefhttps://www.n3d.org/?p16#comments>2 Commentsspan classscreen-reader-text> on MacOS idle time daemon/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-16 -->article idpost-12 classpost-12 post type-post status-publish format-standard hentry category-color tag-3dl tag-custom tag-hiero tag-luts> header classentry-header> h2 classentry-title>a hrefhttps://www.n3d.org/?p12 relbookmark>Adding a .3DL file to Hiero’s Viewer/a>/h2> /header>!-- .entry-header --> div classentry-content> p>1. Copy the .3dl file into the following directory:/p>p>/Applications/Hiero1.6v1/Hiero1.6v1.app/Contents/Plugins/OCIO/nuke-default/luts/p>p>2. Edit the following file in your favorite text editor:/p>p>/Applications/Hiero1.6v1/Hiero1.6v1.app/Contents/Plugins/OCIO/nuke-default/config.ocio/p>p>3. Look for the section in the file that specifies the display luts. It looks like this:/p>pre>displays: default: - !<View> {name: None, colorspace: raw} - !<View> {name: sRGB, colorspace: sRGB} - !<View> {name: rec709, colorspace: rec709}/pre>p>4. Add another view definition for your custom LUT:/p>pre> - !<View> {name: LogCRec709, colorspace: LogCRec709}/pre>p>5. Go to the very end of the file, and add a colorspace definition:/p>pre> - !<ColorSpace> name: LogCRec709 family: equalitygroup: bitdepth: 32f description: | Conversion from Alexa LogC to Rec. 709 isdata: false allocation: uniform allocationvars: -0.125, 1.125 from_reference: !<FileTransform> {src: LogC_to_Rec709.3dl, interpolation: linear}/pre>p>6. Restart Hiero/p>p>And that should do it./p> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Author /span> a classurl fn n hrefhttps://www.n3d.org/?author1>Ned Wilson/a>/span>/span>span classposted-on>span classscreen-reader-text>Posted on /span>a hrefhttps://www.n3d.org/?p12 relbookmark>time classentry-date published datetime2013-02-27T19:12:37+00:00>2013-02-27/time>time classupdated datetime2014-07-25T21:16:20+00:00>2014-07-25/time>/a>/span>span classcat-links>span classscreen-reader-text>Categories /span>a hrefhttps://www.n3d.org/?cat3 relcategory>Color/a>/span>span classtags-links>span classscreen-reader-text>Tags /span>a hrefhttps://www.n3d.org/?tag3dl reltag>3dl/a>, a hrefhttps://www.n3d.org/?tagcustom reltag>custom/a>, a hrefhttps://www.n3d.org/?taghiero reltag>hiero/a>, a hrefhttps://www.n3d.org/?tagluts reltag>luts/a>/span>span classcomments-link>a hrefhttps://www.n3d.org/?p12#comments>13 Commentsspan classscreen-reader-text> on Adding a .3DL file to Hiero’s Viewer/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-12 -->article idpost-5 classpost-5 post type-post status-publish format-standard hentry category-color tag-colr tag-gama tag-gamma tag-nclc tag-quicktime> header classentry-header> h2 classentry-title>a hrefhttps://www.n3d.org/?p5 relbookmark>On Quicktime and Gamma shifts/a>/h2> /header>!-- .entry-header --> div classentry-content> p>The desire of users in the post-production community has always been simple. When you encode a Quicktime movie, it should look the same on every computer that you view it on as the machine it was encoded on. Has this ever worked? Not exactly. Here’s why./p>p>PCs and Linux systems have long used a display gamma standard known as a hrefhttp://en.wikipedia.org/wiki/SRGB_color_space>sRGB/a>. This is roughly a gamma curve of 2.2, with a few notable exceptions, the most significant being the Mac. Until the release of MacOS 10.6 (Snow Leopard), Macintosh systems used a display gamma of roughly 1.8./p>p>Many common still image formats, such as JPEG and PNG, contain explicitly-encoded values. The gamma curve of the display is baked in to the image data by the machine that encoded it. If it was done on a PC, that curve is roughly 2.2. If it was done on a Mac, that curve was roughly 1.8. Certain types of movie files, such as Quicktime and MPEG, also have these values explicitly encoded. In theory, if you encoded a JPEG image on an older Mac, it would look dark on a PC. If you encoded that same image on a PC, it would appear bright and washed out on the Mac./p>p>For still images, this problem was addressed years ago by the International Color Consortium, with the development of a hrefhttp://en.wikipedia.org/wiki/ICC_profile>ICC Profiles/a>. JPEG files, for example, are encoded using the international ISO/IEC 10918-1 standard. So, when a piece of software, like Photoshop, displays a JPEG image, it is aware of the platform and operating system upon which it runs, and it will compensate for this discrepancy in its image decoding process./p>p>The same applies for many types of video standards, like MPEG. MPEG video is converted first into the Y’CbCr colorspace, commonly used in television, compressed, and encoded. MPEG, however, is an open standard. The same is not the case for Quicktime, which is a proprietary format developed and controlled by Apple./p>p>In theory, Quicktimes are decoded with a gamma of 1.8, and encoded with a gamma of roughly .55. This matches the legacy Macintosh systems that the format was originally developed for. The major issue here is that the Quicktime format is designed to be a simple container. As such, it does not mandate a certain colorspace, profile, or gamma curve be used. A Quicktime file is a collection of atoms. Some of these atoms are tracks that contain either raw video or audio data. Others are metadata that describe the content contained within the file. It is assumed that the raw data is encoded with gamma .55, as mentioned above. However certain atoms can contain gamma values, color transformation matrices, and more recently color profiles./p>p>Since Quicktime is a closed standard, Apple can add atoms to the container, and add support for those atoms to the pieces of software that it maintains. However, this becomes an ugly, nasty mess when you start thinking about 3rd-party applications that may use older versions of the Quicktime libraries to either encode or decode and display these files. This is further compounded by the display gamma discrepancy between older Macs and PCs. Apple has devised various schemes over the years to compensate for this, and to attempt to ensure uniform appearance of color across multiple devices, from print to acquisition to display. For Quicktimes, Apple has created a series of atoms which define some sort of color transform, which I will explain in detail below./p>p>The ‘gama’ atom/p>p>The first of these display metadata atoms to surface was the ‘gama’ atom. This was designed to describe the gamma curve that was used to encode the video data. Suppose we take a Quicktime file that was encoded on a PC. Providing the PC used Apple’s Quicktime library under the hood, the resulting Quicktime would have a ‘gama’ tag set that would indicate the PC encoding gamma. You would open this file on Quicktime on both Mac and PC, and providing you used Apple’s Quicktime player, it would look the same on both monitors. The problem for those of us in post production was always the Avid. Avid used the Quicktime API to simply read the raw video data in from the file. Since older versions of Avid were not aware of the ‘gama’ atom, they did not know to apply a slightly different gamma curve to the imagery to get it to display correctly. This resulted in film editors calling VFX vendors all over town with the exact same complaint: “How come your Quicktimes look dark on my monitor?” Frantic Films released a small utility called “QuicktimeGammaStripper”. This would simply remove the atom from the file, so it would look the same between Quicktime player and Avid./p>p>The ‘nclc’ and ‘colr’ atoms/p>p>Around the release of Snow Leopard, we started to see a ‘nclc’ atom instead of a ‘gama’ atom. For an incredibly detailed, make-my-head-hurt explanation, check out Apple’s a hrefhttps://developer.apple.com/quicktime/icefloe/dispatch019.html#colr>Developer website/a>. The idea behind this is incredibly well-intentioned, and was an attempt to compensate how different display devices will alter outgoing image data from the filesystem to our eyes, and how different digital camera sensors (and film scanners, for that matter) will alter incoming data from our eyes to the filesystem. This becomes problematic when encoding Quicktime files out of Nuke. Nuke takes linear image data, puts it through a look up table and also through a gamma curve, and displays it on the screen. When we apply the same LUT and gamma curve and write out a Quicktime, it should look the same in the Quicktime player as it does in Nuke, right? Wrong. Beginning with Nuke 6.0, the Foundry has changed how Quicktimes are encoded internally. The result is that Quicktimes written out of newer versions of Nuke are tagged with the ‘nclc’ atom, and the Quicktime player applies a transformation matrix that results not only in a gamma shift, but frequently a hue and saturation shift as well. The work-around for this was to find an old Mac or Windows XP machine, and use Nuke5.2./p>p>Sadly, Nuke 5.2 is starting to no longer be a viable solution, given the age of the application, and that it no longer runs on newer versions of Mac OS. Right now, the conventional wisdom seems to be to perform all of your color transformations in Nuke, but write out a sequence of PNG images with “raw data” checked. From there, these image sequences must be transcoded into a Quicktime by another piece of software. Robert Nederhorst has an excellent tutorial on how to do this with a hrefhttp://ffmpeg.org>FFMpeg/a>, an open-source (and free) product. It is located a hrefhttp://throb.net/how-to-create-quicktimes-from-image-sequences-with-ffmpeg/>here/a>. Tweak Software also offers an incredibly full-featured and useful conversion tool called rvio. It is available for purchase for $199, and can be found a hrefhttp://www.tweaksoftware.com/products/rvio-sequence-converter>here/a>./p>p>Yet another alternative would be to re-write the gamma stripper utility for newer versions of MacOS, and to also support the ‘nclc’ atom. I have done a bit of research on this, and will take a stab at it when I get some free time. First, there are three Quicktime APIs available from Apple, which I will detail below./p>p>Quicktime/p>p>This is Apple’s legacy, C-based 32-bit API. It is built on top of Carbon, and has been around since the nineties; it pre-dates MacOS X. Apple reluctantly continues to support this code as it does not want developers to be forced to re-write massive amounts of code. However, Apple has indicated in no uncertain terms that the Quicktime API is nearing end-of-life, and as such no new development should use it./p>p>QTKit/p>p>QTKit is Apple’s Objective-C based Cocoa API for Quicktime. It is currently supported in all newer versions of MacOS, and is 64-bit capable. Sadly, it is not very full featured, and lacks many of the functionality that developers look for, including removing and adjusting atoms./p>p>AVFoundation/p>p>AVFoundation was originally introduced as part of iOS 3, as a new way for iOS devices to access and edit audio-visual content. It provides the type of low-level access that was missing from QTKit. As of MacOS 10.7 (Lion), Apple has ported this code from iOS to MacOS. It is not supported on platforms other than MacOS 10.7 and 10.8. Apple has stated that if you do not need to support legacy operating systems in your code, all Quicktime development should be done using AVFoundation going forward. It is built on top of Cocoa, and is fully 64-bit compliant./p>p>It looks like I will have to write the gamma stripper using AVFoundation. Now, does anyone have any example code I can use? 🙂/p>p> /p> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/704dfef48df593a02103770c2aa68338?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Author /span> a classurl fn n hrefhttps://www.n3d.org/?author1>Ned Wilson/a>/span>/span>span classposted-on>span classscreen-reader-text>Posted on /span>a hrefhttps://www.n3d.org/?p5 relbookmark>time classentry-date published datetime2012-10-31T00:48:49+00:00>2012-10-31/time>time classupdated datetime2012-10-31T01:53:37+00:00>2012-10-31/time>/a>/span>span classcat-links>span classscreen-reader-text>Categories /span>a hrefhttps://www.n3d.org/?cat3 relcategory>Color/a>/span>span classtags-links>span classscreen-reader-text>Tags /span>a hrefhttps://www.n3d.org/?tagcolr reltag>colr/a>, a hrefhttps://www.n3d.org/?taggama reltag>gama/a>, a hrefhttps://www.n3d.org/?taggamma reltag>gamma/a>, a hrefhttps://www.n3d.org/?tagnclc reltag>nclc/a>, a hrefhttps://www.n3d.org/?tagquicktime reltag>Quicktime/a>/span>span classcomments-link>a hrefhttps://www.n3d.org/?p5#respond>Leave a commentspan classscreen-reader-text> on On Quicktime and Gamma shifts/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-5 --> /main>!-- .site-main --> /div>!-- .content-area --> aside idsecondary classsidebar widget-area> section idsearch-2 classwidget widget_search>form rolesearch methodget classsearch-form actionhttps://www.n3d.org/> label> span classscreen-reader-text> Search for: /span> input typesearch classsearch-field placeholderSearch … value names /> /label> button typesubmit classsearch-submit>span classscreen-reader-text> Search /span>/button>/form>/section> section idrecent-posts-2 classwidget widget_recent_entries> h2 classwidget-title>Recent Posts/h2>nav aria-labelRecent Posts> ul> li> a hrefhttps://www.n3d.org/?p103>Poor Man’s QTake/a> /li> li> a hrefhttps://www.n3d.org/?p105>Setting up a RTMP Server on a RPi/a> /li> li> a hrefhttps://www.n3d.org/?p93>VFX Supervision on “Breathe”/a> /li> li> a hrefhttps://www.n3d.org/?p64>The Beer Barrel/Flanders Red Experiment/a> /li> li> a hrefhttps://www.n3d.org/?p52>Lexus LaceUp Series – Ventura Half Marathon Race Report/a> /li> /ul> /nav>/section>section idarchives-2 classwidget widget_archive>h2 classwidget-title>Archives/h2>nav aria-labelArchives> ul> li>a hrefhttps://www.n3d.org/?m202411>November 2024/a>/li> li>a hrefhttps://www.n3d.org/?m202410>October 2024/a>/li> li>a hrefhttps://www.n3d.org/?m201701>January 2017/a>/li> li>a hrefhttps://www.n3d.org/?m201610>October 2016/a>/li> li>a hrefhttps://www.n3d.org/?m201407>July 2014/a>/li> li>a hrefhttps://www.n3d.org/?m201312>December 2013/a>/li> li>a hrefhttps://www.n3d.org/?m201302>February 2013/a>/li> li>a hrefhttps://www.n3d.org/?m201210>October 2012/a>/li> /ul> /nav>/section> /aside>!-- .sidebar .widget-area --> /div>!-- .site-content --> footer idcolophon classsite-footer> nav classmain-navigation aria-labelFooter Primary Menu> div classmenu-navigation-container>ul idmenu-navigation-1 classprimary-menu>li classmenu-item menu-item-type-custom menu-item-object-custom menu-item-86>a hrefhttps://www.n3d.org>Home/a>/li>li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-83>a hrefhttps://www.n3d.org/?page_id44>Availability/a>/li>li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-84>a hrefhttps://www.n3d.org/?page_id29>Demo Reels/a>/li>li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-85>a hrefhttps://www.n3d.org/?page_id2>Resume/CV/a>/li>/ul>/div> /nav>!-- .main-navigation --> div classsite-info> span classsite-title>a hrefhttps://www.n3d.org/ relhome>Ned Wilson/a>/span> a hrefhttps://wordpress.org/ classimprint> Proudly powered by WordPress /a> /div>!-- .site-info --> /footer>!-- .site-footer --> /div>!-- .site-inner -->/div>!-- .site -->script srchttp://www.n3d.org/wp-includes/js/wp-embed.min.js?ver6.7 idwp-embed-js defer data-wp-strategydefer>/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]