CINXE.COM

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <base href="/" /> <link href="css/site.css" rel="stylesheet" /> <link href="DotNetRocksBlazorServer.styles.css" rel="stylesheet" /> <meta name="theme-color" content="#EAC435"> <meta content="yes" name="apple-mobile-web-app-capable" /> <meta name="viewport" content="minimum-scale=1.0, width=device-width, maximum-scale=5, viewport-fit=cover" /> <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" /> <meta name="google-site-verification" content="IqaxOqufsj_4E6wP9km-bcQu3FS5jQygnAP4Nw1dcO4" /> <link rel="apple-touch-icon" href="/Icon.png" /> <link rel="apple-touch-icon" sizes="72x72" href="/Icon-72.png" /> <link rel="apple-touch-icon" sizes="114x114" href="/Icon-72@2x.png" /> <link rel="icon" type="image/png" href="/Icon.png"/> <meta property="og:site_name" content=".NET Rocks!" /> <meta property="og:type" content="article"/> <meta property="og:url" content="https://www.dotnetrocks.com/" /> <meta property="og:image" content="/images/BG/DNR-OG.jpg" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content=".NET Rocks!"> <meta name="twitter:description" content=".NET Rocks! is a weekly talk show for anyone interested in programming on the Microsoft .NET platform. The shows range from introductory information to hardcore geekiness." /> <meta name="twitter:url" content="https://www.dotnetrocks.com/" /> <meta name="twitter:image" content="/images/BG/DNR-OG.jpg" /> <!--Blazor:{"sequence":1,"type":"server","prerenderId":"e49c5ca32f684a30ac0d3aabd58ddfeb","descriptor":"CfDJ8Cn6ilHxsL9AtwknEOB1saDUZoOaeDdLjxDmT1w0FTWeRjOy/urxWu26EVTOJXu4kIRnNvFh4RkIoUwPRjelG/wkZywCGWmRZq1TTlQXlxIH9FuQat0WpGqEa02JZcgSOjF43KBbxyJ6XHECZT4mm5g2Plepf5VNDcTBgB7Rjok\u002B7uDJQ36TiuNTM16TKX7xadZBmGZhEH8QLVIc69LbAB\u002B4KO2VRUAfVv2wDJ4mZ3RtFRapHccBotqnYTgvcFsG4CPpNBi6WJ5JwrWr2K/JtLFgOt\u002BREAThB1SaroOWKD1bqEMawellcU\u002B9g5QCv4rSLllyrBJhVpoetCg5gjizY1OlWTpvTeznHL46WIhlTnVxdeIAmYxPLn\u002BDxjwma3b6k/5YDeALJoIgCJrxjIIIaPkCvRB8AkVaAJ/gHYl7NU1\u002B"}--><!--Blazor:{"prerenderId":"e49c5ca32f684a30ac0d3aabd58ddfeb"}--> <script type="text/javascript">!function(T,l,y){var S=T.location,k="script",D="instrumentationKey",C="ingestionendpoint",I="disableExceptionTracking",E="ai.device.",b="toLowerCase",w="crossOrigin",N="POST",e="appInsightsSDK",t=y.name||"appInsights";(y.name||T[e])&&(T[e]=t);var n=T[t]||function(d){var g=!1,f=!1,m={initialize:!0,queue:[],sv:"5",version:2,config:d};function v(e,t){var n={},a="Browser";return n[E+"id"]=a[b](),n[E+"type"]=a,n["ai.operation.name"]=S&&S.pathname||"_unknown_",n["ai.internal.sdkVersion"]="javascript:snippet_"+(m.sv||m.version),{time:function(){var e=new Date;function t(e){var t=""+e;return 1===t.length&&(t="0"+t),t}return e.getUTCFullYear()+"-"+t(1+e.getUTCMonth())+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())+"."+((e.getUTCMilliseconds()/1e3).toFixed(3)+"").slice(2,5)+"Z"}(),iKey:e,name:"Microsoft.ApplicationInsights."+e.replace(/-/g,"")+"."+t,sampleRate:100,tags:n,data:{baseData:{ver:2}}}}var h=d.url||y.src;if(h){function a(e){var t,n,a,i,r,o,s,c,u,p,l;g=!0,m.queue=[],f||(f=!0,t=h,s=function(){var e={},t=d.connectionString;if(t)for(var n=t.split(";"),a=0;a<n.length;a++){var i=n[a].split("=");2===i.length&&(e[i[0][b]()]=i[1])}if(!e[C]){var r=e.endpointsuffix,o=r?e.location:null;e[C]="https://"+(o?o+".":"")+"dc."+(r||"services.visualstudio.com")}return e}(),c=s[D]||d[D]||"",u=s[C],p=u?u+"/v2/track":d.endpointUrl,(l=[]).push((n="SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details)",a=t,i=p,(o=(r=v(c,"Exception")).data).baseType="ExceptionData",o.baseData.exceptions=[{typeName:"SDKLoadFailed",message:n.replace(/\./g,"-"),hasFullStack:!1,stack:n+"\nSnippet failed to load ["+a+"] -- Telemetry is disabled\nHelp Link: https://go.microsoft.com/fwlink/?linkid=2128109\nHost: "+(S&&S.pathname||"_unknown_")+"\nEndpoint: "+i,parsedStack:[]}],r)),l.push(function(e,t,n,a){var i=v(c,"Message"),r=i.data;r.baseType="MessageData";var o=r.baseData;return o.message='AI (Internal): 99 message:"'+("SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details) ("+n+")").replace(/\"/g,"")+'"',o.properties={endpoint:a},i}(0,0,t,p)),function(e,t){if(JSON){var n=T.fetch;if(n&&!y.useXhr)n(t,{method:N,body:JSON.stringify(e),mode:"cors"});else if(XMLHttpRequest){var a=new XMLHttpRequest;a.open(N,t),a.setRequestHeader("Content-type","application/json"),a.send(JSON.stringify(e))}}}(l,p))}function i(e,t){f||setTimeout(function(){!t&&m.core||a()},500)}var e=function(){var n=l.createElement(k);n.src=h;var e=y[w];return!e&&""!==e||"undefined"==n[w]||(n[w]=e),n.onload=i,n.onerror=a,n.onreadystatechange=function(e,t){"loaded"!==n.readyState&&"complete"!==n.readyState||i(0,t)},n}();y.ld<0?l.getElementsByTagName("head")[0].appendChild(e):setTimeout(function(){l.getElementsByTagName(k)[0].parentNode.appendChild(e)},y.ld||0)}try{m.cookie=l.cookie}catch(p){}function t(e){for(;e.length;)!function(t){m[t]=function(){var e=arguments;g||m.queue.push(function(){m[t].apply(m,e)})}}(e.pop())}var n="track",r="TrackPage",o="TrackEvent";t([n+"Event",n+"PageView",n+"Exception",n+"Trace",n+"DependencyData",n+"Metric",n+"PageViewPerformance","start"+r,"stop"+r,"start"+o,"stop"+o,"addTelemetryInitializer","setAuthenticatedUserContext","clearAuthenticatedUserContext","flush"]),m.SeverityLevel={Verbose:0,Information:1,Warning:2,Error:3,Critical:4};var s=(d.extensionConfig||{}).ApplicationInsightsAnalytics||{};if(!0!==d[I]&&!0!==s[I]){var c="onerror";t(["_"+c]);var u=T[c];T[c]=function(e,t,n,a,i){var r=u&&u(e,t,n,a,i);return!0!==r&&m["_"+c]({message:e,url:t,lineNumber:n,columnNumber:a,error:i}),r},d.autoExceptionInstrumented=!0}return m}(y.cfg);function a(){y.onInit&&y.onInit(n)}(T[t]=n).queue&&0===n.queue.length?(n.queue.push(a),n.trackPageView({})):a()}(window,document,{ src: "https://js.monitor.azure.com/scripts/b/ai.2.min.js", // The SDK URL Source crossOrigin: "anonymous", cfg: { // Application Insights Configuration connectionString: 'InstrumentationKey=b0c92093-fc76-46da-93c0-3fa2585a817c;IngestionEndpoint=https://centralus-2.in.applicationinsights.azure.com/;LiveEndpoint=https://centralus.livediagnostics.monitor.azure.com/' }});</script></head> <body> <!--Blazor:{"sequence":0,"type":"server","prerenderId":"5e478fc73090475b817b113e1054fd7b","descriptor":"CfDJ8Cn6ilHxsL9AtwknEOB1saBPOa8eLKBS0boj3vg5MlA7iX2YeUYkVWNbRnubXcs8Mh0yyhd1zn0QfkyScL5HJtboHJaxXvFSWPygSobRKF2qPmsC\u002BwjEvNEJEzx1tdfZ6Bo2QMvOLj4\u002BAFF873jHAJk4SpCLuD6ext90QsD\u002BDtPll5ffztvyyMha83QmFS4Wjp7oPvS0n1EipZDHeovWqSuKV\u002Bwf9Rkw85ht/u1X11GF/zgKF5fh46sW3im1A\u002BfEj2cLsblPuD5KaPv\u002B2bu9/ZLperdUfGZQad2tm\u002B5tpA\u002BSEr4Bo9I4P\u002BqBe4xxSQ0\u002B7eauM8g3EF3VTjsNYZjbqU8vlAiQUHw3bwj54pr/NsG60ICxAK6Lk9hqY/myXIZZng=="}--><div class="page" b-9f8w1qpvgq><div class="top-menu" b-scifs5u11s><nav b-scifs5u11s><div class="nav-item" b-scifs5u11s><a href="/" class="nav-link"> Home </a></div> <div class="nav-item" b-scifs5u11s><a href="https://www.patreon.com/dotnetrocks" class="nav-link"> No&nbsp;Ads </a></div> <div class="nav-item" b-scifs5u11s><a href="/links" class="nav-link"> Links </a></div> <div class="nav-item" b-scifs5u11s><a href="/feed" class="nav-link"> Feed </a></div> <div class="nav-item" b-scifs5u11s><a href="/about" class="nav-link active"> About </a></div></nav></div> <header b-9f8w1qpvgq><picture b-9f8w1qpvgq><source media="(max-width: 799px)" srcset="/CarlAndRichardLogo-bw-wide.jpg" b-9f8w1qpvgq> <source media="(min-width: 800px)" srcset="/CarlAndRichardLogo-bw2.jpg" b-9f8w1qpvgq> <img src="/CarlAndRichardLogo-bw2.jpg" alt b-9f8w1qpvgq></picture> <h1 b-9f8w1qpvgq>.NET Rocks!</h1></header> <main class="content" b-9f8w1qpvgq><p> .NET Rocks! is a weekly talk show for anyone interested in programming on the Microsoft .NET platform. The shows range from introductory information to hardcore geekiness. Carl Franklin Started .NET Rocks! in August, 2002! That was a few years before the word "Podcast" existed! It has been publishing almost every week since then. .NET Rocks! is not just for developers. Search for "Geek Out" to find these hidden gems. Richard shares his research about a geeky topic. They are great to share with kids! </p> <div class="halves"><div class="child1 person expandable"><img src="/images/team/Carl.jpg" alt> <p> Carl Franklin is Executive Vice President of <a href="http://appvnext.com/" target="_blank">App vNext</a>, a software development firm focused on the latest methodologies and technologies. Carl is a 20+ year veteran of the software industry, co-host and founder of <a href="http://dotnetrocks.com/">.NET Rocks!</a>, the first and most widely listened to podcast for .NET developers, a <a href="https://mvp.microsoft.com/en-us/" target="_blank"> Microsoft MVP</a> for Developer Technology, and Senior Executive of <a href="http://pwop.com/" target="_blank">Pwop Studios</a>, a full-service audio and video production/post production studio located in Southeastern Connecticut. </p> <p> Carl is also the creator of <a href="http://mtcb.pwop.com/" target="_blank">Music to Code By</a>, a set of 25-minute long instrumental music pieces designed to get you into a state of flow and keep you there. Music to Code By has been praised widely by developers for keeping them focused and helping them solve difficult problems. </p> <p> Carl has been a leader in the .NET community since 2002, and in the Visual Basic (VB) community before that. In the very early days he wrote for Visual Basic Programmer&rsquo;s Journal, authoring the Q&amp;A column of that magazine as well as many feature articles for VBPJ and other magazines. He has authored two books for John Wiley &amp; Sons on sockets programming in VB, and in 1994 he helped create the very first web site for VB developers, Carl &amp; Gary&#39;s VB Home Page. </p> <p> Before he started .NET Rocks! in 2002 (three years before the word &lsquo;podcast&rsquo; became popular) he developed and taught hands-on training classes for VB.NET and ASP.NET via his training company, Franklins.Net.</p> <p> Carl has spoken regularly at conferences around the world, such as <a href="http://devintersection.com" target="_blank">DevIntersection</a>, <a href="http://ndcoslo.com/" target="_blank">NDC</a>, <a href="http://ndc-london.com/" target="_blank">NDC London</a>, <a href="http://oredev.org/" target="_blank">OreDev</a>, Microsoft TechEd, Microsoft TechEd Europe, <a href="http://www.devteach.com/" target="_blank">DevTeach</a>, <a href="http://devreach.com/" target="_blank">DevReach</a>, and others. </p> <p> In addition to his work in the development field, Carl works in the music business as a composer, recording engineer, producer, multi-instrumentalist, and vocalist. With his band, the <a href="http://franklinbrothersband.com" target="_blank">Franklin Brothers Band</a>, he has produced two albums, <a href="http://www.amazon.com/Lifeboat-To-Nowhere/dp/B005GNA54W/ref=sr_shvl_album_1?ie=UTF8&amp;qid=1313075380&amp;sr=301-1" target="_blank">Lifeboat to Nowhere</a> and <a href="http://carlfranklin.com" target="_blank">Been a While</a>. Both albums get nothing but five star reviews. Noted guitar virtuoso <a href="http://johnscofield.com" target="_blank">John Scofield</a> has collaborated with Carl on two songs, <a href="https://www.youtube.com/watch?v=mHHkxVgcZq0" target="_blank">Chain Reaction</a> and <a href="https://www.youtube.com/watch?v=zkoY0YIVJZk" target="_blank">Groove or Get Out of the Way</a>. </p> <label class="more-less"><input type="checkbox"></label></div> <div class="child2 person expandable"><img src="/images/team/Richard.jpg" alt> <p>Richard Campbell started playing with microcomputers in 1977 at the age of 10. He&#39;s really never done anything else since. In that time he&#39;s been involved in every level of the PC industry, from manufacturing, to sales, to development, and into large scale infrastructure implementation. He has been a witness and participant to the Bill Gates vision of &quot;A PC on every desktop.&quot;</p> <p>For years he&#39;s served as a consultant to companies in many countries, including Barnes&amp;Noble.com, Dow Chemical, Johnson &amp; Johnson Health Care Services, Reuters, Subaru/Isuzu and the U.S. Air Force, providing advice on architecture, scaling systems and mentoring development teams. His long experience in working with large scale systems made him a sought-after consultant during the halycon years of the DotCom boom. He worked closely with venture capital and private equity firms providing architectural guidance and due diligence.</p> <p>He is a Microsoft Regional Director and is recognized as a Microsoft Most Valuable Professional (MVP) in the area of <a href="http://asp.net/" target="_blank">ASP.NET</a>&nbsp;development.</p> <p>In 2004 Richard first met Carl Franklin, creator of .NET Rocks (<a href="http://www.dotnetrocks.com/" target="_blank">www.dotnetrocks.com</a>), The Internet Audio Talkshow for .NET Developers. Richard was a guest on show 69, but his friendship with Carl quickly evolved into a partnership and by show 100 in early 2005 he came onboard as co-host. In 2007 he started RunAs Radio (<a href="http://www.runasradio.com/" target="_blank">www.runasradio.com</a>), a podcast for IT Professionals.</p> <p>He is a co-founder of Strangeloop Networks, which was acquired by Radware in 2013 and spent five years on the board of directors of Telerik which was acquired by Progress Software in 2014.</p> <p>In 2012 Richard founded the Humanitarian Toolbox (<a href="http://www.htbox.org/" target="_blank">www.htbox.org</a>), an organization designed to let developers around the world donate their skills to disaster relief organizations by building open source software. By 2014, Humanitarian Toolbox became a 501(c)3 registered US charity, working on a number of different projects for the United Nations, US Center for Disease Control and Red Cross.</p> <p>Today Richard is a consultant and advisor to a number of successful technology firms as well as the co-owner and content planner of the DevIntersection (<a href="http://www.devintersection.com/" target="_blank">www.devintersection.com</a>) group of conferences.</p> <label class="more-less"><input type="checkbox"></label></div></div></main></div> <!--Blazor:{"prerenderId":"5e478fc73090475b817b113e1054fd7b"}--> <!--Blazor-Component-State:CfDJ8Cn6ilHxsL9AtwknEOB1saCdgQ07aIn8wVFsXmWXROtXoEzhBcQag8uq8JWENhZ5lF27mO1KBpxHDAUKlV42u5VVGdxyr7ZOR1HNxtVjrRrlpqpPbet1RW53EpyLRdvRBg==--> <div id="blazor-error-ui"> An error has occurred. This application may no longer respond until reloaded. <a href="#" class="reload">Reload</a> <a class="dismiss" href="#">&#x00d7;</a> </div> <script src="_framework/blazor.server.js"></script> <script> // MutationObserver is a built-in object that observes a DOM element // and fires a callback when it detects a change. new MutationObserver((mutations, observer) => { // look for Blazor Server Reload button if (document.querySelector('#components-reconnect-modal h5 a')) { // This method attempts to reload async function attemptReload() { try { await fetch(''); location.reload(); } catch { } } observer.disconnect(); // once we detect the change, disconnect. attemptReload(); // try and reload setInterval(attemptReload, 1000); // try reloading every second } }).observe(document.body, { childList: true, subtree: true }); var HYVOR_TALK_WEBSITE = 7704; var HYVOR_TALK_CONFIG = { url: false, id: false }; function loadHyvorJs(sourceUrl, showNumber) { if (sourceUrl.Length == 0) { console.error("Invalid source URL"); return; } var tag = document.createElement('script'); tag.src = sourceUrl; tag.async = true; tag.type = "text/javascript"; tag.onload = function () { console.log("Script loaded successfully"); } tag.onerror = function () { console.error("Failed to load script"); } document.body.appendChild(tag); HYVOR_TALK_CONFIG = { url: false, id: showNumber }; } function loadJs(sourceUrl, id) { //var elem = document.getElementById(id); //if (elem != null) //{ // //return; // elem.remove(); //} if (sourceUrl.Length == 0) { console.error("Invalid source URL"); return; } var tag = document.createElement('script'); tag.id = id; tag.defer = true; tag.src = sourceUrl; tag.type = "text/javascript"; tag.onload = function () { console.log("Script loaded successfully"); } tag.onerror = function () { console.error("Failed to load script"); } document.body.appendChild(tag); } //function checkDupes() { // // are there dupes // var containers = document.querySelectorAll("[id='commento-logged-container']"); // if (containers.length > 1) // containers[0].remove(); // var mainareas = document.querySelectorAll("[id='commento-main-area']"); // if (mainareas.length > 1) // mainareas[0].remove(); //} </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10