<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Coding Out Loud</title>
	<atom:link href="https://blog.codingoutloud.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.codingoutloud.com</link>
	<description>Yes, another noisy coder...</description>
	<lastBuildDate>Tue, 31 Mar 2026 00:48:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<site xmlns="com-wordpress:feed-additions:1">490667</site><cloud domain='blog.codingoutloud.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://s0.wp.com/i/buttonw-com.png</url>
		<title>Coding Out Loud</title>
		<link>https://blog.codingoutloud.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://blog.codingoutloud.com/osd.xml" title="Coding Out Loud" />
	<atom:link rel='hub' href='https://blog.codingoutloud.com/?pushpress=hub'/>
	<item>
		<title>OTel Traces for the Win</title>
		<link>https://blog.codingoutloud.com/2026/03/30/otel-traces-for-the-win/</link>
					<comments>https://blog.codingoutloud.com/2026/03/30/otel-traces-for-the-win/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Mon, 30 Mar 2026 16:10:09 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[agent-framework]]></category>
		<category><![CDATA[agentic]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[AI Agents]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[evals]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[microsoft-foundry]]></category>
		<category><![CDATA[open-telemetry]]></category>
		<category><![CDATA[otel]]></category>
		<category><![CDATA[safety]]></category>
		<category><![CDATA[semantic-conventions]]></category>
		<category><![CDATA[technology]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4347</guid>

					<description><![CDATA[This post was inspired by my Making Agents Work talk at Boston Code Camp #40, inspired by my OTel demo snafu at the live event. Quoting from https://opentelemetry.io/ &#8211; &#8220;OpenTelemetry&#160;is an open source observability framework for cloud native software. It provides a single set of APIs, libraries, agents, and collector services to capture distributed traces [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">This post was inspired by my <a href="https://blog.codingoutloud.com/2026/03/30/talk-making-agents-work-boston-code-camp-40/">Making Agents Work talk at Boston Code Camp #40</a>, inspired by my OTel demo snafu at the live event. </p>



<figure class="wp-block-image size-large is-resized"><img src="https://pbs.twimg.com/media/HEgHa9MaIAA46em?format=jpg&amp;name=large" alt="" style="aspect-ratio:1.3281794563082188;width:627px;height:auto" /><figcaption class="wp-element-caption">Image stolen from Bala Subra &#8211; <a href="https://x.com/bsubra/status/2037887079804248504?s=20">https://x.com/bsubra/status/2037887079804248504?s=20</a></figcaption></figure>



<p class="wp-block-paragraph">Quoting from <a href="https://opentelemetry.io/">https://opentelemetry.io/</a> &#8211; &#8220;<strong>OpenTelemetry</strong>&nbsp;is an open source observability framework for cloud native software. It provides a single set of APIs, libraries, agents, and collector services to capture distributed traces and metrics from your application.&#8221; </p>



<p class="wp-block-paragraph">Here we focus on <strong>Open Telemetry</strong> &#8211; or OTel for short &#8211; <strong>Traces</strong>.</p>



<h2 class="wp-block-heading">The Anemic OTel Trace Antipattern</h2>



<p class="wp-block-paragraph">Due to an error in my demo prep, I ended up showing sparse OTel Traces &#8211; definitely not producing meaningful telemetry so observability will be subpar (or terrible). I am calling this the <strong>Anemic OTel Trace Antipattern</strong>. This antipattern comes through in the four screenshots that follow. The first screenshot shows the overall traces view listing one trace-per row. This is actually fine and normal as these are reasonable top-level traces. But drilling into any of these individual traces revealed no nesting and no context.</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.png"><img width="1024" height="578" data-attachment-id="4335" data-permalink="https://blog.codingoutloud.com/2026/03/30/talk-making-agents-work-boston-code-camp-40/image-45/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.png" data-orig-size="2930,1656" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.png?w=1024" alt="" class="wp-image-4335" srcset="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.png?w=2048 2048w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.png?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption"><strong>Top-level OTel Traces</strong> &#8211; shown using Aspire on local machine (note the <strong>localhost</strong> URL)</figcaption></figure>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-1.png"><img width="1024" height="232" data-attachment-id="4337" data-permalink="https://blog.codingoutloud.com/2026/03/30/talk-making-agents-work-boston-code-camp-40/image-46/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-1.png" data-orig-size="2934,666" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-1.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-1.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-1.png?w=1024" alt="" class="wp-image-4337" srcset="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-1.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-1.png?w=2048 2048w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-1.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-1.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-1.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-1.png?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Click on &#8220;<strong>functions: RunJob</strong>&#8221; trace</figcaption></figure>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-3.png"><img width="1024" height="545" data-attachment-id="4340" data-permalink="https://blog.codingoutloud.com/2026/03/30/talk-making-agents-work-boston-code-camp-40/image-48/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-3.png" data-orig-size="2912,1550" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-3.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-3.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-3.png?w=1024" alt="" class="wp-image-4340" srcset="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-3.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-3.png?w=2048 2048w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-3.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-3.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-3.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-3.png?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption"><br />Click on &#8220;functions: POST api/jobs&#8221; trace &#8211; this is the detail after clicking on the one trace row</figcaption></figure>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-2.png"><img loading="lazy" width="1024" height="547" data-attachment-id="4339" data-permalink="https://blog.codingoutloud.com/2026/03/30/talk-making-agents-work-boston-code-camp-40/image-47/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-2.png" data-orig-size="2926,1564" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-2.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-2.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-2.png?w=1024" alt="" class="wp-image-4339" srcset="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-2.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-2.png?w=2048 2048w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-2.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-2.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-2.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-2.png?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Click on &#8220;functions: GET api/jobs&#8221; trace &#8211; this is the detail after clicking on the one trace row</figcaption></figure>



<h2 class="wp-block-heading">The Flat Trace OTel Trace Antipattern</h2>



<p class="wp-block-paragraph">Consider the traces below. If <strong>GetJob</strong> is triggered by an <strong>HTTP GET</strong> to the <strong>jobs</strong> endpoint, then my suggestion is they should be nested &#8211; GetJob under the corresponding HTTP GET /jobs/guid. As shown below they are flat, appearing as siblings rather than hierarchical. This is another OTel Trace Antipattern &#8211; let&#8217;s call it the <strong>Flat Trace OTel Trace Antipattern</strong>. We have this great &#8220;Trace&#8221;/&#8221;Span&#8221; nesting support, but still our signals look like old-school flat log entries. Definitely not optimal!</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-6.png"><img loading="lazy" width="1024" height="795" data-attachment-id="4366" data-permalink="https://blog.codingoutloud.com/2026/03/30/otel-traces-for-the-win/image-51/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-6.png" data-orig-size="1776,1380" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-6.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-6.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-6.png?w=1024" alt="" class="wp-image-4366" srcset="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-6.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-6.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-6.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-6.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-6.png?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-6.png 1776w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading">Properly Nested Traces and Spans</h2>



<p class="wp-block-paragraph">Let&#8217;s tighten up terminology. An OTel <strong>Trace</strong> represents the complete journey of a request through a system, and it is made up of one or more <strong>Spans</strong> that form a (logically nested) tree where each span is a unit of work. Within a trace it can make sense that some spans are siblings and others nested &#8211; it should mimic the actual flow through the system. The tree is reconstructed by following <code><strong>parent_span_id</strong></code> references. A trace can span <strong>multiple services</strong> (distributed tracing for the win!). Each service creates its own spans, propagating the <strong>Trace ID</strong> and parent <strong>Span ID</strong> via context propagation headers (e.g., <code>traceparent</code> in W3C Trace Context). Each Span in a Trace will share the same <code><strong>trace_id</strong></code> but have its own unique <strong><code>span_id</code></strong>.</p>



<p class="wp-block-paragraph">So, using our vocabulary from above, the remedy for Anemic is to add more spans, and the remedy for Flat is to reuse span parents &#8211; passing them down to child processes rather than creating new spans.</p>



<p class="wp-block-paragraph">With proper span structure, here is the SAME application again, except with OTel Traces and Spans more thoughtfully configured. </p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-8.png"><img loading="lazy" width="1024" height="422" data-attachment-id="4375" data-permalink="https://blog.codingoutloud.com/2026/03/30/otel-traces-for-the-win/image-53/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-8.png" data-orig-size="1944,802" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-8.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-8.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-8.png?w=1024" alt="" class="wp-image-4375" srcset="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-8.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-8.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-8.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-8.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-8.png?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-8.png 1944w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">Now I can click on any of these and there will be spans nested within. You can tell the number and types of spans from the Spans column. The following span is from when the job was submitted: starts with an HTTP POST, stores some stuff in an Azure Storage Blob, creates a message in an Azure Storage Queue, then returns an HTTP 202 STATUS (&#8220;Accepted&#8221;) with a JobId.</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-11.png"><img loading="lazy" width="1024" height="768" data-attachment-id="4381" data-permalink="https://blog.codingoutloud.com/2026/03/30/otel-traces-for-the-win/image-56/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-11.png" data-orig-size="1986,1490" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-11.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-11.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-11.png?w=1024" alt="" class="wp-image-4381" srcset="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-11.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-11.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-11.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-11.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-11.png?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-11.png 1986w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">Note above that movie we are requesting to assess is &#8220;best picture winner from 1988&#8221; &#8211; which is not a movie name you&#8217;ll find on IMDB. But a human will at least know what you mean. As will an LLM.</p>



<p class="wp-block-paragraph">Now let&#8217;s double-click on the &#8220;RunJob&#8221; trace for the same movie &#8211; this is also around 20 seconds after the job was created since processing is asynchronous &#8211; and starts when our movie makes it to the front of the Azure Storage Queue queue:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-9.png"><img loading="lazy" width="1024" height="779" data-attachment-id="4377" data-permalink="https://blog.codingoutloud.com/2026/03/30/otel-traces-for-the-win/image-54/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-9.png" data-orig-size="1904,1450" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-9.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-9.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-9.png?w=1024" alt="" class="wp-image-4377" srcset="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-9.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-9.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-9.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-9.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-9.png?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-9.png 1904w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">Since we have an AI Agent, the movie request we made earlier (via HTTP POST) was asking to assess &#8220;best picture winner from 1988&#8221; and the name of the movie actually assessed was &#8220;Rain Man&#8221; as you can see. AI is working for us. For visibility in our monitoring and debugging, we added those details as properties in the OTel span. The helps us know exactly which business operation we are looking at when we review the telemetry.</p>



<p class="wp-block-paragraph">Here&#8217;s one more span from the RunJob trace, this one showing some <strong><a href="https://opentelemetry.io/docs/specs/semconv/gen-ai/">OTel Semantic Conventions for GenAI</a></strong> &#8211; the <code><strong>gen_ai.request_model</strong></code> and other span properties &#8211; but see also the next section for more on this:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-12.png"><img loading="lazy" width="1024" height="635" data-attachment-id="4383" data-permalink="https://blog.codingoutloud.com/2026/03/30/otel-traces-for-the-win/image-57/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-12.png" data-orig-size="1822,1130" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-12.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-12.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-12.png?w=1024" alt="" class="wp-image-4383" srcset="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-12.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-12.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-12.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-12.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-12.png?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-12.png 1822w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">OTel GenAI Semantic Conventions in action <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/261d.png" alt="☝" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </figcaption></figure>



<p class="wp-block-paragraph">Finally, here&#8217;s the trace for that same movie request being retrieved after processing has completed:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-10.png"><img loading="lazy" width="1024" height="772" data-attachment-id="4379" data-permalink="https://blog.codingoutloud.com/2026/03/30/otel-traces-for-the-win/image-55/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-10.png" data-orig-size="1970,1486" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-10.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-10.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-10.png?w=1024" alt="" class="wp-image-4379" srcset="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-10.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-10.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-10.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-10.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-10.png?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-10.png 1970w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading">OTel GenAI Semantic Conventions</h2>



<p class="wp-block-paragraph">OTel drives consistency across solutions and vendors by specifying <strong>semantic conventions</strong>. Specifically for GenAI they specify many identifiers (see example above &#8211; two screenshots ago). In this screenshot you can see a bunch of them in action. For more information, check out these resources:</p>



<ul class="wp-block-list">
<li><a href="https://opentelemetry.io/docs/specs/semconv/gen-ai/">https://opentelemetry.io/docs/specs/semconv/gen-ai/</a></li>



<li><a href="https://opentelemetry.io/docs/specs/semconv/gen-ai/azure-ai-inference/">https://opentelemetry.io/docs/specs/semconv/gen-ai/azure-ai-inference/</a></li>



<li><a href="https://opentelemetry.io/docs/specs/semconv/gen-ai/mcp/">https://opentelemetry.io/docs/specs/semconv/gen-ai/mcp/</a></li>
</ul>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-5.png"><img loading="lazy" width="669" height="1023" data-attachment-id="4359" data-permalink="https://blog.codingoutloud.com/2026/03/30/otel-traces-for-the-win/image-50/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-5.png" data-orig-size="826,1264" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-5.png?w=196" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-5.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-5.png?w=669" alt="" class="wp-image-4359" srcset="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-5.png?w=669 669w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-5.png?w=98 98w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-5.png?w=196 196w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-5.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-5.png 826w" sizes="(max-width: 669px) 100vw, 669px" /></a><figcaption class="wp-element-caption">Grabbed from Traces view in Aspire (click on a row, this appears in the right-most pane)</figcaption></figure>



<h2 class="wp-block-heading">Source Code</h2>



<ul class="wp-block-list">
<li>Repo is here: <a href="https://github.com/CrankingAI/goat-agent#">https://github.com/CrankingAI/goat-agent</a></li>
</ul>



<h2 class="wp-block-heading">Presentation</h2>



<ul class="wp-block-list">
<li>PowerPoint Deck is here: </li>
</ul>



<div data-wp-interactive="core/file" class="wp-block-file"><object data-wp-bind--hidden="!state.hasPdfPreview" hidden class="wp-block-file__embed" data="https://blog.codingoutloud.com/wp-content/uploads/2026/03/makingagentswork-bostoncodecamp-28-mar-2026.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Embed of MakingAgentsWork-BostonCodeCamp-28-Mar-2026."></object><a id="wp-block-file--media-1fe5bf0f-d97b-4b13-a683-17fb76354a3a" href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/makingagentswork-bostoncodecamp-28-mar-2026.pdf">MakingAgentsWork-BostonCodeCamp-28-Mar-2026</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/makingagentswork-bostoncodecamp-28-mar-2026.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-1fe5bf0f-d97b-4b13-a683-17fb76354a3a">Download</a></div>



<h2 class="wp-block-heading">Connect</h2>



<h3 class="wp-block-heading">Connect with <strong>Bill</strong></h3>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://linkedin.com/in/billwilder" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-wordpress wp-block-social-link"><a href="https://blog.codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z"></path></svg><span class="wp-block-social-link-label screen-reader-text">WordPress</span></a></li>

<li class="wp-social-link wp-social-link-bluesky wp-block-social-link"><a href="https://bsky.app/profile/codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Bluesky</span></a></li>

<li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/crankingai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-x wp-block-social-link"><a href="https://x.com/codingoutloud" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li></ul>



<h3 class="wp-block-heading">Connect with <strong>Boston Azure AI</strong></h3>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://www.linkedin.com/company/bostonazureai/" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-bluesky wp-block-social-link"><a href="https://bsky.app/profile/bostonazureai.org" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Bluesky</span></a></li>

<li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-meetup wp-block-social-link"><a href="https://www.meetup.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.24775,14.722a3.57032,3.57032,0,0,1-2.94457,3.52073,3.61886,3.61886,0,0,1-.64652.05634c-.07314-.0008-.10187.02846-.12507.09547A2.38881,2.38881,0,0,1,13.49453,20.094a2.33092,2.33092,0,0,1-1.827-.50716.13635.13635,0,0,0-.19878-.00408,3.191,3.191,0,0,1-2.104.60248,3.26309,3.26309,0,0,1-3.00324-2.71993,2.19076,2.19076,0,0,1-.03512-.30865c-.00156-.08579-.03413-.1189-.11608-.13493a2.86421,2.86421,0,0,1-1.23189-.56111,2.945,2.945,0,0,1-1.166-2.05749,2.97484,2.97484,0,0,1,.87524-2.50774.112.112,0,0,0,.02091-.16107,2.7213,2.7213,0,0,1-.36648-1.48A2.81256,2.81256,0,0,1,6.57673,7.58838a.35764.35764,0,0,0,.28869-.22819,4.2208,4.2208,0,0,1,6.02892-1.90111.25161.25161,0,0,0,.22023.0243,3.65608,3.65608,0,0,1,3.76031.90678A3.57244,3.57244,0,0,1,17.95918,8.626a2.97339,2.97339,0,0,1,.01829.57356.10637.10637,0,0,0,.0853.12792,1.97669,1.97669,0,0,1,1.27939,1.33733,2.00266,2.00266,0,0,1-.57112,2.12652c-.05284.05166-.04168.08328-.01173.13489A3.51189,3.51189,0,0,1,19.24775,14.722Zm-6.35959-.27836a1.6984,1.6984,0,0,0,1.14556,1.61113,3.82039,3.82039,0,0,0,1.036.17935,1.46888,1.46888,0,0,0,.73509-.12255.44082.44082,0,0,0,.26057-.44274.45312.45312,0,0,0-.29211-.43375.97191.97191,0,0,0-.20678-.063c-.21326-.03806-.42754-.0701-.63973-.11215a.54787.54787,0,0,1-.50172-.60926,2.75864,2.75864,0,0,1,.1773-.901c.1763-.535.414-1.045.64183-1.55913A12.686,12.686,0,0,0,15.85,10.47863a1.58461,1.58461,0,0,0,.04861-.87208,1.04531,1.04531,0,0,0-.85432-.83981,1.60658,1.60658,0,0,0-1.23654.16594.27593.27593,0,0,1-.36286-.03413c-.085-.0747-.16594-.15379-.24918-.23055a.98682.98682,0,0,0-1.33577-.04933,6.1468,6.1468,0,0,1-.4989.41615.47762.47762,0,0,1-.51535.03566c-.17448-.09307-.35512-.175-.53531-.25665a1.74949,1.74949,0,0,0-.56476-.2016,1.69943,1.69943,0,0,0-1.61654.91787,8.05815,8.05815,0,0,0-.32952.80126c-.45471,1.2557-.82507,2.53825-1.20838,3.81639a1.24151,1.24151,0,0,0,.51532,1.44389,1.42659,1.42659,0,0,0,1.22008.17166,1.09728,1.09728,0,0,0,.66994-.69764c.44145-1.04111.839-2.09989,1.25981-3.14926.11581-.28876.22792-.57874.35078-.86438a.44548.44548,0,0,1,.69189-.19539.50521.50521,0,0,1,.15044.43836,1.75625,1.75625,0,0,1-.14731.50453c-.27379.69219-.55265,1.38236-.82766,2.074a2.0836,2.0836,0,0,0-.14038.42876.50719.50719,0,0,0,.27082.57722.87236.87236,0,0,0,.66145.02739.99137.99137,0,0,0,.53406-.532q.61571-1.20914,1.228-2.42031.28423-.55863.57585-1.1133a.87189.87189,0,0,1,.29055-.35253.34987.34987,0,0,1,.37634-.01265.30291.30291,0,0,1,.12434.31459.56716.56716,0,0,1-.04655.1915c-.05318.12739-.10286.25669-.16183.38156-.34118.71775-.68754,1.43273-1.02568,2.152A2.00213,2.00213,0,0,0,12.88816,14.44366Zm4.78568,5.28972a.88573.88573,0,0,0-1.77139.00465.8857.8857,0,0,0,1.77139-.00465Zm-14.83838-7.296a.84329.84329,0,1,0,.00827-1.68655.8433.8433,0,0,0-.00827,1.68655Zm10.366-9.43673a.83506.83506,0,1,0-.0091,1.67.83505.83505,0,0,0,.0091-1.67Zm6.85014,5.22a.71651.71651,0,0,0-1.433.0093.71656.71656,0,0,0,1.433-.0093ZM5.37528,6.17908A.63823.63823,0,1,0,6.015,5.54483.62292.62292,0,0,0,5.37528,6.17908Zm6.68214,14.80843a.54949.54949,0,1,0-.55052.541A.54556.54556,0,0,0,12.05742,20.98752Zm8.53235-8.49689a.54777.54777,0,0,0-.54027.54023.53327.53327,0,0,0,.532.52293.51548.51548,0,0,0,.53272-.5237A.53187.53187,0,0,0,20.58977,12.49063ZM7.82846,2.4715a.44927.44927,0,1,0,.44484.44766A.43821.43821,0,0,0,7.82846,2.4715Zm13.775,7.60492a.41186.41186,0,0,0-.40065.39623.40178.40178,0,0,0,.40168.40168A.38994.38994,0,0,0,22,10.48172.39946.39946,0,0,0,21.60349,10.07642ZM5.79193,17.96207a.40469.40469,0,0,0-.397-.39646.399.399,0,0,0-.396.405.39234.39234,0,0,0,.39939.389A.39857.39857,0,0,0,5.79193,17.96207Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Meetup</span></a></li>

<li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://x.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Twitter</span></a></li>

<li class="wp-social-link wp-social-link-x wp-block-social-link"><a href="https://x.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-youtube wp-block-social-link"><a href="https://www.youtube.com/@BostonAzureAI" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>



<h3 class="wp-block-heading">Connect with <strong>Agent Framework Dev Project</strong></h3>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/AgentFrameworkDev" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-chain wp-block-social-link"><a href="https://agentframework.dev" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M15.6,7.2H14v1.5h1.6c2,0,3.7,1.7,3.7,3.7s-1.7,3.7-3.7,3.7H14v1.5h1.6c2.8,0,5.2-2.3,5.2-5.2,0-2.9-2.3-5.2-5.2-5.2zM4.7,12.4c0-2,1.7-3.7,3.7-3.7H10V7.2H8.4c-2.9,0-5.2,2.3-5.2,5.2,0,2.9,2.3,5.2,5.2,5.2H10v-1.5H8.4c-2,0-3.7-1.7-3.7-3.7zm4.6.9h5.3v-1.5H9.3v1.5z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Link</span></a></li>

<li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://x.com/agent_framework" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Twitter</span></a></li>

<li class="wp-social-link wp-social-link-x wp-block-social-link"><a href="https://x.com/agent_framework" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li></ul>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2026/03/30/otel-traces-for-the-win/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4347</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://pbs.twimg.com/media/HEgHa9MaIAA46em?format=jpg&#038;name=large" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-1.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-3.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-2.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-6.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-8.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-11.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-9.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-12.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-10.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-5.png?w=669" medium="image" />
	</item>
		<item>
		<title>Talk: Making Agents Work &#8211; Boston Code Camp #40</title>
		<link>https://blog.codingoutloud.com/2026/03/30/talk-making-agents-work-boston-code-camp-40/</link>
					<comments>https://blog.codingoutloud.com/2026/03/30/talk-making-agents-work-boston-code-camp-40/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Mon, 30 Mar 2026 16:08:28 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[agent-framework]]></category>
		<category><![CDATA[microsoft-foundry]]></category>
		<category><![CDATA[evals]]></category>
		<category><![CDATA[safety]]></category>
		<category><![CDATA[otel]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4334</guid>

					<description><![CDATA[I had the opportunity (28-Mar-2026) to present at the 40th running of Boston Code Camp. Thank you to the incredible pros running these events, twice yearly, making it happen for a grateful greater-Boston tech community. Thank You to the Speakers, Sponsors, and Organizers Thank you to all the speakers: Anirban Tarafder · Bala Subra · [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>I had the opportunity (28-Mar-2026) to <a href="https://www.bostoncodecamp.com/CC40/Sessions">present</a> at the 40th running of Boston Code Camp</strong>. Thank you to the incredible pros running these events, twice yearly, making it happen for a grateful greater-Boston tech community. </p>



<figure class="wp-block-image size-large"><img src="https://pbs.twimg.com/media/HEgHa-pWsAABsH3?format=jpg&amp;name=large" alt="" /><figcaption class="wp-element-caption">Image stolen from Bala Subra &#8211; <a href="https://x.com/bsubra/status/2037887079804248504?s=20">https://x.com/bsubra/status/2037887079804248504?s=20</a></figcaption></figure>



<h2 class="wp-block-heading">Thank You to the Speakers, Sponsors, and Organizers</h2>



<p class="wp-block-paragraph">Thank you to all the <a href="https://www.bostoncodecamp.com/CC40/Presenters">speakers</a>:</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/anirbant/">Anirban Tarafder</a> · <a href="https://www.linkedin.com/in/bsubra/">Bala Subra</a> · <a href="https://www.linkedin.com/in/billwilder/">Bill Wilder</a> · <a href="https://www.linkedin.com/in/bgerman">Bob German</a> · <a href="https://www.linkedin.com/in/bryanjhogan/">Bryan Hogan</a> · <a href="https://linkedin.com/in/cseferlis">Chris Seferlis</a> · <a href="https://www.linkedin.com/in/cole-flenniken/">Cole Flenniken</a> · <a href="https://www.linkedin.com/in/davemdavis/">Dave Davis</a> · <a href="https://www.linkedin.com/in/dave-finn">Dave Finn</a> · <a href="https://sessionize.com/dekel-cohen-sharon">Dekel Cohen Sharon</a> · <a href="https://sessionize.com/fnu-tarana">Fnu Tarana</a> · <a href="https://www.linkedin.com/in/bahmutov/">Gleb Bahmutov</a> · <a href="https://www.linkedin.com/in/harrykimpel/">Harry Kimpel</a> · <a href="https://www.linkedin.com/in/jasonhaley/">Jason Haley</a> · <a href="https://www.linkedin.com/in/yourjeff/">Jeff Blanchard</a> · <a href="https://linkedin.com/in/jesseliberty">Jesse Liberty</a> · <a href="https://www.linkedin.com/in/jimwilcox2/">Jim Wilcox</a> · <a href="https://www.linkedin.com/in/minerjohn/">John Miner</a> · <a href="https://www.linkedin.com/in/joseph-parzel-92a26474/">Joseph Parzel</a> · <a href="https://www.linkedin.com/in/joshuakgoldbergcodes/">Josh Goldberg</a> · <a href="https://www.linkedin.com/in/jpgarciagonzalez/">Juan Pablo Garcia Gonzalez</a> · <a href="https://www.linkedin.com/in/keith-fitts">Keith Fitts</a> · <a href="https://www.linkedin.com/in/mattkferguson/">Matt Ferguson</a> · <a href="https://www.linkedin.com/in/mnorberg24/">Matthew Norberg</a> · <a href="https://www.linkedin.com/in/mdmintz">Michael Mintz</a> · <a href="https://www.linkedin.com/in/pavankumar-kasani-523282100/">Pavan Kumar Kasani</a> · <a href="https://www.linkedin.com/in/richardcrane/">Richard Crane</a> · <a href="https://linkedin.com/in/sunilkadimdiwan">Sunil Kadimdiwan</a> · <a href="https://www.linkedin.com/in/sqlworldwide/">Taiob Ali</a> · <a href="https://www.linkedin.com/in/ty-augustine/">Ty Augustine</a> · <a href="https://www.linkedin.com/in/udair/">Udaiappa Ramachandran</a> · <a href="https://www.linkedin.com/in/varshampapikian/">Varsham Papikian</a> · <a href="https://www.linkedin.com/in/vijayavishwanath/">Vijaya Vishwanath</a> · <a href="https://sessionize.com/viswa-mohanty">Viswa Mohanty</a></p>



<p class="wp-block-paragraph">And thank you <a href="https://www.bostoncodecamp.com/CC40/Sponsors">sponsors</a>:</p>



<p class="wp-block-paragraph"><strong>Hosting:</strong> <a href="https://www.microsoft.com/">Microsoft</a> · <strong>Gold:</strong> <a href="https://www.mill5.com/">MILL5</a> · <strong>Silver:</strong> <a href="https://www.pulsarsecurity.com/">Pulsar Security</a> · <a href="https://www.telerik.com/">Progress Telerik</a> · <a href="https://www.triverusconsulting.com/">Triverus</a> · <a href="https://brightstarlottery.com/">Brightstar</a> · <strong>In-kind:</strong> <a href="https://sessionize.com/">Sessionize</a></p>



<figure class="wp-block-image size-large is-resized"><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-4.png"><img loading="lazy" width="1024" height="572" data-attachment-id="4354" data-permalink="https://blog.codingoutloud.com/2026/03/30/talk-making-agents-work-boston-code-camp-40/image-49/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-4.png" data-orig-size="1666,932" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-4.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-4.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-4.png?w=1024" alt="" class="wp-image-4354" style="aspect-ratio:1.7867189497911518;width:288px;height:auto" srcset="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-4.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-4.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-4.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-4.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-4.png?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-4.png 1666w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading">Making Agents Work</h2>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.jpeg"><img loading="lazy" width="1024" height="768" data-attachment-id="4403" data-permalink="https://blog.codingoutloud.com/2026/03/30/talk-making-agents-work-boston-code-camp-40/image-58/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.jpeg" data-orig-size="4032,3024" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;1.6&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 12 Pro&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1774709319&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.2&quot;,&quot;iso&quot;:&quot;125&quot;,&quot;shutter_speed&quot;:&quot;0.012820512820513&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;,&quot;alt&quot;:&quot;&quot;,&quot;latitude&quot;:&quot;42.287452777778&quot;,&quot;longitude&quot;:&quot;-71.243941666667&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.jpeg?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.jpeg?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.jpeg?w=1024" alt="" class="wp-image-4403" srcset="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.jpeg?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.jpeg?w=2048 2048w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.jpeg?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.jpeg?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.jpeg?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.jpeg?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">My session was <strong>Making Agents Work</strong> which highlighted some of &#8220;the boring side&#8221; of building an AI Agent &#8211; but these boring details can be super-valuable. The talk was inspired by work I did in my day job as CTO at <a href="https://www.openadmissions.io">Open Admissions</a>. I am using an AI Agent to scale a 30 year-old methodology that can be used to help people understand themselves better and use those insights to choose a more aligned college, major, job, or other consequential life decision. Doing this with an AI Agent is a huge responsibility and, as I shared, putting together the initial agent was the easy part &#8211; being confident it is consistent, accurate, well behaved, robust if attacked or misused &#8211; but still easy to use &#8211; that was the hard and boring part! </p>



<figure class="wp-block-image size-large"><img src="https://pbs.twimg.com/media/HEgHa9MaIAA46em?format=jpg&amp;name=large" alt="" /><figcaption class="wp-element-caption">Image stolen from Bala Subra &#8211; <a href="https://x.com/bsubra/status/2037887079804248504?s=20">https://x.com/bsubra/status/2037887079804248504?s=20</a></figcaption></figure>



<p class="wp-block-paragraph">The talk uses a different AI Agent &#8211; a simple one that accepts a movie and returns a rating summary &#8211; to illuminate some of the points. For example, it uses Agent Framework and has a fan-out/fan-in workflow in the internal agent architecture, uses Microsoft Foundry, a modern tech stack, and Azure Monitor for OTel-aligned Observability.</p>



<p class="wp-block-paragraph">The full description, link to github repo, and slides follow. </p>



<p class="wp-block-paragraph">But first, please find some elaboration on OTel Traces, inspired by my OTel demo snafu at the live event. That blog post is here: <a href="https://blog.codingoutloud.com/2026/03/30/otel-traces-for-the-win/">https://blog.codingoutloud.com/2026/03/30/otel-traces-for-the-win/</a></p>



<h3 class="wp-block-heading">OTel Traces for the Win</h3>



<p class="wp-block-paragraph">Speaking of OTel&#8230; Due 100% to user error (that would be me!), the demo I had prepared to show the incredible power of OTel had a technical glitch. So I have attempted to remedy that with a blog post I&#8217;m calling <strong>OTel Traces for the Win</strong>. So please hop <a href="https://blog.codingoutloud.com/2026/03/30/otel-traces-for-the-win/">over there</a> if you are interested.</p>



<h3 class="wp-block-heading">Making Agents Work &#8211; the official talk description</h3>



<p class="wp-block-paragraph">Building more powerful AI Agents seems to be getting easier by the day. They are powered by incredible models, have access to tools, and can work in teams. But how can we have confidence in non-deterministic systems that make consequential decisions?<br /><br />This talk explores four approaches for building that confidence.<br /><br />1. Observability platforms &#8211; You can&#8217;t improve what you can&#8217;t see. We&#8217;ll explore tools that make the hard-to-see stuff visible.<br /><br />2. Evals (evaluations) &#8211; Moving beyond LGTM (looks good to me), evals wrap agents in formal testing structures to measure accuracy, consistency, and edge case handling &#8211; both before and after your Agent goes live.<br /><br />3. Safety guardrails &#8211; Content filtering, PII detection, and hallucination detection from both platform vendors and standalone models. Let&#8217;s see how they fit into your agent stack.<br /><br />4. Selective determinism &#8211; Sometimes we make better AI solutions by knowing when NOT to use AI. We will discuss mixing in deterministic logic with our non-deterministic behaviors.<br /><br />Concepts are platform-agnostic, but demos will use Microsoft Foundry and the Agent Framework (currently in preview). (In case you haven&#8217;t been following along, Microsoft Foundry was previously know as known as Azure AI Foundry, and before that was Azure AI Studio. And Agent Framework is the next generation of both Semantic Kernel and AutoGen.)<br /><br />Target audience: Those new to building production agent systems seeking approaches beyond the &#8220;hello world&#8221; tutorials &#8211; which described me not too long ago.</p>



<h3 class="wp-block-heading">Source Code</h3>



<ul class="wp-block-list">
<li>The code used to implement the Movie Rating Agent is in the GitHub repo here: <a href="https://github.com/CrankingAI/movie-trivia-agent">https://github.com/CrankingAI/movie-trivia-agent</a></li>
</ul>



<h3 class="wp-block-heading">Presentation</h3>



<ul class="wp-block-list">
<li>The slides I presented are here: </li>



<li></li>
</ul>



<div data-wp-interactive="core/file" class="wp-block-file"><object data-wp-bind--hidden="!state.hasPdfPreview" hidden class="wp-block-file__embed" data="https://blog.codingoutloud.com/wp-content/uploads/2026/03/makingagentswork-bostoncodecamp-28-mar-2026.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Embed of MakingAgentsWork-BostonCodeCamp-28-Mar-2026."></object><a id="wp-block-file--media-49943ade-d2c6-46be-9064-2447ea9aa108" href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/makingagentswork-bostoncodecamp-28-mar-2026.pdf">MakingAgentsWork-BostonCodeCamp-28-Mar-2026</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/makingagentswork-bostoncodecamp-28-mar-2026.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-49943ade-d2c6-46be-9064-2447ea9aa108">Download</a></div>



<h2 class="wp-block-heading">Connect</h2>



<h3 class="wp-block-heading">Connect with <strong>Bill</strong></h3>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://linkedin.com/in/billwilder" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-wordpress wp-block-social-link"><a href="https://blog.codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z"></path></svg><span class="wp-block-social-link-label screen-reader-text">WordPress</span></a></li>

<li class="wp-social-link wp-social-link-bluesky wp-block-social-link"><a href="https://bsky.app/profile/codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Bluesky</span></a></li>

<li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/crankingai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-x wp-block-social-link"><a href="https://x.com/codingoutloud" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li></ul>



<h3 class="wp-block-heading">Connect with <strong>Boston Azure AI</strong></h3>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://www.linkedin.com/company/bostonazureai/" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-bluesky wp-block-social-link"><a href="https://bsky.app/profile/bostonazureai.org" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Bluesky</span></a></li>

<li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-meetup wp-block-social-link"><a href="https://www.meetup.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.24775,14.722a3.57032,3.57032,0,0,1-2.94457,3.52073,3.61886,3.61886,0,0,1-.64652.05634c-.07314-.0008-.10187.02846-.12507.09547A2.38881,2.38881,0,0,1,13.49453,20.094a2.33092,2.33092,0,0,1-1.827-.50716.13635.13635,0,0,0-.19878-.00408,3.191,3.191,0,0,1-2.104.60248,3.26309,3.26309,0,0,1-3.00324-2.71993,2.19076,2.19076,0,0,1-.03512-.30865c-.00156-.08579-.03413-.1189-.11608-.13493a2.86421,2.86421,0,0,1-1.23189-.56111,2.945,2.945,0,0,1-1.166-2.05749,2.97484,2.97484,0,0,1,.87524-2.50774.112.112,0,0,0,.02091-.16107,2.7213,2.7213,0,0,1-.36648-1.48A2.81256,2.81256,0,0,1,6.57673,7.58838a.35764.35764,0,0,0,.28869-.22819,4.2208,4.2208,0,0,1,6.02892-1.90111.25161.25161,0,0,0,.22023.0243,3.65608,3.65608,0,0,1,3.76031.90678A3.57244,3.57244,0,0,1,17.95918,8.626a2.97339,2.97339,0,0,1,.01829.57356.10637.10637,0,0,0,.0853.12792,1.97669,1.97669,0,0,1,1.27939,1.33733,2.00266,2.00266,0,0,1-.57112,2.12652c-.05284.05166-.04168.08328-.01173.13489A3.51189,3.51189,0,0,1,19.24775,14.722Zm-6.35959-.27836a1.6984,1.6984,0,0,0,1.14556,1.61113,3.82039,3.82039,0,0,0,1.036.17935,1.46888,1.46888,0,0,0,.73509-.12255.44082.44082,0,0,0,.26057-.44274.45312.45312,0,0,0-.29211-.43375.97191.97191,0,0,0-.20678-.063c-.21326-.03806-.42754-.0701-.63973-.11215a.54787.54787,0,0,1-.50172-.60926,2.75864,2.75864,0,0,1,.1773-.901c.1763-.535.414-1.045.64183-1.55913A12.686,12.686,0,0,0,15.85,10.47863a1.58461,1.58461,0,0,0,.04861-.87208,1.04531,1.04531,0,0,0-.85432-.83981,1.60658,1.60658,0,0,0-1.23654.16594.27593.27593,0,0,1-.36286-.03413c-.085-.0747-.16594-.15379-.24918-.23055a.98682.98682,0,0,0-1.33577-.04933,6.1468,6.1468,0,0,1-.4989.41615.47762.47762,0,0,1-.51535.03566c-.17448-.09307-.35512-.175-.53531-.25665a1.74949,1.74949,0,0,0-.56476-.2016,1.69943,1.69943,0,0,0-1.61654.91787,8.05815,8.05815,0,0,0-.32952.80126c-.45471,1.2557-.82507,2.53825-1.20838,3.81639a1.24151,1.24151,0,0,0,.51532,1.44389,1.42659,1.42659,0,0,0,1.22008.17166,1.09728,1.09728,0,0,0,.66994-.69764c.44145-1.04111.839-2.09989,1.25981-3.14926.11581-.28876.22792-.57874.35078-.86438a.44548.44548,0,0,1,.69189-.19539.50521.50521,0,0,1,.15044.43836,1.75625,1.75625,0,0,1-.14731.50453c-.27379.69219-.55265,1.38236-.82766,2.074a2.0836,2.0836,0,0,0-.14038.42876.50719.50719,0,0,0,.27082.57722.87236.87236,0,0,0,.66145.02739.99137.99137,0,0,0,.53406-.532q.61571-1.20914,1.228-2.42031.28423-.55863.57585-1.1133a.87189.87189,0,0,1,.29055-.35253.34987.34987,0,0,1,.37634-.01265.30291.30291,0,0,1,.12434.31459.56716.56716,0,0,1-.04655.1915c-.05318.12739-.10286.25669-.16183.38156-.34118.71775-.68754,1.43273-1.02568,2.152A2.00213,2.00213,0,0,0,12.88816,14.44366Zm4.78568,5.28972a.88573.88573,0,0,0-1.77139.00465.8857.8857,0,0,0,1.77139-.00465Zm-14.83838-7.296a.84329.84329,0,1,0,.00827-1.68655.8433.8433,0,0,0-.00827,1.68655Zm10.366-9.43673a.83506.83506,0,1,0-.0091,1.67.83505.83505,0,0,0,.0091-1.67Zm6.85014,5.22a.71651.71651,0,0,0-1.433.0093.71656.71656,0,0,0,1.433-.0093ZM5.37528,6.17908A.63823.63823,0,1,0,6.015,5.54483.62292.62292,0,0,0,5.37528,6.17908Zm6.68214,14.80843a.54949.54949,0,1,0-.55052.541A.54556.54556,0,0,0,12.05742,20.98752Zm8.53235-8.49689a.54777.54777,0,0,0-.54027.54023.53327.53327,0,0,0,.532.52293.51548.51548,0,0,0,.53272-.5237A.53187.53187,0,0,0,20.58977,12.49063ZM7.82846,2.4715a.44927.44927,0,1,0,.44484.44766A.43821.43821,0,0,0,7.82846,2.4715Zm13.775,7.60492a.41186.41186,0,0,0-.40065.39623.40178.40178,0,0,0,.40168.40168A.38994.38994,0,0,0,22,10.48172.39946.39946,0,0,0,21.60349,10.07642ZM5.79193,17.96207a.40469.40469,0,0,0-.397-.39646.399.399,0,0,0-.396.405.39234.39234,0,0,0,.39939.389A.39857.39857,0,0,0,5.79193,17.96207Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Meetup</span></a></li>

<li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://x.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Twitter</span></a></li>

<li class="wp-social-link wp-social-link-x wp-block-social-link"><a href="https://x.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-youtube wp-block-social-link"><a href="https://www.youtube.com/@BostonAzureAI" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>



<h3 class="wp-block-heading">Connect with <strong>Agent Framework Dev Project</strong></h3>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/AgentFrameworkDev" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-chain wp-block-social-link"><a href="https://agentframework.dev" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M15.6,7.2H14v1.5h1.6c2,0,3.7,1.7,3.7,3.7s-1.7,3.7-3.7,3.7H14v1.5h1.6c2.8,0,5.2-2.3,5.2-5.2,0-2.9-2.3-5.2-5.2-5.2zM4.7,12.4c0-2,1.7-3.7,3.7-3.7H10V7.2H8.4c-2.9,0-5.2,2.3-5.2,5.2,0,2.9,2.3,5.2,5.2,5.2H10v-1.5H8.4c-2,0-3.7-1.7-3.7-3.7zm4.6.9h5.3v-1.5H9.3v1.5z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Link</span></a></li>

<li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://x.com/agent_framework" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Twitter</span></a></li>

<li class="wp-social-link wp-social-link-x wp-block-social-link"><a href="https://x.com/agent_framework" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li></ul>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2026/03/30/talk-making-agents-work-boston-code-camp-40/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4334</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://pbs.twimg.com/media/HEgHa-pWsAABsH3?format=jpg&#038;name=large" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image-4.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2026/03/image.jpeg?w=1024" medium="image" />

		<media:content url="https://pbs.twimg.com/media/HEgHa9MaIAA46em?format=jpg&#038;name=large" medium="image" />
	</item>
		<item>
		<title>Talk: Making Agents Work &#8211; Memphis AgentCamp</title>
		<link>https://blog.codingoutloud.com/2026/03/16/talk-making-agents-work-memphis-agentcamp/</link>
					<comments>https://blog.codingoutloud.com/2026/03/16/talk-making-agents-work-memphis-agentcamp/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Mon, 16 Mar 2026 16:22:50 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[agent-framework]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[evals]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[microsoft-foundry]]></category>
		<category><![CDATA[safety]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4325</guid>

					<description><![CDATA[I had the opportunity (16-Mar-2026) to present at Memphis AgentCamp. Thank you Doug Starnes for a great event! The description, link to github repo, and slides follow. Making Agents Work Building more powerful AI Agents seems to be getting easier by the day. They are powered by incredible models, have access to tools, and can [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>I had the opportunity (16-Mar-2026) to <a href="https://www.meetup.com/memphis-technology-user-groups/events/312731040/">present</a> at Memphis AgentCamp</strong>. Thank you <a href="https://www.linkedin.com/in/douglasastarnes/">Doug Starnes</a> for a great event!</p>



<p class="wp-block-paragraph">The description, link to github repo, and slides follow.</p>



<h3 class="wp-block-heading">Making Agents Work</h3>



<p class="wp-block-paragraph">Building more powerful AI Agents seems to be getting easier by the day. They are powered by incredible models, have access to tools, and can work in teams. But how can we have confidence in non-deterministic systems that make consequential decisions?<br /><br />This talk explores four approaches for building that confidence.<br /><br />1. Observability platforms &#8211; You can&#8217;t improve what you can&#8217;t see. We&#8217;ll explore tools that make the hard-to-see stuff visible.<br /><br />2. Evals (evaluations) &#8211; Moving beyond LGTM (looks good to me), evals wrap agents in formal testing structures to measure accuracy, consistency, and edge case handling &#8211; both before and after your Agent goes live.<br /><br />3. Safety guardrails &#8211; Content filtering, PII detection, and hallucination detection from both platform vendors and standalone models. Let&#8217;s see how they fit into your agent stack.<br /><br />4. Selective determinism &#8211; Sometimes we make better AI solutions by knowing when NOT to use AI. We will discuss mixing in deterministic logic with our non-deterministic behaviors.<br /><br />Concepts are platform-agnostic, but demos will use Microsoft Foundry and the Agent Framework (currently in preview). (In case you haven&#8217;t been following along, Microsoft Foundry was previously know as known as Azure AI Foundry, and before that was Azure AI Studio. And Agent Framework is the next generation of both Semantic Kernel and AutoGen.)<br /><br />Target audience: Those new to building production agent systems seeking approaches beyond the &#8220;hello world&#8221; tutorials &#8211; which described me not too long ago.</p>



<ul class="wp-block-list">
<li>Repo is here: <a href="https://github.com/CrankingAI/goat-agent#">https://github.com/CrankingAI/goat-agent</a></li>



<li>Deck is here:</li>
</ul>



<div data-wp-interactive="core/file" class="wp-block-file"><object data-wp-bind--hidden="!state.hasPdfPreview" hidden class="wp-block-file__embed" data="https://blog.codingoutloud.com/wp-content/uploads/2026/03/makingagentswork-memphis-16-mar-2026.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Embed of MakingAgentsWork-Memphis-16-Mar-2026."></object><a id="wp-block-file--media-54e7d63a-c1c0-41d4-8861-ef5cb86c67d8" href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/makingagentswork-memphis-16-mar-2026.pdf">MakingAgentsWork-Memphis-16-Mar-2026</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2026/03/makingagentswork-memphis-16-mar-2026.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-54e7d63a-c1c0-41d4-8861-ef5cb86c67d8">Download</a></div>



<h2 class="wp-block-heading">Connect with Bill and Boston Azure AI</h2>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://linkedin.com/in/billwilder" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-wordpress wp-block-social-link"><a href="https://blog.codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z"></path></svg><span class="wp-block-social-link-label screen-reader-text">WordPress</span></a></li>

<li class="wp-social-link wp-social-link-bluesky wp-block-social-link"><a href="https://bsky.app/profile/codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Bluesky</span></a></li>

<li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/crankingai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-meetup wp-block-social-link"><a href="https://www.meetup.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.24775,14.722a3.57032,3.57032,0,0,1-2.94457,3.52073,3.61886,3.61886,0,0,1-.64652.05634c-.07314-.0008-.10187.02846-.12507.09547A2.38881,2.38881,0,0,1,13.49453,20.094a2.33092,2.33092,0,0,1-1.827-.50716.13635.13635,0,0,0-.19878-.00408,3.191,3.191,0,0,1-2.104.60248,3.26309,3.26309,0,0,1-3.00324-2.71993,2.19076,2.19076,0,0,1-.03512-.30865c-.00156-.08579-.03413-.1189-.11608-.13493a2.86421,2.86421,0,0,1-1.23189-.56111,2.945,2.945,0,0,1-1.166-2.05749,2.97484,2.97484,0,0,1,.87524-2.50774.112.112,0,0,0,.02091-.16107,2.7213,2.7213,0,0,1-.36648-1.48A2.81256,2.81256,0,0,1,6.57673,7.58838a.35764.35764,0,0,0,.28869-.22819,4.2208,4.2208,0,0,1,6.02892-1.90111.25161.25161,0,0,0,.22023.0243,3.65608,3.65608,0,0,1,3.76031.90678A3.57244,3.57244,0,0,1,17.95918,8.626a2.97339,2.97339,0,0,1,.01829.57356.10637.10637,0,0,0,.0853.12792,1.97669,1.97669,0,0,1,1.27939,1.33733,2.00266,2.00266,0,0,1-.57112,2.12652c-.05284.05166-.04168.08328-.01173.13489A3.51189,3.51189,0,0,1,19.24775,14.722Zm-6.35959-.27836a1.6984,1.6984,0,0,0,1.14556,1.61113,3.82039,3.82039,0,0,0,1.036.17935,1.46888,1.46888,0,0,0,.73509-.12255.44082.44082,0,0,0,.26057-.44274.45312.45312,0,0,0-.29211-.43375.97191.97191,0,0,0-.20678-.063c-.21326-.03806-.42754-.0701-.63973-.11215a.54787.54787,0,0,1-.50172-.60926,2.75864,2.75864,0,0,1,.1773-.901c.1763-.535.414-1.045.64183-1.55913A12.686,12.686,0,0,0,15.85,10.47863a1.58461,1.58461,0,0,0,.04861-.87208,1.04531,1.04531,0,0,0-.85432-.83981,1.60658,1.60658,0,0,0-1.23654.16594.27593.27593,0,0,1-.36286-.03413c-.085-.0747-.16594-.15379-.24918-.23055a.98682.98682,0,0,0-1.33577-.04933,6.1468,6.1468,0,0,1-.4989.41615.47762.47762,0,0,1-.51535.03566c-.17448-.09307-.35512-.175-.53531-.25665a1.74949,1.74949,0,0,0-.56476-.2016,1.69943,1.69943,0,0,0-1.61654.91787,8.05815,8.05815,0,0,0-.32952.80126c-.45471,1.2557-.82507,2.53825-1.20838,3.81639a1.24151,1.24151,0,0,0,.51532,1.44389,1.42659,1.42659,0,0,0,1.22008.17166,1.09728,1.09728,0,0,0,.66994-.69764c.44145-1.04111.839-2.09989,1.25981-3.14926.11581-.28876.22792-.57874.35078-.86438a.44548.44548,0,0,1,.69189-.19539.50521.50521,0,0,1,.15044.43836,1.75625,1.75625,0,0,1-.14731.50453c-.27379.69219-.55265,1.38236-.82766,2.074a2.0836,2.0836,0,0,0-.14038.42876.50719.50719,0,0,0,.27082.57722.87236.87236,0,0,0,.66145.02739.99137.99137,0,0,0,.53406-.532q.61571-1.20914,1.228-2.42031.28423-.55863.57585-1.1133a.87189.87189,0,0,1,.29055-.35253.34987.34987,0,0,1,.37634-.01265.30291.30291,0,0,1,.12434.31459.56716.56716,0,0,1-.04655.1915c-.05318.12739-.10286.25669-.16183.38156-.34118.71775-.68754,1.43273-1.02568,2.152A2.00213,2.00213,0,0,0,12.88816,14.44366Zm4.78568,5.28972a.88573.88573,0,0,0-1.77139.00465.8857.8857,0,0,0,1.77139-.00465Zm-14.83838-7.296a.84329.84329,0,1,0,.00827-1.68655.8433.8433,0,0,0-.00827,1.68655Zm10.366-9.43673a.83506.83506,0,1,0-.0091,1.67.83505.83505,0,0,0,.0091-1.67Zm6.85014,5.22a.71651.71651,0,0,0-1.433.0093.71656.71656,0,0,0,1.433-.0093ZM5.37528,6.17908A.63823.63823,0,1,0,6.015,5.54483.62292.62292,0,0,0,5.37528,6.17908Zm6.68214,14.80843a.54949.54949,0,1,0-.55052.541A.54556.54556,0,0,0,12.05742,20.98752Zm8.53235-8.49689a.54777.54777,0,0,0-.54027.54023.53327.53327,0,0,0,.532.52293.51548.51548,0,0,0,.53272-.5237A.53187.53187,0,0,0,20.58977,12.49063ZM7.82846,2.4715a.44927.44927,0,1,0,.44484.44766A.43821.43821,0,0,0,7.82846,2.4715Zm13.775,7.60492a.41186.41186,0,0,0-.40065.39623.40178.40178,0,0,0,.40168.40168A.38994.38994,0,0,0,22,10.48172.39946.39946,0,0,0,21.60349,10.07642ZM5.79193,17.96207a.40469.40469,0,0,0-.397-.39646.399.399,0,0,0-.396.405.39234.39234,0,0,0,.39939.389A.39857.39857,0,0,0,5.79193,17.96207Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Meetup</span></a></li>

<li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://x.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Twitter</span></a></li>

<li class="wp-social-link wp-social-link-x wp-block-social-link"><a href="https://x.com/codingoutloud" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-youtube wp-block-social-link"><a href="https://www.youtube.com/@BostonAzureAI" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2026/03/16/talk-making-agents-work-memphis-agentcamp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4325</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: AI Chatbot → Agent with Model Context Protocol</title>
		<link>https://blog.codingoutloud.com/2025/11/22/talk-ai-chatbot-%e2%86%92-agent-with-model-context-protocol/</link>
					<comments>https://blog.codingoutloud.com/2025/11/22/talk-ai-chatbot-%e2%86%92-agent-with-model-context-protocol/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sat, 22 Nov 2025 18:37:18 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4301</guid>

					<description><![CDATA[I had the opportunity (22-Nov-2025) to present at the 39th running of Boston Code Camp since started in 2003. Some links and notes and comments below. First, thank you to the organizers, sponsors, and speakers who have been making this possible since 2003! MCP &#8211; Model Context Protocol &#8211; is coming up on its first [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>I had the opportunity (22-Nov-2025) to <a href="https://www.bostoncodecamp.com/CC39/Schedule/SessionGrid#">present</a> at the 39th running of Boston Code Camp <a href="https://www.linkedin.com/posts/roberthurlbut_its-great-to-be-at-boston-code-camp-today-activity-7398024006475464704-yxpD?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAA88UIBeoI4OWf9IMnXRPWtKKLnNZHMWsk">since started in 2003</a>. Some links and notes and comments below.</strong> </p>



<p class="wp-block-paragraph">First, <a href="https://www.linkedin.com/posts/billwilder_its-great-to-be-at-boston-code-camp-today-activity-7398764218193276929-iEE-?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAA88UIBeoI4OWf9IMnXRPWtKKLnNZHMWsk">thank you to the organizers, sponsors, and speakers</a> who have been making this possible since 2003! </p>



<p class="wp-block-paragraph">MCP &#8211; Model Context Protocol &#8211; is coming up on its first birthday and adoption is currently on <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> fire <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> accelerating the creation and adoption of new MCP servers.</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-1.png"><img loading="lazy" width="800" height="348" data-attachment-id="4313" data-permalink="https://blog.codingoutloud.com/2025/11/22/talk-ai-chatbot-%e2%86%92-agent-with-model-context-protocol/image-42/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-1.png" data-orig-size="800,348" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-1.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-1.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-1.png?w=800" alt="" class="wp-image-4313" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-1.png 800w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-1.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-1.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-1.png?w=768 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<p class="wp-block-paragraph">Photo above from <a href="https://www.linkedin.com/in/roberthurlbut">Robert Hurlbut&#8217;s</a> <a href="https://www.linkedin.com/posts/roberthurlbut_its-great-to-be-at-boston-code-camp-today-activity-7398024006475464704-yxpD?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAA88UIBeoI4OWf9IMnXRPWtKKLnNZHMWsk">LinkedIn post</a>.</p>



<p class="wp-block-paragraph"><strong>Anthropic&#8217;s original MCP specification:</strong></p>



<ul class="wp-block-list">
<li><a href="https://www.anthropic.com/news/model-context-protocol">https://www.anthropic.com/news/model-context-protocol</a> </li>
</ul>



<p class="wp-block-paragraph"><strong>Tools and Libraries for building, testing, and consuming MCP servers:</strong></p>



<ul class="wp-block-list">
<li><a href="https://github.com/modelcontextprotocol/csharp-sdk">https://github.com/modelcontextprotocol/csharp-sdk</a></li>



<li><a href="https://learn.microsoft.com/en-us/dotnet/ai/get-started-mcp">https://learn.microsoft.com/en-us/dotnet/ai/get-started-mcp</a></li>



<li><a href="https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/telemetry">https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/telemetry</a></li>



<li><a href="https://modelcontextprotocol.io/docs/tools/inspector">https://modelcontextprotocol.io/docs/tools/inspector</a></li>
</ul>



<p class="wp-block-paragraph"><strong>Registries of MCP Servers (these are a couple of examples of reputable ones, but be cautious about any registries, especially rando registries out there!):</strong></p>



<ul class="wp-block-list">
<li><a href="https://github.blog/ai-and-ml/github-copilot/meet-the-github-mcp-registry-the-fastest-way-to-discover-mcp-servers/">https://registry.modelcontextprotocol.io</a></li>



<li><a href="https://github.com/mcp">https://github.com/mcp</a></li>
</ul>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-2.png"><img loading="lazy" width="1024" height="576" data-attachment-id="4315" data-permalink="https://blog.codingoutloud.com/2025/11/22/talk-ai-chatbot-%e2%86%92-agent-with-model-context-protocol/image-43/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-2.png" data-orig-size="4000,2252" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-2.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-2.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-2.png?w=1024" alt="" class="wp-image-4315" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-2.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-2.png?w=2048 2048w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-2.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-2.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-2.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-2.png?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">Photo above courtesy of <a href="https://www.linkedin.com/in/udair/">Udaiappa</a> <a href="https://udai.io/">Ramachandran</a> (who runs <a href="https://www.meetup.com/nashuaug/">https://www.meetup.com/nashuaug/</a>).</p>



<p class="wp-block-paragraph"><strong>Talk description:</strong></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Agency is the capacity to act autonomously, make choices, and shape outcomes. The Model Context Protocol (MCP) brings this agency to AI systems at scale.</p>



<p class="wp-block-paragraph">In this session, we’ll explain the gap MCP fills, highlight key use cases, and explore the rapidly growing ecosystem of tools and marketplaces. We’ll demonstrate MCP in action and walk through how an MCP tool is built and deployed.</p>



<p class="wp-block-paragraph">You’ll leave knowing what MCP is, why it matters, and how it connects systems and data to make AI more effective &#8211; and more agentic. And as Spider-Man reminds us, with great power comes great responsibility: we’ll close by looking at the risks and governance challenges.</p>
</blockquote>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-3.png"><img loading="lazy" width="768" height="1023" data-attachment-id="4319" data-permalink="https://blog.codingoutloud.com/2025/11/22/talk-ai-chatbot-%e2%86%92-agent-with-model-context-protocol/image-44/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-3.png" data-orig-size="800,1066" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-3.png?w=225" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-3.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-3.png?w=768" alt="" class="wp-image-4319" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-3.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-3.png?w=113 113w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-3.png?w=225 225w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-3.png 800w" sizes="(max-width: 768px) 100vw, 768px" /></a></figure>



<p class="wp-block-paragraph">Above photo from <a href="https://www.linkedin.com/in/vkolesnikova/">Veronika</a> <a href="https://x.com/veronika_dev1">Kolesnikova&#8217;s</a> <a href="https://www.linkedin.com/feed/update/urn:li:activity:7398019534861008896/">post</a>.</p>



<p class="wp-block-paragraph">I had the opportunity (22-Nov-2025) to <a href="https://www.bostoncodecamp.com/CC39/Schedule/SessionGrid#">present</a> at the 39th running of Boston Code Camp <a href="https://www.linkedin.com/posts/roberthurlbut_its-great-to-be-at-boston-code-camp-today-activity-7398024006475464704-yxpD?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAA88UIBeoI4OWf9IMnXRPWtKKLnNZHMWsk">since started in 2003</a>.</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image.png"><img loading="lazy" width="954" height="1023" data-attachment-id="4309" data-permalink="https://blog.codingoutloud.com/2025/11/22/talk-ai-chatbot-%e2%86%92-agent-with-model-context-protocol/image-41/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image.png" data-orig-size="1206,1294" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image.png?w=280" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image.png?w=954" alt="" class="wp-image-4309" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image.png?w=954 954w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image.png?w=140 140w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image.png?w=280 280w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/11/image.png 1206w" sizes="(max-width: 954px) 100vw, 954px" /></a></figure>



<p class="wp-block-paragraph">And the deck is here:</p>



<div class="wp-block-file"><a id="wp-block-file--media-2f75789b-7962-4211-99a4-d68d2fbfc077" href="https://blog.codingoutloud.com/wp-content/uploads/2025/11/chatbottoagentwithmcp-bostoncodecamp39-22-nov-2025_pub.pptx">ChatbotToAgentWithMcp-BostonCodeCamp39-22-Nov-2025_pub</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/11/chatbottoagentwithmcp-bostoncodecamp39-22-nov-2025_pub.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-2f75789b-7962-4211-99a4-d68d2fbfc077">Download</a></div>



<h2 class="wp-block-heading">Connect with Bill and Boston Azure AI</h2>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://linkedin.com/in/billwilder" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-wordpress wp-block-social-link"><a href="https://blog.codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z"></path></svg><span class="wp-block-social-link-label screen-reader-text">WordPress</span></a></li>

<li class="wp-social-link wp-social-link-bluesky wp-block-social-link"><a href="https://bsky.app/profile/codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Bluesky</span></a></li>

<li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/crankingai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-meetup wp-block-social-link"><a href="https://www.meetup.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.24775,14.722a3.57032,3.57032,0,0,1-2.94457,3.52073,3.61886,3.61886,0,0,1-.64652.05634c-.07314-.0008-.10187.02846-.12507.09547A2.38881,2.38881,0,0,1,13.49453,20.094a2.33092,2.33092,0,0,1-1.827-.50716.13635.13635,0,0,0-.19878-.00408,3.191,3.191,0,0,1-2.104.60248,3.26309,3.26309,0,0,1-3.00324-2.71993,2.19076,2.19076,0,0,1-.03512-.30865c-.00156-.08579-.03413-.1189-.11608-.13493a2.86421,2.86421,0,0,1-1.23189-.56111,2.945,2.945,0,0,1-1.166-2.05749,2.97484,2.97484,0,0,1,.87524-2.50774.112.112,0,0,0,.02091-.16107,2.7213,2.7213,0,0,1-.36648-1.48A2.81256,2.81256,0,0,1,6.57673,7.58838a.35764.35764,0,0,0,.28869-.22819,4.2208,4.2208,0,0,1,6.02892-1.90111.25161.25161,0,0,0,.22023.0243,3.65608,3.65608,0,0,1,3.76031.90678A3.57244,3.57244,0,0,1,17.95918,8.626a2.97339,2.97339,0,0,1,.01829.57356.10637.10637,0,0,0,.0853.12792,1.97669,1.97669,0,0,1,1.27939,1.33733,2.00266,2.00266,0,0,1-.57112,2.12652c-.05284.05166-.04168.08328-.01173.13489A3.51189,3.51189,0,0,1,19.24775,14.722Zm-6.35959-.27836a1.6984,1.6984,0,0,0,1.14556,1.61113,3.82039,3.82039,0,0,0,1.036.17935,1.46888,1.46888,0,0,0,.73509-.12255.44082.44082,0,0,0,.26057-.44274.45312.45312,0,0,0-.29211-.43375.97191.97191,0,0,0-.20678-.063c-.21326-.03806-.42754-.0701-.63973-.11215a.54787.54787,0,0,1-.50172-.60926,2.75864,2.75864,0,0,1,.1773-.901c.1763-.535.414-1.045.64183-1.55913A12.686,12.686,0,0,0,15.85,10.47863a1.58461,1.58461,0,0,0,.04861-.87208,1.04531,1.04531,0,0,0-.85432-.83981,1.60658,1.60658,0,0,0-1.23654.16594.27593.27593,0,0,1-.36286-.03413c-.085-.0747-.16594-.15379-.24918-.23055a.98682.98682,0,0,0-1.33577-.04933,6.1468,6.1468,0,0,1-.4989.41615.47762.47762,0,0,1-.51535.03566c-.17448-.09307-.35512-.175-.53531-.25665a1.74949,1.74949,0,0,0-.56476-.2016,1.69943,1.69943,0,0,0-1.61654.91787,8.05815,8.05815,0,0,0-.32952.80126c-.45471,1.2557-.82507,2.53825-1.20838,3.81639a1.24151,1.24151,0,0,0,.51532,1.44389,1.42659,1.42659,0,0,0,1.22008.17166,1.09728,1.09728,0,0,0,.66994-.69764c.44145-1.04111.839-2.09989,1.25981-3.14926.11581-.28876.22792-.57874.35078-.86438a.44548.44548,0,0,1,.69189-.19539.50521.50521,0,0,1,.15044.43836,1.75625,1.75625,0,0,1-.14731.50453c-.27379.69219-.55265,1.38236-.82766,2.074a2.0836,2.0836,0,0,0-.14038.42876.50719.50719,0,0,0,.27082.57722.87236.87236,0,0,0,.66145.02739.99137.99137,0,0,0,.53406-.532q.61571-1.20914,1.228-2.42031.28423-.55863.57585-1.1133a.87189.87189,0,0,1,.29055-.35253.34987.34987,0,0,1,.37634-.01265.30291.30291,0,0,1,.12434.31459.56716.56716,0,0,1-.04655.1915c-.05318.12739-.10286.25669-.16183.38156-.34118.71775-.68754,1.43273-1.02568,2.152A2.00213,2.00213,0,0,0,12.88816,14.44366Zm4.78568,5.28972a.88573.88573,0,0,0-1.77139.00465.8857.8857,0,0,0,1.77139-.00465Zm-14.83838-7.296a.84329.84329,0,1,0,.00827-1.68655.8433.8433,0,0,0-.00827,1.68655Zm10.366-9.43673a.83506.83506,0,1,0-.0091,1.67.83505.83505,0,0,0,.0091-1.67Zm6.85014,5.22a.71651.71651,0,0,0-1.433.0093.71656.71656,0,0,0,1.433-.0093ZM5.37528,6.17908A.63823.63823,0,1,0,6.015,5.54483.62292.62292,0,0,0,5.37528,6.17908Zm6.68214,14.80843a.54949.54949,0,1,0-.55052.541A.54556.54556,0,0,0,12.05742,20.98752Zm8.53235-8.49689a.54777.54777,0,0,0-.54027.54023.53327.53327,0,0,0,.532.52293.51548.51548,0,0,0,.53272-.5237A.53187.53187,0,0,0,20.58977,12.49063ZM7.82846,2.4715a.44927.44927,0,1,0,.44484.44766A.43821.43821,0,0,0,7.82846,2.4715Zm13.775,7.60492a.41186.41186,0,0,0-.40065.39623.40178.40178,0,0,0,.40168.40168A.38994.38994,0,0,0,22,10.48172.39946.39946,0,0,0,21.60349,10.07642ZM5.79193,17.96207a.40469.40469,0,0,0-.397-.39646.399.399,0,0,0-.396.405.39234.39234,0,0,0,.39939.389A.39857.39857,0,0,0,5.79193,17.96207Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Meetup</span></a></li>

<li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://x.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Twitter</span></a></li>

<li class="wp-social-link wp-social-link-x wp-block-social-link"><a href="https://x.com/codingoutloud" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-youtube wp-block-social-link"><a href="https://www.youtube.com/@BostonAzureAI" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2025/11/22/talk-ai-chatbot-%e2%86%92-agent-with-model-context-protocol/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4301</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-1.png?w=800" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-2.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image-3.png?w=768" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/11/image.png?w=954" medium="image" />
	</item>
		<item>
		<title>Talk: Human Language is the New UI. How this is possible?</title>
		<link>https://blog.codingoutloud.com/2025/08/16/talk-human-language-is-the-new-ui-how-this-is-possible/</link>
					<comments>https://blog.codingoutloud.com/2025/08/16/talk-human-language-is-the-new-ui-how-this-is-possible/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sat, 16 Aug 2025 21:56:43 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4291</guid>

					<description><![CDATA[I had the opportunity (15-Aug-2025) to talk to Azure Tech Group Bangladesh about how human language has become the new UI as part of their ML Summer School BD program. The talk was recorded and posted to YouTube. The tool used in demos to illustrate an embedding model in action can be found at: funwithvectors.com. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I had the opportunity (15-Aug-2025) to <a href="https://www.meetup.com/azure-tech-group-bangladesh/events/310456266/">talk to <strong>Azure Tech Group Bangladesh</strong></a> about how human language has become the new UI as part of their <a href="https://discord.com/invite/TbH8SF597X">ML Summer School BD program</a>. The talk was recorded and <a href="https://www.youtube.com/live/P7ZWKTWsaNg">posted to YouTube</a>. </p>



<p class="wp-block-paragraph">The tool used in demos to illustrate an embedding model in action can be found at:</p>



<p class="wp-block-paragraph"><strong><a href="https://funwithvectors.com">funwithvectors.com</a></strong>. </p>



<p class="wp-block-paragraph">And the deck is here:</p>



<div class="wp-block-file"><a id="wp-block-file--media-538b5683-4e34-4589-aa2b-a3cc2f293f0c" href="https://blog.codingoutloud.com/wp-content/uploads/2025/08/mlsummerschool-humanlanguageisthenewui-howthisispossible-05-aug-2025-pub.pptx">MLSummerSchool-HumanLanguageIsTheNewUI-HowThisIsPossible-05-Aug-2025-pub</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/08/mlsummerschool-humanlanguageisthenewui-howthisispossible-05-aug-2025-pub.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-538b5683-4e34-4589-aa2b-a3cc2f293f0c">Download</a></div>



<h2 class="wp-block-heading">Connect with Bill and Boston Azure AI</h2>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://linkedin.com/in/billwilder" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-wordpress wp-block-social-link"><a href="https://blog.codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z"></path></svg><span class="wp-block-social-link-label screen-reader-text">WordPress</span></a></li>

<li class="wp-social-link wp-social-link-bluesky wp-block-social-link"><a href="https://bsky.app/profile/codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Bluesky</span></a></li>

<li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/crankingai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-meetup wp-block-social-link"><a href="https://www.meetup.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.24775,14.722a3.57032,3.57032,0,0,1-2.94457,3.52073,3.61886,3.61886,0,0,1-.64652.05634c-.07314-.0008-.10187.02846-.12507.09547A2.38881,2.38881,0,0,1,13.49453,20.094a2.33092,2.33092,0,0,1-1.827-.50716.13635.13635,0,0,0-.19878-.00408,3.191,3.191,0,0,1-2.104.60248,3.26309,3.26309,0,0,1-3.00324-2.71993,2.19076,2.19076,0,0,1-.03512-.30865c-.00156-.08579-.03413-.1189-.11608-.13493a2.86421,2.86421,0,0,1-1.23189-.56111,2.945,2.945,0,0,1-1.166-2.05749,2.97484,2.97484,0,0,1,.87524-2.50774.112.112,0,0,0,.02091-.16107,2.7213,2.7213,0,0,1-.36648-1.48A2.81256,2.81256,0,0,1,6.57673,7.58838a.35764.35764,0,0,0,.28869-.22819,4.2208,4.2208,0,0,1,6.02892-1.90111.25161.25161,0,0,0,.22023.0243,3.65608,3.65608,0,0,1,3.76031.90678A3.57244,3.57244,0,0,1,17.95918,8.626a2.97339,2.97339,0,0,1,.01829.57356.10637.10637,0,0,0,.0853.12792,1.97669,1.97669,0,0,1,1.27939,1.33733,2.00266,2.00266,0,0,1-.57112,2.12652c-.05284.05166-.04168.08328-.01173.13489A3.51189,3.51189,0,0,1,19.24775,14.722Zm-6.35959-.27836a1.6984,1.6984,0,0,0,1.14556,1.61113,3.82039,3.82039,0,0,0,1.036.17935,1.46888,1.46888,0,0,0,.73509-.12255.44082.44082,0,0,0,.26057-.44274.45312.45312,0,0,0-.29211-.43375.97191.97191,0,0,0-.20678-.063c-.21326-.03806-.42754-.0701-.63973-.11215a.54787.54787,0,0,1-.50172-.60926,2.75864,2.75864,0,0,1,.1773-.901c.1763-.535.414-1.045.64183-1.55913A12.686,12.686,0,0,0,15.85,10.47863a1.58461,1.58461,0,0,0,.04861-.87208,1.04531,1.04531,0,0,0-.85432-.83981,1.60658,1.60658,0,0,0-1.23654.16594.27593.27593,0,0,1-.36286-.03413c-.085-.0747-.16594-.15379-.24918-.23055a.98682.98682,0,0,0-1.33577-.04933,6.1468,6.1468,0,0,1-.4989.41615.47762.47762,0,0,1-.51535.03566c-.17448-.09307-.35512-.175-.53531-.25665a1.74949,1.74949,0,0,0-.56476-.2016,1.69943,1.69943,0,0,0-1.61654.91787,8.05815,8.05815,0,0,0-.32952.80126c-.45471,1.2557-.82507,2.53825-1.20838,3.81639a1.24151,1.24151,0,0,0,.51532,1.44389,1.42659,1.42659,0,0,0,1.22008.17166,1.09728,1.09728,0,0,0,.66994-.69764c.44145-1.04111.839-2.09989,1.25981-3.14926.11581-.28876.22792-.57874.35078-.86438a.44548.44548,0,0,1,.69189-.19539.50521.50521,0,0,1,.15044.43836,1.75625,1.75625,0,0,1-.14731.50453c-.27379.69219-.55265,1.38236-.82766,2.074a2.0836,2.0836,0,0,0-.14038.42876.50719.50719,0,0,0,.27082.57722.87236.87236,0,0,0,.66145.02739.99137.99137,0,0,0,.53406-.532q.61571-1.20914,1.228-2.42031.28423-.55863.57585-1.1133a.87189.87189,0,0,1,.29055-.35253.34987.34987,0,0,1,.37634-.01265.30291.30291,0,0,1,.12434.31459.56716.56716,0,0,1-.04655.1915c-.05318.12739-.10286.25669-.16183.38156-.34118.71775-.68754,1.43273-1.02568,2.152A2.00213,2.00213,0,0,0,12.88816,14.44366Zm4.78568,5.28972a.88573.88573,0,0,0-1.77139.00465.8857.8857,0,0,0,1.77139-.00465Zm-14.83838-7.296a.84329.84329,0,1,0,.00827-1.68655.8433.8433,0,0,0-.00827,1.68655Zm10.366-9.43673a.83506.83506,0,1,0-.0091,1.67.83505.83505,0,0,0,.0091-1.67Zm6.85014,5.22a.71651.71651,0,0,0-1.433.0093.71656.71656,0,0,0,1.433-.0093ZM5.37528,6.17908A.63823.63823,0,1,0,6.015,5.54483.62292.62292,0,0,0,5.37528,6.17908Zm6.68214,14.80843a.54949.54949,0,1,0-.55052.541A.54556.54556,0,0,0,12.05742,20.98752Zm8.53235-8.49689a.54777.54777,0,0,0-.54027.54023.53327.53327,0,0,0,.532.52293.51548.51548,0,0,0,.53272-.5237A.53187.53187,0,0,0,20.58977,12.49063ZM7.82846,2.4715a.44927.44927,0,1,0,.44484.44766A.43821.43821,0,0,0,7.82846,2.4715Zm13.775,7.60492a.41186.41186,0,0,0-.40065.39623.40178.40178,0,0,0,.40168.40168A.38994.38994,0,0,0,22,10.48172.39946.39946,0,0,0,21.60349,10.07642ZM5.79193,17.96207a.40469.40469,0,0,0-.397-.39646.399.399,0,0,0-.396.405.39234.39234,0,0,0,.39939.389A.39857.39857,0,0,0,5.79193,17.96207Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Meetup</span></a></li>

<li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://x.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Twitter</span></a></li>

<li class="wp-social-link wp-social-link-x wp-block-social-link"><a href="https://x.com/codingoutloud" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-youtube wp-block-social-link"><a href="https://www.youtube.com/@BostonAzureAI" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2025/08/16/talk-human-language-is-the-new-ui-how-this-is-possible/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4291</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>GitHub Copilot Agent Mode for the Win: I added a new Tool to MCP Server with Single Prompt</title>
		<link>https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/</link>
					<comments>https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Fri, 30 May 2025 02:26:43 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Azure OpenAI]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[AzureAI]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[GenAI]]></category>
		<category><![CDATA[GlobalAIBootcamp]]></category>
		<category><![CDATA[GlobalAIBootcamp2025]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[Semantic Kernel]]></category>
		<category><![CDATA[technology]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4234</guid>

					<description><![CDATA[Along with fellow panelists Jason Haley, Veronika Kolesnikova (the three of us run Boston Azure AI), and Udaiappa Ramachandran (he runs Nashua Cloud .NET &#38; DevBoston), I was part of a Boston Azure AI event to discuss highlights from Microsoft&#8217;s 2025 Build conference. I knew a couple of the things I wanted to show off [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Along with fellow panelists Jason Haley, Veronika Kolesnikova (the three of us run <strong><a href="https://bostonazureai.org">Boston Azure AI</a></strong>), and Udaiappa Ramachandran (he runs <strong><a href="https://www.meetup.com/nashuaug/events/307136846/">Nashua Cloud .NET</a></strong> &amp; <strong><a href="https://www.meetup.com/devboston/events/307296088/">DevBoston</a></strong>), I was part of a <a href="https://www.meetup.com/bostonazureai/events/307065236/">Boston Azure AI event to discuss highlights from Microsoft&#8217;s 2025 Build conference</a>. I knew a couple of the things I wanted to show off were <em><a href="https://learn.microsoft.com/en-us/visualstudio/ide/copilot-agent-mode?view=vs-2022">GitHub Copilot Agent mode</a></em> and hosting <a href="https://github.com/Azure-Samples/remote-mcp-functions"><em>Model Context Protocol (MCP)</em> tools in Azure Functions</a>.</p>



<p class="wp-block-paragraph">What I didn&#8217;t realize at first was that these would be the same demo.</p>



<p class="wp-block-paragraph">I started with a <a href="https://github.com/Azure-Samples/remote-mcp-functions-dotnet/">solid sample C#/.NET MCP server ready to be deployed as an Azure Function</a> (one of <a href="https://github.com/Azure-Samples/remote-mcp-functions">several</a> languages offered). The sample implemented a couple of tools and my goal was to implement an additional tool that would accept an IP address and return the country where that IP address is registered. The IP to country code mapping functionality if available as part of Azure Maps.</p>



<p class="wp-block-paragraph">I started to hand-implement it, then&#8230; I decided to see how far GitHub Copilot Agent mode would get me. I&#8217;ve used it many times before and it can be helpful, but this ask was tricky. One challenge being that there was IaC in the mix: Bicep files to support the <code>azd up</code> deployment, AVM modules, and many code files implementing the feature set. And MCP is still new. And the MCP support within Azure Functions was newer still.</p>



<h2 class="wp-block-heading">Give GitHub Copilot Agent a Goal</h2>



<p class="wp-block-paragraph">The first step was to give the GitHub Copilot Agent a goal that matches my needs. In my case, I gave Agent mode this prompt:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The .NET project implements a couple of Model Context Protocol (MCP) tools &#8211; a couple for snippets and one that says hello. Add a new MCP tool that accepts an IPv4 IP address and returns the country where that IP address is registered. For example, passing in 8.8.8.8, which is Google&#8217;s well-known DNS server address, would return &#8220;us&#8221; because it is based in the USA. To look up the country of registration, use the Azure Maps API.</p>
</blockquote>



<p class="wp-block-paragraph">And here&#8217;s what happened &#8211; as told through some screenshots from what scrolled by in the Agent chat pane &#8211; in a sequence that took around 12 minutes:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-2.png"><img loading="lazy" width="844" height="1023" data-attachment-id="4235" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-18/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-2.png" data-orig-size="1316,1596" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-2.png?w=247" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-2.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-2.png?w=844" alt="" class="wp-image-4235" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-2.png?w=844 844w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-2.png?w=124 124w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-2.png?w=247 247w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-2.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-2.png 1316w" sizes="(max-width: 844px) 100vw, 844px" /></a></figure>



<p class="wp-block-paragraph"></p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-3.png"><img loading="lazy" width="1024" height="621" data-attachment-id="4236" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-19/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-3.png" data-orig-size="2260,1372" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-3.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-3.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-3.png?w=1024" alt="" class="wp-image-4236" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-3.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-3.png?w=2048 2048w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-3.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-3.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-3.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-3.png?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">I can see some coding progress along the way:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-4.png"><img loading="lazy" width="1024" height="330" data-attachment-id="4238" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-20/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-4.png" data-orig-size="1752,566" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-4.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-4.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-4.png?w=1024" alt="" class="wp-image-4238" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-4.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-4.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-4.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-4.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-4.png?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-4.png 1752w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">A couple of times the Agent paused to see if I wanted to continue:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-5.png"><img loading="lazy" width="926" height="402" data-attachment-id="4240" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-21/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-5.png" data-orig-size="926,402" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-5.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-5.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-5.png?w=926" alt="" class="wp-image-4240" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-5.png 926w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-5.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-5.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-5.png?w=768 768w" sizes="(max-width: 926px) 100vw, 926px" /></a></figure>



<p class="wp-block-paragraph">It noticed an error and didn&#8217;t stop &#8211; it just got busy overcoming it:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-6.png"><img loading="lazy" width="942" height="816" data-attachment-id="4241" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-22/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-6.png" data-orig-size="942,816" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-6.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-6.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-6.png?w=942" alt="" class="wp-image-4241" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-6.png 942w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-6.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-6.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-6.png?w=768 768w" sizes="(max-width: 942px) 100vw, 942px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-7.png"><img loading="lazy" width="1024" height="581" data-attachment-id="4243" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-23/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-7.png" data-orig-size="2938,1668" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-7.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-7.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-7.png?w=1024" alt="" class="wp-image-4243" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-7.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-7.png?w=2048 2048w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-7.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-7.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-7.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-7.png?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">It routinely asked for permissions before certain actions:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-8.png"><img loading="lazy" width="1024" height="887" data-attachment-id="4244" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-24/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-8.png" data-orig-size="1896,1644" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-8.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-8.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-8.png?w=1024" alt="" class="wp-image-4244" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-8.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-8.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-8.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-8.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-8.png?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-8.png 1896w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">Again, error identification &#8211; then overcoming errors, sometimes by getting more up-to-date information:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-9.png"><img loading="lazy" width="1024" height="525" data-attachment-id="4245" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-25/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-9.png" data-orig-size="1686,866" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-9.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-9.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-9.png?w=1024" alt="" class="wp-image-4245" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-9.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-9.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-9.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-9.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-9.png?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-9.png 1686w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-10.png"><img loading="lazy" width="1024" height="583" data-attachment-id="4247" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-26/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-10.png" data-orig-size="2932,1672" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-10.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-10.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-10.png?w=1024" alt="" class="wp-image-4247" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-10.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-10.png?w=2048 2048w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-10.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-10.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-10.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-10.png?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">Second check to make sure I was comfortable with it continuing &#8211; this one around 10 minutes after starting work on the goal:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-11.png"><img loading="lazy" width="1024" height="879" data-attachment-id="4249" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-27/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-11.png" data-orig-size="1222,1050" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-11.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-11.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-11.png?w=1024" alt="" class="wp-image-4249" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-11.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-11.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-11.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-11.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-11.png 1222w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">In total 9 files were changed and 11 edit locations were identified:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-12.png"><img loading="lazy" width="1024" height="583" data-attachment-id="4251" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-28/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-12.png" data-orig-size="2930,1670" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-12.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-12.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-12.png?w=1024" alt="" class="wp-image-4251" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-12.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-12.png?w=2048 2048w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-12.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-12.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-12.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-12.png?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">Deploy to Azure</h2>



<p class="wp-block-paragraph">Using <strong><code>azd up</code>,</strong> get it deployed into Azure.</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-20.png"><img loading="lazy" width="673" height="601" data-attachment-id="4269" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-36/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-20.png" data-orig-size="673,601" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-20.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-20.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-20.png?w=673" alt="" class="wp-image-4269" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-20.png 673w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-20.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-20.png?w=300 300w" sizes="(max-width: 673px) 100vw, 673px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-22.png"><img loading="lazy" width="1024" height="596" data-attachment-id="4273" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-38/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-22.png" data-orig-size="1321,770" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-22.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-22.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-22.png?w=1024" alt="" class="wp-image-4273" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-22.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-22.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-22.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-22.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-22.png 1321w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading">Add MCP Reference to VS Code</h2>



<p class="wp-block-paragraph">Once up and running, then I installed it in VS Code as a new Tool &#8211; first click on the wrench/screwdriver:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-13.png"><img loading="lazy" width="635" height="170" data-attachment-id="4253" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-29/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-13.png" data-orig-size="635,170" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-13.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-13.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-13.png?w=635" alt="" class="wp-image-4253" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-13.png 635w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-13.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-13.png?w=300 300w" sizes="(max-width: 635px) 100vw, 635px" /></a></figure>



<p class="wp-block-paragraph">Then from the pop-up, <strong>scroll the the bottom</strong>, then choose <strong>+ Add More Tools&#8230;</strong></p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-14.png"><img loading="lazy" width="743" height="464" data-attachment-id="4255" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-30/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-14.png" data-orig-size="743,464" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-14.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-14.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-14.png?w=743" alt="" class="wp-image-4255" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-14.png 743w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-14.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-14.png?w=300 300w" sizes="(max-width: 743px) 100vw, 743px" /></a></figure>



<p class="wp-block-paragraph">Then follow the prompts (and see also instructions in the GitHub repo):</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-15.png"><img loading="lazy" width="370" height="139" data-attachment-id="4257" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-31/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-15.png" data-orig-size="370,139" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-15.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-15.png?w=370" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-15.png?w=370" alt="" class="wp-image-4257" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-15.png 370w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-15.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-15.png?w=300 300w" sizes="(max-width: 370px) 100vw, 370px" /></a></figure>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">Exercise in VS Code</h2>



<p class="wp-block-paragraph">Now that you&#8217;ve added the MCP server (running from an Azure Function) into the MCP host (which is VS Code), you can invoke the <strong>MCT tool</strong> that accepts an IP and returns a country code:</p>



<pre class="wp-block-code"><code>domain-availability-checker% <strong>dig A en.kremlin.ru +short</strong>
95.173.136.70
95.173.136.72
95.173.136.71
domain-availability-checker%</code></pre>



<p class="wp-block-paragraph">Using the first of the three returned IP addresses, I ask within the Agent chat area &#8220;where is 95.173.136.70 located?&#8221; &#8211; assuming that the LLM used by the chat parser will recognize the IP address &#8211; and the need for a location &#8211; and figure out the right <strong>MCT tool</strong> to invoke:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-16.png"><img loading="lazy" width="569" height="585" data-attachment-id="4261" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-32/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-16.png" data-orig-size="569,585" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-16.png?w=292" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-16.png?w=569" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-16.png?w=569" alt="" class="wp-image-4261" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-16.png 569w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-16.png?w=146 146w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-16.png?w=292 292w" sizes="(max-width: 569px) 100vw, 569px" /></a></figure>



<p class="wp-block-paragraph">I give it one-time permission and it does its thing:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-17.png"><img loading="lazy" width="499" height="264" data-attachment-id="4263" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-33/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-17.png" data-orig-size="499,264" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-17.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-17.png?w=499" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-17.png?w=499" alt="" class="wp-image-4263" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-17.png 499w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-17.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-17.png?w=300 300w" sizes="(max-width: 499px) 100vw, 499px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-18.png"><img loading="lazy" width="570" height="341" data-attachment-id="4265" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-34/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-18.png" data-orig-size="570,341" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-18.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-18.png?w=570" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-18.png?w=570" alt="" class="wp-image-4265" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-18.png 570w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-18.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-18.png?w=300 300w" sizes="(max-width: 570px) 100vw, 570px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-19.png"><img loading="lazy" width="576" height="413" data-attachment-id="4266" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-35/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-19.png" data-orig-size="576,413" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-19.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-19.png?w=576" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-19.png?w=576" alt="" class="wp-image-4266" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-19.png 576w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-19.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-19.png?w=300 300w" sizes="(max-width: 576px) 100vw, 576px" /></a></figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Victory!</p>



<h2 class="wp-block-heading">Check Code Changes into GitHub</h2>



<figure class="wp-block-image size-large is-resized"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-21.png"><img loading="lazy" width="528" height="379" data-attachment-id="4271" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-37/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-21.png" data-orig-size="528,379" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-21.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-21.png?w=528" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-21.png?w=528" alt="" class="wp-image-4271" style="width:528px;height:auto" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-21.png 528w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-21.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-21.png?w=300 300w" sizes="(max-width: 528px) 100vw, 528px" /></a></figure>



<p class="wp-block-paragraph">Of course, using GitHub Copilot to generate a commit message:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-23.png"><img loading="lazy" width="763" height="672" data-attachment-id="4276" data-permalink="https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/image-39/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-23.png" data-orig-size="763,672" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-23.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-23.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-23.png?w=763" alt="" class="wp-image-4276" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-23.png 763w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-23.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-23.png?w=300 300w" sizes="(max-width: 763px) 100vw, 763px" /></a></figure>



<p class="wp-block-paragraph">Done!</p>



<h2 class="wp-block-heading">Connect with Bill and Boston Azure AI</h2>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://linkedin.com/in/billwilder" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-wordpress wp-block-social-link"><a href="https://blog.codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z"></path></svg><span class="wp-block-social-link-label screen-reader-text">WordPress</span></a></li>

<li class="wp-social-link wp-social-link-bluesky wp-block-social-link"><a href="https://bsky.app/profile/codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Bluesky</span></a></li>

<li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/crankingai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-meetup wp-block-social-link"><a href="https://www.meetup.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.24775,14.722a3.57032,3.57032,0,0,1-2.94457,3.52073,3.61886,3.61886,0,0,1-.64652.05634c-.07314-.0008-.10187.02846-.12507.09547A2.38881,2.38881,0,0,1,13.49453,20.094a2.33092,2.33092,0,0,1-1.827-.50716.13635.13635,0,0,0-.19878-.00408,3.191,3.191,0,0,1-2.104.60248,3.26309,3.26309,0,0,1-3.00324-2.71993,2.19076,2.19076,0,0,1-.03512-.30865c-.00156-.08579-.03413-.1189-.11608-.13493a2.86421,2.86421,0,0,1-1.23189-.56111,2.945,2.945,0,0,1-1.166-2.05749,2.97484,2.97484,0,0,1,.87524-2.50774.112.112,0,0,0,.02091-.16107,2.7213,2.7213,0,0,1-.36648-1.48A2.81256,2.81256,0,0,1,6.57673,7.58838a.35764.35764,0,0,0,.28869-.22819,4.2208,4.2208,0,0,1,6.02892-1.90111.25161.25161,0,0,0,.22023.0243,3.65608,3.65608,0,0,1,3.76031.90678A3.57244,3.57244,0,0,1,17.95918,8.626a2.97339,2.97339,0,0,1,.01829.57356.10637.10637,0,0,0,.0853.12792,1.97669,1.97669,0,0,1,1.27939,1.33733,2.00266,2.00266,0,0,1-.57112,2.12652c-.05284.05166-.04168.08328-.01173.13489A3.51189,3.51189,0,0,1,19.24775,14.722Zm-6.35959-.27836a1.6984,1.6984,0,0,0,1.14556,1.61113,3.82039,3.82039,0,0,0,1.036.17935,1.46888,1.46888,0,0,0,.73509-.12255.44082.44082,0,0,0,.26057-.44274.45312.45312,0,0,0-.29211-.43375.97191.97191,0,0,0-.20678-.063c-.21326-.03806-.42754-.0701-.63973-.11215a.54787.54787,0,0,1-.50172-.60926,2.75864,2.75864,0,0,1,.1773-.901c.1763-.535.414-1.045.64183-1.55913A12.686,12.686,0,0,0,15.85,10.47863a1.58461,1.58461,0,0,0,.04861-.87208,1.04531,1.04531,0,0,0-.85432-.83981,1.60658,1.60658,0,0,0-1.23654.16594.27593.27593,0,0,1-.36286-.03413c-.085-.0747-.16594-.15379-.24918-.23055a.98682.98682,0,0,0-1.33577-.04933,6.1468,6.1468,0,0,1-.4989.41615.47762.47762,0,0,1-.51535.03566c-.17448-.09307-.35512-.175-.53531-.25665a1.74949,1.74949,0,0,0-.56476-.2016,1.69943,1.69943,0,0,0-1.61654.91787,8.05815,8.05815,0,0,0-.32952.80126c-.45471,1.2557-.82507,2.53825-1.20838,3.81639a1.24151,1.24151,0,0,0,.51532,1.44389,1.42659,1.42659,0,0,0,1.22008.17166,1.09728,1.09728,0,0,0,.66994-.69764c.44145-1.04111.839-2.09989,1.25981-3.14926.11581-.28876.22792-.57874.35078-.86438a.44548.44548,0,0,1,.69189-.19539.50521.50521,0,0,1,.15044.43836,1.75625,1.75625,0,0,1-.14731.50453c-.27379.69219-.55265,1.38236-.82766,2.074a2.0836,2.0836,0,0,0-.14038.42876.50719.50719,0,0,0,.27082.57722.87236.87236,0,0,0,.66145.02739.99137.99137,0,0,0,.53406-.532q.61571-1.20914,1.228-2.42031.28423-.55863.57585-1.1133a.87189.87189,0,0,1,.29055-.35253.34987.34987,0,0,1,.37634-.01265.30291.30291,0,0,1,.12434.31459.56716.56716,0,0,1-.04655.1915c-.05318.12739-.10286.25669-.16183.38156-.34118.71775-.68754,1.43273-1.02568,2.152A2.00213,2.00213,0,0,0,12.88816,14.44366Zm4.78568,5.28972a.88573.88573,0,0,0-1.77139.00465.8857.8857,0,0,0,1.77139-.00465Zm-14.83838-7.296a.84329.84329,0,1,0,.00827-1.68655.8433.8433,0,0,0-.00827,1.68655Zm10.366-9.43673a.83506.83506,0,1,0-.0091,1.67.83505.83505,0,0,0,.0091-1.67Zm6.85014,5.22a.71651.71651,0,0,0-1.433.0093.71656.71656,0,0,0,1.433-.0093ZM5.37528,6.17908A.63823.63823,0,1,0,6.015,5.54483.62292.62292,0,0,0,5.37528,6.17908Zm6.68214,14.80843a.54949.54949,0,1,0-.55052.541A.54556.54556,0,0,0,12.05742,20.98752Zm8.53235-8.49689a.54777.54777,0,0,0-.54027.54023.53327.53327,0,0,0,.532.52293.51548.51548,0,0,0,.53272-.5237A.53187.53187,0,0,0,20.58977,12.49063ZM7.82846,2.4715a.44927.44927,0,1,0,.44484.44766A.43821.43821,0,0,0,7.82846,2.4715Zm13.775,7.60492a.41186.41186,0,0,0-.40065.39623.40178.40178,0,0,0,.40168.40168A.38994.38994,0,0,0,22,10.48172.39946.39946,0,0,0,21.60349,10.07642ZM5.79193,17.96207a.40469.40469,0,0,0-.397-.39646.399.399,0,0,0-.396.405.39234.39234,0,0,0,.39939.389A.39857.39857,0,0,0,5.79193,17.96207Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Meetup</span></a></li>

<li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://x.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Twitter</span></a></li>

<li class="wp-social-link wp-social-link-x wp-block-social-link"><a href="https://x.com/codingoutloud" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-youtube wp-block-social-link"><a href="https://www.youtube.com/@BostonAzureAI" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>


]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2025/05/29/github-copilot-agent-mode-for-the-win-i-added-a-new-tool-to-mcp-server-with-single-prompt/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4234</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-2.png?w=844" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-3.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-4.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-5.png?w=926" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-6.png?w=942" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-7.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-8.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-9.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-10.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-11.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-12.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-20.png?w=673" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-22.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-13.png?w=635" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-14.png?w=743" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-15.png?w=370" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-16.png?w=569" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-17.png?w=499" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-18.png?w=570" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-19.png?w=576" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-21.png?w=528" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-23.png?w=763" medium="image" />
	</item>
		<item>
		<title>Talk: Empowering AI Agents with Tools using MCP</title>
		<link>https://blog.codingoutloud.com/2025/05/14/talk-empowering-ai-agents-with-tools-using-mcp/</link>
					<comments>https://blog.codingoutloud.com/2025/05/14/talk-empowering-ai-agents-with-tools-using-mcp/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Wed, 14 May 2025 16:40:41 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[AzureAI]]></category>
		<category><![CDATA[GenAI]]></category>
		<category><![CDATA[GlobalAIBootcamp]]></category>
		<category><![CDATA[GlobalAIBootcamp2025]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[Semantic Kernel]]></category>
		<category><![CDATA[technology]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4207</guid>

					<description><![CDATA[Last night I had the pleasure of speaking to two simultaneous audiences: Nashua Cloud .NET &#38; DevBoston community tech groups. The talk was on Model Context Protocol (MCP) which, in a nutshell, is the rising star for answering the following question: What's the best way to allow my LLM to call my code in a standard way?

There is a lot in that statement, so let me elaborate. 

First, what do you mean by "the best way to allow my LLM to call my code" -- why is the LLM calling my code at all? Don't we invoke the LLM via its API, not the other way around? Good question, but LLMs can actually invoke your code. Because this is how LLMs are empowered to do more as AI Agents. Think about an AI Agent as an LLM + a Goal (prompts) + Tools (code, such as provided by MCP servers). The LLM uses the totality of the prompt (system prompt + user prompt + RAG data + any other context channeled in via prompt) to understand the goal you've given it then it figures out which tools to call to get that done.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Last night I had the pleasure of speaking to two simultaneous audiences: <strong><a href="https://www.meetup.com/nashuaug/events/307136846/">Nashua Cloud .NET</a></strong> &amp; <strong><a href="https://www.meetup.com/devboston/events/307296088/">DevBoston</a></strong> community tech groups. The talk was on Model Context Protocol (MCP) which, in a nutshell, is the rising star for answering the following question: <strong><em>What&#8217;s the best way to allow my LLM to call my code in a standard way?</em></strong></p>



<p class="wp-block-paragraph">There is a lot in that statement, so let me elaborate. </p>



<p class="wp-block-paragraph">First, what do you mean by &#8220;<strong><em>the best way to allow my LLM to call my code</em></strong>&#8221; &#8212; why is the LLM calling my code at all? Don&#8217;t we invoke the LLM via its API, not the other way around? Good question, but LLMs can actually invoke your code. Because this is how LLMs are empowered to do more as AI Agents. <strong><em>Think about an AI Agent as an LLM + a Goal (prompts) + Tools (code, such as provided by MCP servers).</em></strong> The <strong><em>LLM</em></strong> uses the totality of the <strong><em>prompt</em></strong> (system prompt + user prompt + RAG data + any other context channeled in via prompt) to <strong><em>understand the goal</em></strong> you&#8217;ve given it then it figures out which <strong><em>tools</em></strong> to call to get that done. </p>



<p class="wp-block-paragraph">In <a href="https://github.com/crankingai/logo-agent">the simple Azure AI Agent I presented</a>, its goal is to deliver an HTML snippet that follows HTML Accessibility best practices in linking to a logo it tracks down for us. One of the tools is web search to find the link to the logo. Another tool validates that the proposed link to the logo actually resolves to a legit image. And another tool could have been to create a text description of the image, but I made the design choice to leave that up to the Agent&#8217;s LLM since it was multimodel. (My older version had a separate tool for this that used a different LLM than the one driving the agent. This was an LLM with vision capabilities &#8211; which is still a reasonable idea here for multiple reasons, but kept it simple here.)</p>



<p class="wp-block-paragraph">Second, what do you mean by &#8220;<strong><em><strong><em>in a standard way</em></strong></em></strong>&#8221; &#8211; aren&#8217;t all LLMs different? It is actually the differences between LLMs that drives the benefits of a standard way. It has been possible for a while to allow your LLM to call out to tools, but there were many ways to do this. Now doing so according to a cross-vendor agreed-upon standard, which MCP represents, lowers the bar for creating reusable and independently testable tools. And marketplaces!</p>



<p class="wp-block-paragraph">Remember many challenges remain ahead. There are a few others in the deck, but here are two:</p>



<p class="wp-block-paragraph">First screenshot reminds that there are limits to how many MCP tools an LLM (or host) can juggle; here, GitHub Copilot currently is capping at 128 tools, but you can get there quickly!</p>



<p class="wp-block-paragraph">Second screenshot reminds that these are complex operational systems. This &#8220;major outage&#8221; (using Anthropic&#8217;s terminology) was shortly before this talk so complicated my planned preparation timel. But it recovered before the talk timeslot. Phew. </p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image.png"><img loading="lazy" width="1024" height="707" data-attachment-id="4213" data-permalink="https://blog.codingoutloud.com/2025/05/14/talk-empowering-ai-agents-with-tools-using-mcp/image-16/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image.png" data-orig-size="1332,920" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image.png?w=1024" alt="" class="wp-image-4213" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image.png 1332w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-1.png"><img loading="lazy" width="943" height="1023" data-attachment-id="4226" data-permalink="https://blog.codingoutloud.com/2025/05/14/talk-empowering-ai-agents-with-tools-using-mcp/image-17/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-1.png" data-orig-size="1194,1296" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-1.png?w=276" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-1.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-1.png?w=943" alt="" class="wp-image-4226" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-1.png?w=943 943w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-1.png?w=138 138w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-1.png?w=276 276w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-1.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-1.png 1194w" sizes="(max-width: 943px) 100vw, 943px" /></a></figure>



<h2 class="wp-block-heading">Connect with Bill and Boston Azure AI</h2>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://linkedin.com/in/billwilder" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-wordpress wp-block-social-link"><a href="https://blog.codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z"></path></svg><span class="wp-block-social-link-label screen-reader-text">WordPress</span></a></li>

<li class="wp-social-link wp-social-link-bluesky wp-block-social-link"><a href="https://bsky.app/profile/codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Bluesky</span></a></li>

<li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/crankingai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-meetup wp-block-social-link"><a href="https://www.meetup.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.24775,14.722a3.57032,3.57032,0,0,1-2.94457,3.52073,3.61886,3.61886,0,0,1-.64652.05634c-.07314-.0008-.10187.02846-.12507.09547A2.38881,2.38881,0,0,1,13.49453,20.094a2.33092,2.33092,0,0,1-1.827-.50716.13635.13635,0,0,0-.19878-.00408,3.191,3.191,0,0,1-2.104.60248,3.26309,3.26309,0,0,1-3.00324-2.71993,2.19076,2.19076,0,0,1-.03512-.30865c-.00156-.08579-.03413-.1189-.11608-.13493a2.86421,2.86421,0,0,1-1.23189-.56111,2.945,2.945,0,0,1-1.166-2.05749,2.97484,2.97484,0,0,1,.87524-2.50774.112.112,0,0,0,.02091-.16107,2.7213,2.7213,0,0,1-.36648-1.48A2.81256,2.81256,0,0,1,6.57673,7.58838a.35764.35764,0,0,0,.28869-.22819,4.2208,4.2208,0,0,1,6.02892-1.90111.25161.25161,0,0,0,.22023.0243,3.65608,3.65608,0,0,1,3.76031.90678A3.57244,3.57244,0,0,1,17.95918,8.626a2.97339,2.97339,0,0,1,.01829.57356.10637.10637,0,0,0,.0853.12792,1.97669,1.97669,0,0,1,1.27939,1.33733,2.00266,2.00266,0,0,1-.57112,2.12652c-.05284.05166-.04168.08328-.01173.13489A3.51189,3.51189,0,0,1,19.24775,14.722Zm-6.35959-.27836a1.6984,1.6984,0,0,0,1.14556,1.61113,3.82039,3.82039,0,0,0,1.036.17935,1.46888,1.46888,0,0,0,.73509-.12255.44082.44082,0,0,0,.26057-.44274.45312.45312,0,0,0-.29211-.43375.97191.97191,0,0,0-.20678-.063c-.21326-.03806-.42754-.0701-.63973-.11215a.54787.54787,0,0,1-.50172-.60926,2.75864,2.75864,0,0,1,.1773-.901c.1763-.535.414-1.045.64183-1.55913A12.686,12.686,0,0,0,15.85,10.47863a1.58461,1.58461,0,0,0,.04861-.87208,1.04531,1.04531,0,0,0-.85432-.83981,1.60658,1.60658,0,0,0-1.23654.16594.27593.27593,0,0,1-.36286-.03413c-.085-.0747-.16594-.15379-.24918-.23055a.98682.98682,0,0,0-1.33577-.04933,6.1468,6.1468,0,0,1-.4989.41615.47762.47762,0,0,1-.51535.03566c-.17448-.09307-.35512-.175-.53531-.25665a1.74949,1.74949,0,0,0-.56476-.2016,1.69943,1.69943,0,0,0-1.61654.91787,8.05815,8.05815,0,0,0-.32952.80126c-.45471,1.2557-.82507,2.53825-1.20838,3.81639a1.24151,1.24151,0,0,0,.51532,1.44389,1.42659,1.42659,0,0,0,1.22008.17166,1.09728,1.09728,0,0,0,.66994-.69764c.44145-1.04111.839-2.09989,1.25981-3.14926.11581-.28876.22792-.57874.35078-.86438a.44548.44548,0,0,1,.69189-.19539.50521.50521,0,0,1,.15044.43836,1.75625,1.75625,0,0,1-.14731.50453c-.27379.69219-.55265,1.38236-.82766,2.074a2.0836,2.0836,0,0,0-.14038.42876.50719.50719,0,0,0,.27082.57722.87236.87236,0,0,0,.66145.02739.99137.99137,0,0,0,.53406-.532q.61571-1.20914,1.228-2.42031.28423-.55863.57585-1.1133a.87189.87189,0,0,1,.29055-.35253.34987.34987,0,0,1,.37634-.01265.30291.30291,0,0,1,.12434.31459.56716.56716,0,0,1-.04655.1915c-.05318.12739-.10286.25669-.16183.38156-.34118.71775-.68754,1.43273-1.02568,2.152A2.00213,2.00213,0,0,0,12.88816,14.44366Zm4.78568,5.28972a.88573.88573,0,0,0-1.77139.00465.8857.8857,0,0,0,1.77139-.00465Zm-14.83838-7.296a.84329.84329,0,1,0,.00827-1.68655.8433.8433,0,0,0-.00827,1.68655Zm10.366-9.43673a.83506.83506,0,1,0-.0091,1.67.83505.83505,0,0,0,.0091-1.67Zm6.85014,5.22a.71651.71651,0,0,0-1.433.0093.71656.71656,0,0,0,1.433-.0093ZM5.37528,6.17908A.63823.63823,0,1,0,6.015,5.54483.62292.62292,0,0,0,5.37528,6.17908Zm6.68214,14.80843a.54949.54949,0,1,0-.55052.541A.54556.54556,0,0,0,12.05742,20.98752Zm8.53235-8.49689a.54777.54777,0,0,0-.54027.54023.53327.53327,0,0,0,.532.52293.51548.51548,0,0,0,.53272-.5237A.53187.53187,0,0,0,20.58977,12.49063ZM7.82846,2.4715a.44927.44927,0,1,0,.44484.44766A.43821.43821,0,0,0,7.82846,2.4715Zm13.775,7.60492a.41186.41186,0,0,0-.40065.39623.40178.40178,0,0,0,.40168.40168A.38994.38994,0,0,0,22,10.48172.39946.39946,0,0,0,21.60349,10.07642ZM5.79193,17.96207a.40469.40469,0,0,0-.397-.39646.399.399,0,0,0-.396.405.39234.39234,0,0,0,.39939.389A.39857.39857,0,0,0,5.79193,17.96207Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Meetup</span></a></li>

<li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://x.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Twitter</span></a></li>

<li class="wp-social-link wp-social-link-x wp-block-social-link"><a href="https://x.com/codingoutloud" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-youtube wp-block-social-link"><a href="https://www.youtube.com/@BostonAzureAI" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>



<h2 class="wp-block-heading">Links from the talk</h2>



<ol class="wp-block-list">
<li>Assorted Cranking AI resources ➞ <a href="https://github.com/crankingai">https://github.com/crankingai</a></li>



<li>Code for the Agent ➞ <a href="https://github.com/crankingai/logo-agent">https://github.com/crankingai/logo-agent</a></li>



<li>Code for the Logo Validator MCP tool ➞ <a href="https://github.com/crankingai/logo-validator-mcp">https://github.com/crankingai/logo-validator-mcp</a></li>



<li>Code for the Brave Web Search MCP tool ➞ <a href="https://github.com/crankingai/brave-search-mcp">https://github.com/crankingai/brave-search-mcp</a></li>



<li>Images I used in the example ➞ <a href="https://github.com/crankingai/bad-images">https://github.com/crankingai/bad-images</a> (<a href="https://raw.githubusercontent.com/crankingai/bad-images/refs/heads/main/JPEG_example_flower-jpg.png">https://raw.githubusercontent.com/crankingai/bad-images/refs/heads/main/JPEG_example_flower-jpg.png</a>)</li>
</ol>



<p class="wp-block-paragraph">Anthropic <strong>status</strong> page ➞ <a href="https://status.anthropic.com/">https://status.anthropic.com/</a> (see screenshot above).</p>



<h2 class="wp-block-heading">Model Context Protocol (MCP) Resources</h2>



<h3 class="wp-block-heading">Standards &amp; Cross-vendor Cooperation</h3>



<ul class="wp-block-list">
<li><a href="https://modelcontextprotocol.io/introduction">Model Context Protocol Introduction</a> &#8211; Official introduction to MCP, described as &#8220;a USB-C port for AI applications&#8221; that standardizes how applications provide context to LLMs.</li>



<li><a href="https://www.anthropic.com/news/model-context-protocol">Anthropic&#8217;s Model Context Protocol Announcement</a> &#8211; The original announcement from Anthropic open-sourcing MCP as a universal standard for connecting AI systems with data sources.</li>



<li><a href="https://github.com/modelcontextprotocol/csharp-sdk">Official C# SDK for Model Context Protocol</a> &#8211; The official C# SDK maintained in collaboration with Microsoft, available as a NuGet package: <a href="https://www.nuget.org/packages/ModelContextProtocol/0.1.0-preview.13">ModelContextProtocol</a>.</li>



<li><a href="https://devblogs.microsoft.com/blog/microsoft-partners-with-anthropic-to-create-official-c-sdk-for-model-context-protocol">Microsoft&#8217;s Partnership with Anthropic for C# SDK</a> &#8211; Microsoft&#8217;s announcement of their collaboration with Anthropic to create the official C# SDK for MCP.</li>



<li><a href="https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/">https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/</a> &#8211; A2A &#8211; Agent to Agent protocol</li>



<li><a href="https://techcrunch.com/2025/05/07/microsoft-adopts-googles-standard-for-linking-up-ai-agents/">https://techcrunch.com/2025/05/07/microsoft-adopts-googles-standard-for-linking-up-ai-agents/</a> &#8211; A2A from Google, being adopted by Microsoft</li>



<li><a href="https://nanda.media.mit.edu/">Nanda Lab at MIT Media Lab</a> &#8211; Research lab working on projects related to AI systems and tools at scale &#8211; a highly distributed AI future</li>
</ul>



<h2 class="wp-block-heading">SDKs &amp; Samples</h2>



<ul class="wp-block-list">
<li><a href="https://devblogs.microsoft.com/semantic-kernel/integrating-model-context-protocol-tools-with-semantic-kernel-a-step-by-step-guide/">Integrating MCP Tools with Semantic Kernel</a> &#8211; A step-by-step guide for integrating MCP tools with Microsoft&#8217;s Semantic Kernel framework.</li>



<li><a href="https://learn.microsoft.com/en-us/semantic-kernel/frameworks/agent/azure-ai-agent?pivots=programming-language-csharp">Azure AI Agent with Semantic Kernel (C#)</a> &#8211; Microsoft documentation on building AI agents with Azure and Semantic Kernel using C#.</li>



<li><a href="https://modelcontextprotocol.io/examples">MCP Examples</a> &#8211; Official examples of using the Model Context Protocol in various scenarios.</li>
</ul>



<h2 class="wp-block-heading">MCP Servers &amp; Implementations</h2>



<h3 class="wp-block-heading">Popular MCP Servers</h3>



<ul class="wp-block-list">
<li><a href="https://github.com/github/github-mcp-server">GitHub MCP Server</a> &#8211; GitHub&#8217;s official MCP server that provides seamless integration with GitHub APIs for automating workflows, extracting data, and building AI-powered tools. In case you&#8217;d like to create a Personal Access Token to allow your GitHub MCP tools to access github.com on your behalf ➞ <a href="https://github.com/settings/personal-access-tokens">https://github.com/settings/personal-access-tokens</a></li>



<li><a href="https://github.com/microsoft/playwright-mcp">Playwright MCP Server</a> &#8211; Microsoft&#8217;s MCP server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages through structured accessibility snapshots.</li>



<li><a href="https://github.com/modelcontextprotocol/servers">MCP Servers Repository</a> &#8211; Collection of official reference implementations of MCP servers.</li>



<li><a href="https://mcp.so/server/popular-mcp-servers">Popular MCP Servers Directory</a> &#8211; Curated list of popular MCP server implementations.</li>
</ul>



<h2 class="wp-block-heading">MCP Inspector Tool ➞ Check this out for sure</h2>



<ul class="wp-block-list">
<li><a href="https://modelcontextprotocol.io/docs/tools/inspector">MCP Inspector</a> &#8211; Interactive debugging tool for testing and inspecting MCP servers.</li>



<li><a href="https://github.com/modelcontextprotocol/inspector">MCP Inspector on GitHub</a> &#8211; Source code repository for the MCP Inspector tool.</li>
</ul>



<p class="wp-block-paragraph"></p>



<h1 class="wp-block-heading has-blue-color has-text-color has-link-color wp-elements-feff796ca6f1dcdd05ebe543b20f82e4">Download the deck from the talk ➞</h1>



<div class="wp-block-file"><a id="wp-block-file--media-6b18c4e4-c6f1-4976-a50a-e4fd9b1f1ea7" href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/empoweringaiagentswithmcp-nashuacloud-devboston-13-may-2025.pptx">EmpoweringAIAgentsWithMcp-NashuaCloud-DevBoston-13-May-2025</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/empoweringaiagentswithmcp-nashuacloud-devboston-13-may-2025.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-6b18c4e4-c6f1-4976-a50a-e4fd9b1f1ea7">Download</a></div>


]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2025/05/14/talk-empowering-ai-agents-with-tools-using-mcp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4207</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/05/image-1.png?w=943" medium="image" />
	</item>
		<item>
		<title>Talk: Human Language is the new UI. How does this work? at the AI Community Conference &#8211; AICO Boston event! #aicoevents</title>
		<link>https://blog.codingoutloud.com/2025/05/02/talk-human-language-is-the-new-ui-how-does-this-work-at-the-ai-community-conference-aico-boston-event-aicoevents/</link>
					<comments>https://blog.codingoutloud.com/2025/05/02/talk-human-language-is-the-new-ui-how-does-this-work-at-the-ai-community-conference-aico-boston-event-aicoevents/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Fri, 02 May 2025 17:14:07 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[AzureAI]]></category>
		<category><![CDATA[GenAI]]></category>
		<category><![CDATA[GlobalAIBootcamp]]></category>
		<category><![CDATA[GlobalAIBootcamp2025]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4200</guid>

					<description><![CDATA[The organizers of the AI Community Conference &#8211; AICO Boston event did an incredible job. The conference was first-rate and I really enjoyed engaging with attendees and speakers, while learning from everyone. I delivered a new iteration of my talk on how it is possible to have Human Language as the new UI, thanks to [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The organizers of the AI Community Conference &#8211; AICO Boston event did an incredible job. The conference was first-rate and I really enjoyed engaging with attendees and speakers, while learning from everyone.</p>



<p class="wp-block-paragraph">I <a href="https://www.communitydays.org/event/2025-05-01/ai-community-conference-aico-boston#sessions?id=900312">delivered a new iteration of my talk on how it is possible to have Human Language as the new UI, thanks to LLMs and Embedding models.</a> There was an engaged and inquisitive group! The resources I used during the presentation, including my deck, are all included below.</p>



<h2 class="wp-block-heading">Connect with Bill or other related resources:</h2>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://linkedin.com/in/billwilder" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-wordpress wp-block-social-link"><a href="https://blog.codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z"></path></svg><span class="wp-block-social-link-label screen-reader-text">WordPress</span></a></li>

<li class="wp-social-link wp-social-link-bluesky wp-block-social-link"><a href="https://bsky.app/profile/codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Bluesky</span></a></li>

<li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/crankingai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-meetup wp-block-social-link"><a href="https://www.meetup.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.24775,14.722a3.57032,3.57032,0,0,1-2.94457,3.52073,3.61886,3.61886,0,0,1-.64652.05634c-.07314-.0008-.10187.02846-.12507.09547A2.38881,2.38881,0,0,1,13.49453,20.094a2.33092,2.33092,0,0,1-1.827-.50716.13635.13635,0,0,0-.19878-.00408,3.191,3.191,0,0,1-2.104.60248,3.26309,3.26309,0,0,1-3.00324-2.71993,2.19076,2.19076,0,0,1-.03512-.30865c-.00156-.08579-.03413-.1189-.11608-.13493a2.86421,2.86421,0,0,1-1.23189-.56111,2.945,2.945,0,0,1-1.166-2.05749,2.97484,2.97484,0,0,1,.87524-2.50774.112.112,0,0,0,.02091-.16107,2.7213,2.7213,0,0,1-.36648-1.48A2.81256,2.81256,0,0,1,6.57673,7.58838a.35764.35764,0,0,0,.28869-.22819,4.2208,4.2208,0,0,1,6.02892-1.90111.25161.25161,0,0,0,.22023.0243,3.65608,3.65608,0,0,1,3.76031.90678A3.57244,3.57244,0,0,1,17.95918,8.626a2.97339,2.97339,0,0,1,.01829.57356.10637.10637,0,0,0,.0853.12792,1.97669,1.97669,0,0,1,1.27939,1.33733,2.00266,2.00266,0,0,1-.57112,2.12652c-.05284.05166-.04168.08328-.01173.13489A3.51189,3.51189,0,0,1,19.24775,14.722Zm-6.35959-.27836a1.6984,1.6984,0,0,0,1.14556,1.61113,3.82039,3.82039,0,0,0,1.036.17935,1.46888,1.46888,0,0,0,.73509-.12255.44082.44082,0,0,0,.26057-.44274.45312.45312,0,0,0-.29211-.43375.97191.97191,0,0,0-.20678-.063c-.21326-.03806-.42754-.0701-.63973-.11215a.54787.54787,0,0,1-.50172-.60926,2.75864,2.75864,0,0,1,.1773-.901c.1763-.535.414-1.045.64183-1.55913A12.686,12.686,0,0,0,15.85,10.47863a1.58461,1.58461,0,0,0,.04861-.87208,1.04531,1.04531,0,0,0-.85432-.83981,1.60658,1.60658,0,0,0-1.23654.16594.27593.27593,0,0,1-.36286-.03413c-.085-.0747-.16594-.15379-.24918-.23055a.98682.98682,0,0,0-1.33577-.04933,6.1468,6.1468,0,0,1-.4989.41615.47762.47762,0,0,1-.51535.03566c-.17448-.09307-.35512-.175-.53531-.25665a1.74949,1.74949,0,0,0-.56476-.2016,1.69943,1.69943,0,0,0-1.61654.91787,8.05815,8.05815,0,0,0-.32952.80126c-.45471,1.2557-.82507,2.53825-1.20838,3.81639a1.24151,1.24151,0,0,0,.51532,1.44389,1.42659,1.42659,0,0,0,1.22008.17166,1.09728,1.09728,0,0,0,.66994-.69764c.44145-1.04111.839-2.09989,1.25981-3.14926.11581-.28876.22792-.57874.35078-.86438a.44548.44548,0,0,1,.69189-.19539.50521.50521,0,0,1,.15044.43836,1.75625,1.75625,0,0,1-.14731.50453c-.27379.69219-.55265,1.38236-.82766,2.074a2.0836,2.0836,0,0,0-.14038.42876.50719.50719,0,0,0,.27082.57722.87236.87236,0,0,0,.66145.02739.99137.99137,0,0,0,.53406-.532q.61571-1.20914,1.228-2.42031.28423-.55863.57585-1.1133a.87189.87189,0,0,1,.29055-.35253.34987.34987,0,0,1,.37634-.01265.30291.30291,0,0,1,.12434.31459.56716.56716,0,0,1-.04655.1915c-.05318.12739-.10286.25669-.16183.38156-.34118.71775-.68754,1.43273-1.02568,2.152A2.00213,2.00213,0,0,0,12.88816,14.44366Zm4.78568,5.28972a.88573.88573,0,0,0-1.77139.00465.8857.8857,0,0,0,1.77139-.00465Zm-14.83838-7.296a.84329.84329,0,1,0,.00827-1.68655.8433.8433,0,0,0-.00827,1.68655Zm10.366-9.43673a.83506.83506,0,1,0-.0091,1.67.83505.83505,0,0,0,.0091-1.67Zm6.85014,5.22a.71651.71651,0,0,0-1.433.0093.71656.71656,0,0,0,1.433-.0093ZM5.37528,6.17908A.63823.63823,0,1,0,6.015,5.54483.62292.62292,0,0,0,5.37528,6.17908Zm6.68214,14.80843a.54949.54949,0,1,0-.55052.541A.54556.54556,0,0,0,12.05742,20.98752Zm8.53235-8.49689a.54777.54777,0,0,0-.54027.54023.53327.53327,0,0,0,.532.52293.51548.51548,0,0,0,.53272-.5237A.53187.53187,0,0,0,20.58977,12.49063ZM7.82846,2.4715a.44927.44927,0,1,0,.44484.44766A.43821.43821,0,0,0,7.82846,2.4715Zm13.775,7.60492a.41186.41186,0,0,0-.40065.39623.40178.40178,0,0,0,.40168.40168A.38994.38994,0,0,0,22,10.48172.39946.39946,0,0,0,21.60349,10.07642ZM5.79193,17.96207a.40469.40469,0,0,0-.397-.39646.399.399,0,0,0-.396.405.39234.39234,0,0,0,.39939.389A.39857.39857,0,0,0,5.79193,17.96207Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Meetup</span></a></li>

<li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://x.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Twitter</span></a></li>

<li class="wp-social-link wp-social-link-x wp-block-social-link"><a href="https://x.com/codingoutloud" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-youtube wp-block-social-link"><a href="https://www.youtube.com/@BostonAzureAI" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>



<h2 class="wp-block-heading">Links from the talk:</h2>



<ol class="wp-block-list">
<li>Assorted Cranking AI resources ➞ <a href="https://github.com/crankingai">https://github.com/crankingai</a></li>



<li>The funwithvectors.com app used in the talk ➞ <a href="https://funwithvectors.com">https://funwithvectors.com</a> and OSS repo </li>



<li>The repo with code for the &#8220;next-token&#8221; project that I used to show how tokens have probabilities and how they are selected (and can be influenced by Temperature and Top-P which is also known as <em>nucleus sampling</em>) ➞ <a href="https://github.com/crankingai/next-token">https://github.com/crankingai/next-token</a></li>



<li>The OpenAI Tokenizer shown in the talk ➞ <a href="https://platform.openai.com/tokenizer/">https://platform.openai.com/tokenizer/</a></li>
</ol>



<h2 class="wp-block-heading">The deck from the talk:</h2>



<ol class="wp-block-list">
<li>The deck from the talk ➞ </li>
</ol>





<div class="wp-block-file"><a id="wp-block-file--media-6767ce5d-c370-467a-8e69-e4b5ac5aca8b" href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/aicommunityconference-boston-humanlanguageisthenewui-howthisispossible-02-may-2025_pub.pptx">AICommunityConference-Boston-HumanLanguageIsTheNewUI-HowThisIsPossible-02-May-2025_pub</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/05/aicommunityconference-boston-humanlanguageisthenewui-howthisispossible-02-may-2025_pub.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-6767ce5d-c370-467a-8e69-e4b5ac5aca8b">Download</a></div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2025/05/02/talk-human-language-is-the-new-ui-how-does-this-work-at-the-ai-community-conference-aico-boston-event-aicoevents/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4200</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Human Language is the new UI. How is this possible? at Memphis Global AI Community Bootcamp event!</title>
		<link>https://blog.codingoutloud.com/2025/04/25/talk-human-language-is-the-new-ui-how-is-this-possible-at-memphis-global-ai-community-bootcamp-event/</link>
					<comments>https://blog.codingoutloud.com/2025/04/25/talk-human-language-is-the-new-ui-how-is-this-possible-at-memphis-global-ai-community-bootcamp-event/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Fri, 25 Apr 2025 18:39:47 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[AzureAI]]></category>
		<category><![CDATA[GenAI]]></category>
		<category><![CDATA[GlobalAIBootcamp]]></category>
		<category><![CDATA[GlobalAIBootcamp2025]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4189</guid>

					<description><![CDATA[Earlier today I spoke at the Memphis edition of the Global AI Bootcamp 2025 hosted by the Memphis Technology User Groups. My talk was &#8220;Human Language is the new UI. How is this possible?&#8221; and resources and a few notes follow. Thank you Douglas Starnes for organizing! It was similar to, but not identical to, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Earlier today I spoke at <a href="https://bit.ly/memaibootcamp25">the Memphis edition of the Global AI Bootcamp 2025 hosted by the Memphis Technology User Groups</a>. My talk was &#8220;<em>Human Language is the new UI. How is this possible?</em>&#8221; and resources and a few notes follow. Thank you <a href="https://www.meetup.com/members/9917104">Douglas Starnes</a> for organizing!  <small>It was similar to, but not identical to, the <a href="https://blog.codingoutloud.com/2025/04/11/talk-human-language-is-the-new-ui-how-is-this-possible-at-global-ai-bootcamp-2025-cleveland-edition/">recent talk</a> I gave. And next time it will be different again. <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></small></p>



<p class="wp-block-paragraph">This is from the <a href="https://funwithvectors.com">https://funwithvectors.com</a> app I used to show vectors in action:</p>



<p class="wp-block-paragraph">┃┃┃┃┃┃┃┃┃┃┃┃┃······· ⟪0.64⟫ → &#8216;doctor&#8217; vs &#8216;physician&#8217;<br />┃┃┃┃┃┃┃┃┃┃┃┃┃······· ⟪0.67⟫ → &#8216;doctor&#8217; vs &#8216;dr.&#8217;<br />┃┃┃┃┃┃┃┃┃┃·········· ⟪0.48⟫ → &#8216;physician&#8217; vs &#8216;dr.&#8217;</p>



<p class="wp-block-paragraph">The above is intended to illustrate the <a href="https://github.com/crankingai/azureaitraining/blob/main/semantic-closeness-not-transitive.svg"><em>non-transitive</em> nature</a> of the &#8220;nearness&#8221; of two vectors. Just because &#8220;doctor&#8221; &amp; &#8220;physician&#8221; are close and &#8220;doctor&#8221; &amp; &#8220;dr.&#8221; are close does NOT mean &#8220;dr.&#8221; &amp; &#8220;physician&#8221; are as close.</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/04/image-1.png"><img loading="lazy" width="1024" height="762" data-attachment-id="4192" data-permalink="https://blog.codingoutloud.com/2025/04/25/talk-human-language-is-the-new-ui-how-is-this-possible-at-memphis-global-ai-community-bootcamp-event/image-15/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/04/image-1.png" data-orig-size="1890,1408" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/04/image-1.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/04/image-1.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/04/image-1.png?w=1024" alt="" class="wp-image-4192" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/04/image-1.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2025/04/image-1.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/04/image-1.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/04/image-1.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/04/image-1.png?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2025/04/image-1.png 1890w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">Connect with Bill or other related resources:</h2>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://linkedin.com/in/billwilder" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-wordpress wp-block-social-link"><a href="https://blog.codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z"></path></svg><span class="wp-block-social-link-label screen-reader-text">WordPress</span></a></li>

<li class="wp-social-link wp-social-link-bluesky wp-block-social-link"><a href="https://bsky.app/profile/codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Bluesky</span></a></li>

<li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/crankingai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-meetup wp-block-social-link"><a href="https://www.meetup.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.24775,14.722a3.57032,3.57032,0,0,1-2.94457,3.52073,3.61886,3.61886,0,0,1-.64652.05634c-.07314-.0008-.10187.02846-.12507.09547A2.38881,2.38881,0,0,1,13.49453,20.094a2.33092,2.33092,0,0,1-1.827-.50716.13635.13635,0,0,0-.19878-.00408,3.191,3.191,0,0,1-2.104.60248,3.26309,3.26309,0,0,1-3.00324-2.71993,2.19076,2.19076,0,0,1-.03512-.30865c-.00156-.08579-.03413-.1189-.11608-.13493a2.86421,2.86421,0,0,1-1.23189-.56111,2.945,2.945,0,0,1-1.166-2.05749,2.97484,2.97484,0,0,1,.87524-2.50774.112.112,0,0,0,.02091-.16107,2.7213,2.7213,0,0,1-.36648-1.48A2.81256,2.81256,0,0,1,6.57673,7.58838a.35764.35764,0,0,0,.28869-.22819,4.2208,4.2208,0,0,1,6.02892-1.90111.25161.25161,0,0,0,.22023.0243,3.65608,3.65608,0,0,1,3.76031.90678A3.57244,3.57244,0,0,1,17.95918,8.626a2.97339,2.97339,0,0,1,.01829.57356.10637.10637,0,0,0,.0853.12792,1.97669,1.97669,0,0,1,1.27939,1.33733,2.00266,2.00266,0,0,1-.57112,2.12652c-.05284.05166-.04168.08328-.01173.13489A3.51189,3.51189,0,0,1,19.24775,14.722Zm-6.35959-.27836a1.6984,1.6984,0,0,0,1.14556,1.61113,3.82039,3.82039,0,0,0,1.036.17935,1.46888,1.46888,0,0,0,.73509-.12255.44082.44082,0,0,0,.26057-.44274.45312.45312,0,0,0-.29211-.43375.97191.97191,0,0,0-.20678-.063c-.21326-.03806-.42754-.0701-.63973-.11215a.54787.54787,0,0,1-.50172-.60926,2.75864,2.75864,0,0,1,.1773-.901c.1763-.535.414-1.045.64183-1.55913A12.686,12.686,0,0,0,15.85,10.47863a1.58461,1.58461,0,0,0,.04861-.87208,1.04531,1.04531,0,0,0-.85432-.83981,1.60658,1.60658,0,0,0-1.23654.16594.27593.27593,0,0,1-.36286-.03413c-.085-.0747-.16594-.15379-.24918-.23055a.98682.98682,0,0,0-1.33577-.04933,6.1468,6.1468,0,0,1-.4989.41615.47762.47762,0,0,1-.51535.03566c-.17448-.09307-.35512-.175-.53531-.25665a1.74949,1.74949,0,0,0-.56476-.2016,1.69943,1.69943,0,0,0-1.61654.91787,8.05815,8.05815,0,0,0-.32952.80126c-.45471,1.2557-.82507,2.53825-1.20838,3.81639a1.24151,1.24151,0,0,0,.51532,1.44389,1.42659,1.42659,0,0,0,1.22008.17166,1.09728,1.09728,0,0,0,.66994-.69764c.44145-1.04111.839-2.09989,1.25981-3.14926.11581-.28876.22792-.57874.35078-.86438a.44548.44548,0,0,1,.69189-.19539.50521.50521,0,0,1,.15044.43836,1.75625,1.75625,0,0,1-.14731.50453c-.27379.69219-.55265,1.38236-.82766,2.074a2.0836,2.0836,0,0,0-.14038.42876.50719.50719,0,0,0,.27082.57722.87236.87236,0,0,0,.66145.02739.99137.99137,0,0,0,.53406-.532q.61571-1.20914,1.228-2.42031.28423-.55863.57585-1.1133a.87189.87189,0,0,1,.29055-.35253.34987.34987,0,0,1,.37634-.01265.30291.30291,0,0,1,.12434.31459.56716.56716,0,0,1-.04655.1915c-.05318.12739-.10286.25669-.16183.38156-.34118.71775-.68754,1.43273-1.02568,2.152A2.00213,2.00213,0,0,0,12.88816,14.44366Zm4.78568,5.28972a.88573.88573,0,0,0-1.77139.00465.8857.8857,0,0,0,1.77139-.00465Zm-14.83838-7.296a.84329.84329,0,1,0,.00827-1.68655.8433.8433,0,0,0-.00827,1.68655Zm10.366-9.43673a.83506.83506,0,1,0-.0091,1.67.83505.83505,0,0,0,.0091-1.67Zm6.85014,5.22a.71651.71651,0,0,0-1.433.0093.71656.71656,0,0,0,1.433-.0093ZM5.37528,6.17908A.63823.63823,0,1,0,6.015,5.54483.62292.62292,0,0,0,5.37528,6.17908Zm6.68214,14.80843a.54949.54949,0,1,0-.55052.541A.54556.54556,0,0,0,12.05742,20.98752Zm8.53235-8.49689a.54777.54777,0,0,0-.54027.54023.53327.53327,0,0,0,.532.52293.51548.51548,0,0,0,.53272-.5237A.53187.53187,0,0,0,20.58977,12.49063ZM7.82846,2.4715a.44927.44927,0,1,0,.44484.44766A.43821.43821,0,0,0,7.82846,2.4715Zm13.775,7.60492a.41186.41186,0,0,0-.40065.39623.40178.40178,0,0,0,.40168.40168A.38994.38994,0,0,0,22,10.48172.39946.39946,0,0,0,21.60349,10.07642ZM5.79193,17.96207a.40469.40469,0,0,0-.397-.39646.399.399,0,0,0-.396.405.39234.39234,0,0,0,.39939.389A.39857.39857,0,0,0,5.79193,17.96207Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Meetup</span></a></li>

<li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://x.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Twitter</span></a></li>

<li class="wp-social-link wp-social-link-x wp-block-social-link"><a href="https://x.com/codingoutloud" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-youtube wp-block-social-link"><a href="https://www.youtube.com/@BostonAzureAI" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>



<h2 class="wp-block-heading">Links from the talk:</h2>



<ol class="wp-block-list">
<li>Cranking AI resources (including source to funwithvectors.com app) ➞ <a href="https://github.com/crankingai">https://github.com/crankingai</a></li>



<li>The funwithvectors.com app used in the talk ➞ <a href="https://funwithvectors.com">https://funwithvectors.com</a></li>



<li>The OpenAI Tokenizer shown in the talk ➞ <a href="https://platform.openai.com/tokenizer/">https://platform.openai.com/tokenizer/</a></li>
</ol>



<h2 class="wp-block-heading">The deck from the talk:</h2>



<ol class="wp-block-list">
<li>The deck from the talk ➞ <a href="https://blog.codingoutloud.com/wp-content/uploads/2025/04/memphisglobalai-humanlanguageisnewui-25-apr-2025_pub.pptx">https://blog.codingoutloud.com/wp-content/uploads/2025/04/memphisglobalai-humanlanguageisnewui-25-apr-2025_pub.pptx</a></li>
</ol>


]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2025/04/25/talk-human-language-is-the-new-ui-how-is-this-possible-at-memphis-global-ai-community-bootcamp-event/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4189</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/04/image-1.png?w=1024" medium="image" />
	</item>
		<item>
		<title>Talk: Human Language is the new UI. How is this possible? at Global AI Bootcamp 2025 &#8211; Cleveland edition</title>
		<link>https://blog.codingoutloud.com/2025/04/11/talk-human-language-is-the-new-ui-how-is-this-possible-at-global-ai-bootcamp-2025-cleveland-edition/</link>
					<comments>https://blog.codingoutloud.com/2025/04/11/talk-human-language-is-the-new-ui-how-is-this-possible-at-global-ai-bootcamp-2025-cleveland-edition/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Fri, 11 Apr 2025 15:00:19 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[AzureAI]]></category>
		<category><![CDATA[GenAI]]></category>
		<category><![CDATA[GlobalAIBootcamp]]></category>
		<category><![CDATA[GlobalAIBootcamp2025]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4175</guid>

					<description><![CDATA[Earlier today I spoke at the Cleveland OH edition of the Global AI Bootcamp 2025 hosted by Sam Nasr of the Cleveland Azure group. My talk was &#8220;Human Language is the new UI. How is this possible?&#8221; and resources and a few notes follow. This is from the https://funwithvectors.com app I used to show vectors [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Earlier today I spoke at the Cleveland OH edition of the Global AI Bootcamp 2025 hosted by <a href="https://linktr.ee/SamNasr">Sam Nasr</a> of the <a href="https://www.meetup.com/azure-cleveland-meetup/">Cleveland Azure</a> group. My talk was &#8220;<em>Human Language is the new UI. How is this possible?</em>&#8221; and resources and a few notes follow.</p>



<p class="wp-block-paragraph">This is from the <a href="https://funwithvectors.com">https://funwithvectors.com</a> app I used to show vectors in action:</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/04/image.png"><img loading="lazy" width="1024" height="880" data-attachment-id="4176" data-permalink="https://blog.codingoutloud.com/2025/04/11/talk-human-language-is-the-new-ui-how-is-this-possible-at-global-ai-bootcamp-2025-cleveland-edition/image-14/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/04/image.png" data-orig-size="1844,1586" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/04/image.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/04/image.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/04/image.png?w=1024" alt="" class="wp-image-4176" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/04/image.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2025/04/image.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/04/image.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/04/image.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/04/image.png?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2025/04/image.png 1844w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">Connect with Bill or other related resources:</h2>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://linkedin.com/in/billwilder" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-wordpress wp-block-social-link"><a href="https://blog.codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z"></path></svg><span class="wp-block-social-link-label screen-reader-text">WordPress</span></a></li>

<li class="wp-social-link wp-social-link-bluesky wp-block-social-link"><a href="https://bsky.app/profile/codingoutloud.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Bluesky</span></a></li>

<li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/crankingai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-meetup wp-block-social-link"><a href="https://www.meetup.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.24775,14.722a3.57032,3.57032,0,0,1-2.94457,3.52073,3.61886,3.61886,0,0,1-.64652.05634c-.07314-.0008-.10187.02846-.12507.09547A2.38881,2.38881,0,0,1,13.49453,20.094a2.33092,2.33092,0,0,1-1.827-.50716.13635.13635,0,0,0-.19878-.00408,3.191,3.191,0,0,1-2.104.60248,3.26309,3.26309,0,0,1-3.00324-2.71993,2.19076,2.19076,0,0,1-.03512-.30865c-.00156-.08579-.03413-.1189-.11608-.13493a2.86421,2.86421,0,0,1-1.23189-.56111,2.945,2.945,0,0,1-1.166-2.05749,2.97484,2.97484,0,0,1,.87524-2.50774.112.112,0,0,0,.02091-.16107,2.7213,2.7213,0,0,1-.36648-1.48A2.81256,2.81256,0,0,1,6.57673,7.58838a.35764.35764,0,0,0,.28869-.22819,4.2208,4.2208,0,0,1,6.02892-1.90111.25161.25161,0,0,0,.22023.0243,3.65608,3.65608,0,0,1,3.76031.90678A3.57244,3.57244,0,0,1,17.95918,8.626a2.97339,2.97339,0,0,1,.01829.57356.10637.10637,0,0,0,.0853.12792,1.97669,1.97669,0,0,1,1.27939,1.33733,2.00266,2.00266,0,0,1-.57112,2.12652c-.05284.05166-.04168.08328-.01173.13489A3.51189,3.51189,0,0,1,19.24775,14.722Zm-6.35959-.27836a1.6984,1.6984,0,0,0,1.14556,1.61113,3.82039,3.82039,0,0,0,1.036.17935,1.46888,1.46888,0,0,0,.73509-.12255.44082.44082,0,0,0,.26057-.44274.45312.45312,0,0,0-.29211-.43375.97191.97191,0,0,0-.20678-.063c-.21326-.03806-.42754-.0701-.63973-.11215a.54787.54787,0,0,1-.50172-.60926,2.75864,2.75864,0,0,1,.1773-.901c.1763-.535.414-1.045.64183-1.55913A12.686,12.686,0,0,0,15.85,10.47863a1.58461,1.58461,0,0,0,.04861-.87208,1.04531,1.04531,0,0,0-.85432-.83981,1.60658,1.60658,0,0,0-1.23654.16594.27593.27593,0,0,1-.36286-.03413c-.085-.0747-.16594-.15379-.24918-.23055a.98682.98682,0,0,0-1.33577-.04933,6.1468,6.1468,0,0,1-.4989.41615.47762.47762,0,0,1-.51535.03566c-.17448-.09307-.35512-.175-.53531-.25665a1.74949,1.74949,0,0,0-.56476-.2016,1.69943,1.69943,0,0,0-1.61654.91787,8.05815,8.05815,0,0,0-.32952.80126c-.45471,1.2557-.82507,2.53825-1.20838,3.81639a1.24151,1.24151,0,0,0,.51532,1.44389,1.42659,1.42659,0,0,0,1.22008.17166,1.09728,1.09728,0,0,0,.66994-.69764c.44145-1.04111.839-2.09989,1.25981-3.14926.11581-.28876.22792-.57874.35078-.86438a.44548.44548,0,0,1,.69189-.19539.50521.50521,0,0,1,.15044.43836,1.75625,1.75625,0,0,1-.14731.50453c-.27379.69219-.55265,1.38236-.82766,2.074a2.0836,2.0836,0,0,0-.14038.42876.50719.50719,0,0,0,.27082.57722.87236.87236,0,0,0,.66145.02739.99137.99137,0,0,0,.53406-.532q.61571-1.20914,1.228-2.42031.28423-.55863.57585-1.1133a.87189.87189,0,0,1,.29055-.35253.34987.34987,0,0,1,.37634-.01265.30291.30291,0,0,1,.12434.31459.56716.56716,0,0,1-.04655.1915c-.05318.12739-.10286.25669-.16183.38156-.34118.71775-.68754,1.43273-1.02568,2.152A2.00213,2.00213,0,0,0,12.88816,14.44366Zm4.78568,5.28972a.88573.88573,0,0,0-1.77139.00465.8857.8857,0,0,0,1.77139-.00465Zm-14.83838-7.296a.84329.84329,0,1,0,.00827-1.68655.8433.8433,0,0,0-.00827,1.68655Zm10.366-9.43673a.83506.83506,0,1,0-.0091,1.67.83505.83505,0,0,0,.0091-1.67Zm6.85014,5.22a.71651.71651,0,0,0-1.433.0093.71656.71656,0,0,0,1.433-.0093ZM5.37528,6.17908A.63823.63823,0,1,0,6.015,5.54483.62292.62292,0,0,0,5.37528,6.17908Zm6.68214,14.80843a.54949.54949,0,1,0-.55052.541A.54556.54556,0,0,0,12.05742,20.98752Zm8.53235-8.49689a.54777.54777,0,0,0-.54027.54023.53327.53327,0,0,0,.532.52293.51548.51548,0,0,0,.53272-.5237A.53187.53187,0,0,0,20.58977,12.49063ZM7.82846,2.4715a.44927.44927,0,1,0,.44484.44766A.43821.43821,0,0,0,7.82846,2.4715Zm13.775,7.60492a.41186.41186,0,0,0-.40065.39623.40178.40178,0,0,0,.40168.40168A.38994.38994,0,0,0,22,10.48172.39946.39946,0,0,0,21.60349,10.07642ZM5.79193,17.96207a.40469.40469,0,0,0-.397-.39646.399.399,0,0,0-.396.405.39234.39234,0,0,0,.39939.389A.39857.39857,0,0,0,5.79193,17.96207Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Meetup</span></a></li>

<li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://x.com/bostonazureai" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Twitter</span></a></li>

<li class="wp-social-link wp-social-link-x wp-block-social-link"><a href="https://x.com/codingoutloud" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-youtube wp-block-social-link"><a href="https://www.youtube.com/@BostonAzureAI" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>



<h2 class="wp-block-heading">Links from the talk:</h2>



<ol class="wp-block-list">
<li>Cranking AI resources (including source to funwithvectors.com app) ➞ <a href="https://github.com/crankingai">https://github.com/crankingai</a></li>



<li>The funwithvectors.com app used in the talk ➞ <a href="https://funwithvectors.com">https://funwithvectors.com</a></li>



<li>The OpenAI Tokenizer shown in the talk ➞ <a href="https://platform.openai.com/tokenizer/">https://platform.openai.com/tokenizer/</a></li>
</ol>



<h2 class="wp-block-heading">The deck from the talk:</h2>



<ol class="wp-block-list">
<li>The deck from the talk ➞ </li>
</ol>





<div class="wp-block-file"><a id="wp-block-file--media-21238aae-0189-4466-a79b-8f2a565d40f7" href="https://blog.codingoutloud.com/wp-content/uploads/2025/04/clevelandazureglobalai-humanlanguageisnewui-11-apr-2025_pub.pptx">ClevelandAzureGlobalAI-HumanLanguageIsNewUI-11-Apr-2025_pub</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/04/clevelandazureglobalai-humanlanguageisnewui-11-apr-2025_pub.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-21238aae-0189-4466-a79b-8f2a565d40f7">Download</a></div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2025/04/11/talk-human-language-is-the-new-ui-how-is-this-possible-at-global-ai-bootcamp-2025-cleveland-edition/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4175</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/04/image.png?w=1024" medium="image" />
	</item>
		<item>
		<title>Talk: Boston Code Camp 38 – Let&#8217;s Build a Goal-Oriented AI Agent Using Semantic Kernel</title>
		<link>https://blog.codingoutloud.com/2025/03/29/talk-boston-code-camp-38-lets-build-a-goal-oriented-ai-agent-using-semantic-kernel/</link>
					<comments>https://blog.codingoutloud.com/2025/03/29/talk-boston-code-camp-38-lets-build-a-goal-oriented-ai-agent-using-semantic-kernel/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sat, 29 Mar 2025 17:08:56 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Azure OpenAI]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[GitHub Copilot]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[copilot]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[technology]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4152</guid>

					<description><![CDATA[29-Mar-2025 Today I attended and contributed a talk to the Boston Code Camp 38 (yes, impressively, the 38th edition of this event). I made the trip with Maura (she gave a talk combining Cryptocurrency And Agentic AI) and Kevin (he gave a talk on Top 10 AI Security Risks). and we got to hang out with and [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">29-Mar-2025</p>



<p class="wp-block-paragraph">Today I attended and contributed a talk to the <a href="https://www.bostoncodecamp.com/CC38/Sessions">Boston Code Camp 38</a> (yes, impressively, the <strong>38th edition</strong> of this event). I made the trip with <a href="https://x.com/squdgy">Maura</a> (she gave a talk combining <a href="https://www.bostoncodecamp.com/CC38/Sessions">Cryptocurrency And Agentic AI</a>) and Kevin (he gave a talk on <a href="https://www.bostoncodecamp.com/CC38/Sessions">Top 10 AI Security Risks</a>). and we got to hang out with and chat with so many cool people from the Boston technology community.</p>



<figure class="wp-block-image size-large is-resized"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/03/img_4926.jpeg"><img loading="lazy" width="764" height="1023" data-attachment-id="4154" data-permalink="https://blog.codingoutloud.com/2025/03/29/talk-boston-code-camp-38-lets-build-a-goal-oriented-ai-agent-using-semantic-kernel/img_4926/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/03/img_4926.jpeg" data-orig-size="2304,3088" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 12 Pro&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1743244662&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;2.71&quot;,&quot;iso&quot;:&quot;200&quot;,&quot;shutter_speed&quot;:&quot;0.016666666666667&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;,&quot;latitude&quot;:&quot;42.484541666667&quot;,&quot;longitude&quot;:&quot;-71.191391666667&quot;}" data-image-title="IMG_4926" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/03/img_4926.jpeg?w=224" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/03/img_4926.jpeg?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/03/img_4926.jpeg?w=764" alt="" class="wp-image-4154" style="width:112px;height:auto" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/03/img_4926.jpeg?w=764 764w, https://blog.codingoutloud.com/wp-content/uploads/2025/03/img_4926.jpeg?w=1528 1528w, https://blog.codingoutloud.com/wp-content/uploads/2025/03/img_4926.jpeg?w=112 112w, https://blog.codingoutloud.com/wp-content/uploads/2025/03/img_4926.jpeg?w=224 224w, https://blog.codingoutloud.com/wp-content/uploads/2025/03/img_4926.jpeg?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/03/img_4926.jpeg?w=1440 1440w" sizes="(max-width: 764px) 100vw, 764px" /></a></figure>



<p class="wp-block-paragraph">The description of my <em><strong>Let&#8217;s Build a Goal-Oriented AI Agent Using Semantic Kernel</strong> </em>talk follows, followed by a couple of relevant links, then the slide deck.</p>



<p class="wp-block-paragraph"><em>Imagine an AI not limited to answering individual questions or chatting, but actively working towards a goal you&#8217;ve assigned to it.<br /><br />In this session, we&#8217;ll explore the building of an AI Agent – an autonomous actor that can execute tasks and achieve objectives on your behalf.<br /><br />Along the way we will demystify:<br /><br />1. <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> LLMs &#8211; What is a Large Language Model (LLM)<br />2. <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f4da.png" alt="📚" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Tokens &#8211; What is a token and what are its roles<br />3. <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Embeddings &#8211; What are embedding models and vectors and what can they do for us<br />4. <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f3af.png" alt="🎯" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Prompts &#8211; Beyond the basics<br />5. <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2699.png" alt="⚙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Tools &#8211; How can these be created and accessed using Semantic Kernel<br />6. <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f916.png" alt="🤖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Agents &#8211; Let&#8217;s put all these concepts to work!<br /><br />The end result will be the core (or perhaps &#8216;kernel&#8217; <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" />) of an AI Agent &#8211; your virtual coworker willing to handle tasks on your behalf without. It will be built in C# using the open source, cross-platform Semantic Kernel library.<br /><br />This talk assumes user-level familiarity with LLMs like ChatGPT or Microsoft Copilot and basic prompting. Anything else will be explained.</em></p>



<p class="wp-block-paragraph">(<em><a href="https://www.linkedin.com/posts/roberthurlbut_boscc-ugcPost-7311739896119939072-qBm2?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAA88UIBeoI4OWf9IMnXRPWtKKLnNZHMWsk">stole photo from Robert Hurlbut</a></em>)</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/03/image.png"><img loading="lazy" width="1024" height="599" data-attachment-id="4157" data-permalink="https://blog.codingoutloud.com/2025/03/29/talk-boston-code-camp-38-lets-build-a-goal-oriented-ai-agent-using-semantic-kernel/image-13/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/03/image.png" data-orig-size="2048,1198" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/03/image.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/03/image.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/03/image.png?w=1024" alt="" class="wp-image-4157" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/03/image.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2025/03/image.png 2048w, https://blog.codingoutloud.com/wp-content/uploads/2025/03/image.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/03/image.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/03/image.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/03/image.png?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">A couple of prominent links from the talk are:</p>



<p class="wp-block-paragraph">You can find the <strong><a href="https://funwithvectors.com/">Fun with Vectors</a></strong> tool here: <a href="https://funwithvectors.com/">https://funwithvectors.com/</a></p>



<p class="wp-block-paragraph">You can find the <a href="https://platform.openai.com/tokenizer"><strong>OpenAI Tokenizer</strong></a> tool here: <a href="https://platform.openai.com/tokenizer">https://platform.openai.com/tokenizer</a></p>



<p class="wp-block-paragraph">Download the slides here:</p>



<div class="wp-block-file"><a id="wp-block-file--media-bca36db1-ed1a-43b2-a234-543a71da62c1" href="https://blog.codingoutloud.com/wp-content/uploads/2025/03/bostoncodecamp38-essentialagency-agoalandsometools-28-mar-2025_pub.pptx">BostonCodeCamp38-EssentialAgency-AGoalAndSomeTools-28-Mar-2025_pub</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/03/bostoncodecamp38-essentialagency-agoalandsometools-28-mar-2025_pub.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-bca36db1-ed1a-43b2-a234-543a71da62c1">Download</a></div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2025/03/29/talk-boston-code-camp-38-lets-build-a-goal-oriented-ai-agent-using-semantic-kernel/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4152</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/03/img_4926.jpeg?w=764" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/03/image.png?w=1024" medium="image" />
	</item>
		<item>
		<title>Boston Azure AI: Boston Azure is changing calls signs</title>
		<link>https://blog.codingoutloud.com/2025/01/19/boston-azure-ai-boston-azure-is-changing-calls-signs/</link>
					<comments>https://blog.codingoutloud.com/2025/01/19/boston-azure-ai-boston-azure-is-changing-calls-signs/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sun, 19 Jan 2025 21:38:00 +0000</pubDate>
				<category><![CDATA[Azure OpenAI]]></category>
		<category><![CDATA[BostonAzure.org web site dev]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[technology]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4103</guid>

					<description><![CDATA[I was in the audience at the Microsoft PDC on Nov 3, 2008 where Windows Azure was unveiled on stage by Ray Ozzie in the conference's opening keynote. At the 16:45 mark he graciously tipped his hat to Jeff Bezos and the AWS team, then announced Windows Azure - a platform with two services: Azure Storage (Blobs, Tables, Queues) and Cloud Services (Web Roles, Worker Roles) - all with the illusion of infinite scale. Later that same day I got hands-on Windows Azure coding experience in a special booth staffed by Microsoft engineers (and the engineer helping me was Sriram Krishnan (@sriramk)). I got to test drive those new super-cool Azure services. From my perspective this was the beginning of the conversation about Platform as a Service (PaaS) in the cloud - and the start of horizontal scale as a mainstream architecture pattern. What an event! Around 15 months from this initial announcement, on Feb 1, 2010, Windows Azure reached "GA" (general availability).

In between the initial announcement in 2008 and the GA date in 2010, Boston Azure was born. On Oct 22, 2009, Boston Azure debuted as the first community group of its kind - the first one dedicated to learning about the Azure platform.

This post is an update on that journey. Like so much of the rest of the technology world, we have the AI bug too. Accordingly, after 15 years as Boston Azure we are changing calls signs to Boston Azure AI.

Simultaneously we are attempting some ambitious in-person training events (see bottom of post for more on this).]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I was in the audience at the Microsoft PDC on Nov 3, 2008 where Windows Azure was unveiled on stage by <a href="https://en.wikipedia.org/wiki/Ray_Ozzie">Ray Ozzie</a> in the conference&#8217;s <a href="https://learn.microsoft.com/en-us/shows/pdc-pdc08/kyn01">opening keynote</a>. At the 16:45 mark he graciously tipped his hat to Jeff Bezos and the AWS team, then announced Windows Azure &#8211; a platform with two services: Azure Storage (Blobs, Tables, Queues) and Cloud Services (Web Roles, Worker Roles) &#8211; all with the illusion of infinite scale. Later that same day I got hands-on Windows Azure coding experience in a special booth staffed by Microsoft engineers (and it turns out that the impressive engineer helping me was <a href="https://en.wikipedia.org/wiki/Sriram_Krishnan">Sriram Krishnan</a> (<a href="https://x.com/sriramk">@sriramk</a>)). I got to test drive those new super-cool Azure services. From my perspective this was the beginning of the conversation about Platform as a Service (PaaS) in the cloud &#8211; and the start of horizontal scale as a mainstream architecture pattern. What an event! Around 15 months from this initial announcement, on Feb 1, 2010, <a href="https://blogs.microsoft.com/blog/2010/02/01/windows-azure-general-availability">Windows Azure reached &#8220;GA&#8221; (general availability)</a>.</p>



<p class="wp-block-paragraph">In between the initial announcement in 2008 and the GA date in 2010, Boston Azure was born. On <a href="https://web.archive.org/web/20091011230253/http://bostonazure.org/">Oct 22, 2009, Boston Azure debuted</a> as the first community group of its kind &#8211; the first one dedicated to learning about the Azure platform. As of this writing, it has around 3.500 members according to Meetup.com. </p>



<p class="wp-block-paragraph">(For a long time after we started hosting events we had people attending other events see our signage and curiously pop their head in to ask &#8220;What&#8217;s Azure?&#8221; When I&#8217;d answer &#8220;that&#8217;s Microsoft&#8217;s public cloud platform&#8221; they would very often react with a puzzled look and a follow-up question: &#8220;Cloud? What&#8217;s a cloud?&#8221; So yes, those were early days.)</p>



<p class="wp-block-paragraph">That first event was held at the Microsoft NERD building in Cambridge MA. <a href="https://www.linkedin.com/in/mikewerner/">Mike Werner</a> said a few words, I gave a short talk about cloud benefits and the coming opportunity (and somehow managed to reference &#8220;the Internet is &#8230; <a href="https://en.wikipedia.org/wiki/Series_of_tubes">a series of tubes</a>&#8221; comment by Alaska Senator Ted Stevens) and <a href="https://www.linkedin.com/in/softwarenerd">Brian Lambert</a> (<a href="https://x.com/softwarenerd">@softwarenerd</a>) was the featured speaker who talked about queuing patterns in Azure Storage which was part of my journey of getting interested in cloud-relevant patterns (which culminated in me writing a book &#8211; <a href="https://bit.ly/billbook">Cloud Architecture Patterns</a> &#8211; a few years later). <a href="https://www.linkedin.com/in/michael-stiefel-82a160/">Michael Stiefel</a> was Boston Azure&#8217;s second-ever speaker.</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Heady days from 2008 to 2010!</p>



<p class="wp-block-paragraph"><strong>The times they are a-changin&#8217;</strong></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">&#8220;You better start swimmin&#8217; or you&#8217;ll sink like a stone, for the times they are a-changin&#8217;.&#8221; &#8211;<strong>Bob Dylan</strong> (<a href="https://www.youtube.com/watch?v=DL_kPNFL3dY">https://www.youtube.com/watch?v=DL_kPNFL3dY</a> and do yourself a favor and check out the movie <a href="https://www.imdb.com/title/tt11563598/">A Complete Unknown</a>).</p>
</blockquote>



<p class="wp-block-paragraph">A few things have changed since then. The PDC conference is no longer &#8211; though content has been subsumed into the Build conference. Windows Azure is now just Azure. There are <a href="https://azure.microsoft.com/en-us/products/">hundreds</a> of Azure services, not two. And Ray Ozzie is no longer at Microsoft (but has the <a href="https://blues.com/">Blues</a> in the best sense of the word).</p>



<p class="wp-block-paragraph">And Boston Azure is still at it. We&#8217;ve delivered more than 150 free events and still going strong. Now also delivering events virtually since the <em>you-know-what</em> made in-person events so difficult. Back in the early days <a href="https://www.linkedin.com/in/georgebabey/">George Babey</a> and <a href="https://www.linkedin.com/in/nazikhuq/">Nazik Huq</a> signed on to help me run things. These days &#8211; and for some time now &#8211; our leadership team is <a href="https://www.linkedin.com/in/jason-a-haley/">Jason Haley</a> (<a href="https://twitter.com/haleyjason" target="_blank" rel="noreferrer noopener">@haleyjason</a>), <a href="https://www.linkedin.com/in/vkolesnikova/">Veronika Kolesnikova</a> (<a href="https://twitter.com/veronika_dev1" target="_blank" rel="noreferrer noopener">@veronika_dev1</a>), and me.</p>



<p class="wp-block-paragraph">But technology continues to evolve, and we need to evolve too. Today <strong>Artificial Intelligence</strong> is playing a role similar to the role played by public cloud platforms back 15 years ago: everything is different so what does that mean? what will come out next? what does this make possible? how can I make use of this? how do I learn this stuff? This is exciting, right??</p>



<p class="wp-block-paragraph"><strong>Changing Call Sign to Boston Azure AI</strong></p>



<p class="wp-block-paragraph">With no end in sight for AI to slow down, the three of us running Boston Azure &#8211; <a href="https://www.linkedin.com/in/vkolesnikova/">Veronika Kolesnikova</a> (<a href="https://twitter.com/veronika_dev1" target="_blank" rel="noreferrer noopener">@veronika_dev1</a>), <a href="https://www.linkedin.com/in/jason-a-haley/">Jason Haley</a> (<a href="https://twitter.com/haleyjason" target="_blank" rel="noreferrer noopener">@haleyjason</a>), and <a href="https://www.linkedin.com/in/billwilder/">myself</a> (<a href="https://twitter.com/codingoutloud" target="_blank" rel="noreferrer noopener">@codingoutloud</a>) &#8211; have decided to update our community group for 2025 by changing call signs &#8211; Boston Azure is now <strong>Boston Azure AI</strong>. </p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe class="youtube-player" width="625" height="352" src="https://www.youtube.com/embed/OsLcfO9sOQw?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en&#038;autohide=2&#038;start=93&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe>
</div></figure>



<p class="wp-block-paragraph">We&#8217;ve been emphasizing AI topics for a while already. Veronika is a long-time Microsoft MVP for AI, Jason is a long-time Microsoft MVP for Azure who last year was reclassified to the AI category, and myself as a long-time Azure MVP was re-classified last year as Dev Tools (presumably due to giving so many talks on GitHub Copilot, the AI coding assistant, in the prior year), so this emphasis also aligns with where the group&#8217;s leadership is spending time. At any rate, this rename should at least help us more clearly communicate to the community what we intend to offer.</p>



<p class="wp-block-paragraph"><strong>Where to Find Boston Azure AI</strong></p>



<p class="wp-block-paragraph">With the rename, we are retooling some of our properties. Some are new, some are renamed from bostonazure version. You can find us at the following destinations:</p>



<ul class="wp-block-list">
<li>X/Twitter: <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f426.png" alt="🐦" class="wp-smiley" style="height: 1em; max-height: 1em;" />&nbsp;<a href="https://x.com/bostonazureai">https://x.com/</a><strong><a href="https://x.com/bostonazureai">bostonazureai</a> </strong>&#8211; renamed, so if you followed before you are still following</li>



<li>Bluesky: <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f7e6.png" alt="🟦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://bsky.app/profile/bostonazureai.org">https://bsky.app/profile/<strong>bostonazureai.org</strong></a> &#8211; yeah, we did the fancy domain version <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>



<li>YouTube: <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f3a5.png" alt="🎥" class="wp-smiley" style="height: 1em; max-height: 1em;" />&nbsp;<a href="https://www.youtube.com/@bostonazureai">https://www.youtube.com/<strong>@bostonazureai</strong></a> (renamed) &#8211; we have more than 50 videos posted </li>



<li>GitHub: <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" />&nbsp;<a href="https://github.com/bostonazureai">https://github.com/<strong>bostonazureai</strong></a> &#8211; created a new GitHub Organization for this and will be migrating over the old content, including the C# + Semantic Kernel + Azure OpenAI hands-on workshop materials shortly (see bottom of this post for more &#8211; we are running an event on Jan 31)</li>



<li>Meetup: <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" />&nbsp;<a href="https://meetup.com/bostonazureai">https://meetup.com/<strong>bostonazureai</strong></a> &#8211; renamed, so if you were a member before you are still a member</li>



<li>Website: <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f310.png" alt="🌐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://www.meetup.com/bostonazureai/">https://<strong>bostonazureai.org</strong></a> &#8211; coming soon</li>



<li>Email: <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2709.png" alt="✉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>hello@bostonazureai.org</strong> &#8211; we used a gmail address for the first 15 years, but now we are getting fancy with the bostonazureai.org domain. <strong><em>Hit us up if you want to offer a talk (in person or virtual) or have a suggested topic for us!</em></strong></li>
</ul>



<p class="wp-block-paragraph">And, fittingly, we also have a shiny new <a href="https://github.com/BostonAzureAI/brand/blob/main/bostonazureai-logo2.png">logo</a>.</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2025/01/bostonazureai-logo.png"><img loading="lazy" width="625" height="625" data-attachment-id="4117" data-permalink="https://blog.codingoutloud.com/bostonazureai-logo/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2025/01/bostonazureai-logo.png" data-orig-size="2048,2048" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="bostonazureai-logo" data-image-description="" data-image-caption="&lt;p&gt;Boston Azure AI&lt;/p&gt;
" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2025/01/bostonazureai-logo.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2025/01/bostonazureai-logo.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2025/01/bostonazureai-logo.png?w=625" alt="The Boston Azure AI logo shows Boston skyline within a cloud outline and text Boston Azure AI" class="wp-image-4117" srcset="https://blog.codingoutloud.com/wp-content/uploads/2025/01/bostonazureai-logo.png?w=625 625w, https://blog.codingoutloud.com/wp-content/uploads/2025/01/bostonazureai-logo.png?w=1250 1250w, https://blog.codingoutloud.com/wp-content/uploads/2025/01/bostonazureai-logo.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2025/01/bostonazureai-logo.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2025/01/bostonazureai-logo.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2025/01/bostonazureai-logo.png?w=1024 1024w" sizes="(max-width: 625px) 100vw, 625px" /></a><figcaption class="wp-element-caption">Boston Azure AI</figcaption></figure>



<p class="wp-block-paragraph"><strong>Hands-on AI Coding Workshop: C#, .NET 9, and Semantic Kernel on Azure OpenAI</strong></p>



<p class="wp-block-paragraph">In another evolution, Jason Haley and I are experimenting with offering Boston Azure AI in-person hands-on AI coding workshops <em>during the workday</em>. The community events we&#8217;ve historically offered have been only nights and weekends &#8211; non-working hours. We&#8217;ll see how this works out. We have our second such in-person during-the-workday hands-on coding workshop focused on using C#, .NET 9, and Semantic Kernel on Azure OpenAI coming up on Fri Jan 31, 2025 held in Cambridge MA. You can sign up <a href="https://www.meetup.com/bostonazureai/events/305679069/">here</a>. Free.</p>



<p class="wp-block-paragraph">And we have a weekend event on the schedule to participate in <s>Boston Azure edition</s> <strong>Boston Azure AI edition</strong> of the Global AI Bootcamp in March. You can sign up <a href="https://www.meetup.com/bostonazureai/events/304784232/">here</a>. Free.</p>



<p class="wp-block-paragraph">Buckle in. Looking forward to an exciting next few years!</p>



<p class="wp-block-paragraph"><img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f916.png" alt="🤖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/2601.png" alt="☁" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2025/01/19/boston-azure-ai-boston-azure-is-changing-calls-signs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4103</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2025/01/bostonazureai-logo.png?w=625" medium="image">
			<media:title type="html">The Boston Azure AI logo shows Boston skyline within a cloud outline and text Boston Azure AI</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: AI for Application Architects</title>
		<link>https://blog.codingoutloud.com/2024/12/19/talk-ai-for-application-architects/</link>
					<comments>https://blog.codingoutloud.com/2024/12/19/talk-ai-for-application-architects/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Thu, 19 Dec 2024 22:34:45 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[artificial-intelligence]]></category>
		<category><![CDATA[Azure OpenAI]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[gpt]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[Semantic Kernel]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4091</guid>

					<description><![CDATA[Last night I was guest speaker at the Boston .NET Architecture community group. I learned they are now 21-year-olds. That&#8217;s a long track record! The audience had some insightful questions, which I always appreciate. My talk focused on the perspective of the application architect &#8211; and not the data scientist, for example &#8211; in how [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><a href=""></a></p>



<p class="wp-block-paragraph">Last night I was guest speaker at the <a href="https://www.meetup.com/boston-net-architecture-group/events/304819417/">Boston .NET Architecture community group</a>. I learned they are now 21-year-olds. That&#8217;s a long track record! The audience had some insightful questions, which I always appreciate.</p>



<p class="wp-block-paragraph">My talk focused on the perspective of the application architect &#8211; and not the data scientist, for example &#8211; in how the process works and what are some areas I would need to dig into.</p>



<p class="wp-block-paragraph">Here&#8217;s the alternative talk description I offered a few days ago:</p>



<p class="wp-block-paragraph"><em>Interested in understanding how LLMs are created and how they work internally, including all the in-depth data science and machine learning techniques? If so, then this is not that talk. Rather, this talk steps back to treat the LLM as a black box. And then steps further back to treat the LLM as a part of a cohesive system offered over the internet through an API. It is from that perspective that we begin our exploration.<br /><br />How exactly does an application make use of LLM services? Is this thing secure? Is it private? Am I operating according to Responsible AI principles? (Oh, and what are Responsible AI principles?) Is it accurate? Is it portable? And of course, when does it stop being a Chatbot and start being an Agent?<br /><br />These are some of the key types of application architecture considerations we will discuss as we start with “the humble chatbot demo” then turn it into an Agent and then see what it would take to put that into production.</em></p>



<p class="wp-block-paragraph">The deck is here: </p>



<div data-wp-interactive="core/file" class="wp-block-file"><object data-wp-bind--hidden="!state.hasPdfPreview" hidden class="wp-block-file__embed" data="https://blog.codingoutloud.com/wp-content/uploads/2024/12/boston-.net-architecture-architecting-ai-applications-18-dec-2024-published-2.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Embed of Boston-.NET-Architecture--Architecting-AI-Applications-18-Dec-2024-published."></object><a id="wp-block-file--media-ecfb83e4-04ba-42fe-9332-81da0c8c7461" href="https://blog.codingoutloud.com/wp-content/uploads/2024/12/boston-.net-architecture-architecting-ai-applications-18-dec-2024-published-2.pdf">Boston-.NET-Architecture&#8211;Architecting-AI-Applications-18-Dec-2024-published</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/12/boston-.net-architecture-architecting-ai-applications-18-dec-2024-published-2.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-ecfb83e4-04ba-42fe-9332-81da0c8c7461">Download</a></div>



<p class="wp-block-paragraph">The recording is here: <a href="https://youtu.be/UJutO4eFLZg">https://youtu.be/UJutO4eFLZg</a></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2024/12/19/talk-ai-for-application-architects/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4091</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Building an Agent with Semantic Kernel</title>
		<link>https://blog.codingoutloud.com/2024/11/23/talk-building-an-agent-with-semantic-kernel/</link>
					<comments>https://blog.codingoutloud.com/2024/11/23/talk-building-an-agent-with-semantic-kernel/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sat, 23 Nov 2024 18:54:34 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Agents]]></category>
		<category><![CDATA[AI Agents]]></category>
		<category><![CDATA[Azure OpenAI]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[OpenAI]]></category>
		<category><![CDATA[Semantic Kernel]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4079</guid>

					<description><![CDATA[Today I attended and spoke at the 37th Boston Code Camp. The rainy weather was just enough to maximize attendance. There was an incredibly energetic group of inquisitive people at my talk which was on how you can give your AI LLM a goal and some tools and let it figure out how to move [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Today I attended and spoke at the <a href="https://www.bostoncodecamp.com/CC37/Sessions">37th Boston Code Camp</a>. The rainy weather was just enough to maximize attendance. </p>



<p class="wp-block-paragraph">There was an incredibly energetic group of inquisitive people at my talk which was on how you can give your AI LLM a goal and some tools and let it figure out how to move ahead! Lots of questions came from this highly engaged group.</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/11/image000000.jpg"><img loading="lazy" width="1024" height="768" data-attachment-id="4083" data-permalink="https://blog.codingoutloud.com/2024/11/23/talk-building-an-agent-with-semantic-kernel/image000000/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2024/11/image000000.jpg" data-orig-size="1600,1200" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image000000" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2024/11/image000000.jpg?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2024/11/image000000.jpg?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2024/11/image000000.jpg?w=1024" alt="" class="wp-image-4083" srcset="https://blog.codingoutloud.com/wp-content/uploads/2024/11/image000000.jpg?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2024/11/image000000.jpg?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2024/11/image000000.jpg?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2024/11/image000000.jpg?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2024/11/image000000.jpg?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2024/11/image000000.jpg 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">The details of my talk follow.</p>



<h2 class="wp-block-heading">Building an AI Agent with Semantic Kernel</h2>



<p class="wp-block-paragraph"><em>The classic approach to managing complexity is through abstraction. While also useful in the physical world (you can know how to use a &#8220;car&#8221; without needing to know about all the parts under the hood), it is an essential tool in software.<br /><br />To program against the current generative AI models you can use the model&#8217;s native abstraction (their SDK). But there are other options too, one of which is to use Semantic Kernel, an open-source library from Microsoft.<br /><br />In this talk we will understand the first-class abstractions representable using Semantic Kernel, from the granular Function and building up to an Agent, and a couple of steps in between.<br /><br />This talk will be a mix of explaining AI-relevant and Semantic Kernel-relevant topics + some explanatory sample code. We may also sneak in a little Prompty.<br /><br />By the end of this talk you will appreciate why you might (or might not) want to build your AI solution with Semantic Kernel (SK) and how you would approach it.<br /><br />This talk will assume you have used LLMs (like ChatGPT or others) and know the very basics of iterating on prompts and experiencing that GenAI systems have an ability to make decisions from human language. Anything beyond this will be explained in the talk.</em></p>



<p class="wp-block-paragraph">The sample application used in the talk can be found here:</p>



<p class="wp-block-paragraph"><a href="https://github.com/semantickerneldev/icon-agent">https://github.com/semantickerneldev/icon-agent</a></p>



<p class="wp-block-paragraph">The deck used in the talk can be found here:</p>



<figure data-carousel-extra='{&quot;blog_id&quot;:490667,&quot;permalink&quot;:&quot;https://blog.codingoutloud.com/2024/11/23/talk-building-an-agent-with-semantic-kernel/&quot;}'  class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"></figure>



<div class="wp-block-file"><a id="wp-block-file--media-8f39bdb9-c844-476f-a1f8-51e224e9c0b0" href="https://blog.codingoutloud.com/wp-content/uploads/2024/11/ai-agent-semantickernel-bostoncodecamp-23-nov-2024.pptx">AI-Agent-SemanticKernel-BostonCodeCamp-23-Nov-2024</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/11/ai-agent-semantickernel-bostoncodecamp-23-nov-2024.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-8f39bdb9-c844-476f-a1f8-51e224e9c0b0">Download</a></div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2024/11/23/talk-building-an-agent-with-semantic-kernel/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4079</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2024/11/image000000.jpg?w=1024" medium="image" />
	</item>
		<item>
		<title>Talk: Hello Semantic Kernel and Giving your AI a Goal</title>
		<link>https://blog.codingoutloud.com/2024/11/12/talk-hello-semantic-kernel-and-giving-your-ai-a-goal/</link>
					<comments>https://blog.codingoutloud.com/2024/11/12/talk-hello-semantic-kernel-and-giving-your-ai-a-goal/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Wed, 13 Nov 2024 02:14:10 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Azure OpenAI]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[enterprise-architecture]]></category>
		<category><![CDATA[Semantic Kernel]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4068</guid>

					<description><![CDATA[At Virtual Boston Azure tonight Jason Haley and I teamed up to talk about ways Gen AI can be integrated with your existing systems. In the case of existing enterprise software systems, many are written in C# and Java, both languages supported by Semantic Kernel. Semantic Kernel also supports Python, which is a great language, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">At <a href="https://www.meetup.com/bostonazure/events/304405840/">Virtual Boston Azure</a> tonight Jason Haley and I teamed up to talk about ways Gen AI can be integrated with your existing systems. In the case of existing enterprise software systems, many are written in C# and Java, both languages supported by Semantic Kernel. Semantic Kernel also supports Python, which is a great language, but all things being equal using a language and technology stack already familiar to your team is also attractive. So considering a library like Semantic Kernel is a productive angle when looking across the spectrum of AI tools.</p>



<p class="wp-block-paragraph">Much of my talk was focused on how to use Semantic Kernel (in C# and .NET 8) to give your AI a goal and have it solve it. The deck I presented and a recording of the talk follow. &lt;I will likely update this post to link to code used in demo and as other artifacts become available&gt;</p>



<div class="wp-block-file"><a id="wp-block-file--media-5f267cdd-1871-4c89-b5e7-068ebed1d1ea" href="https://blog.codingoutloud.com/wp-content/uploads/2024/11/hello-semantickernel-bostonazure-12-nov-2024.pptx">Hello-SemanticKernel-BostonAzure-12-Nov-2024</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/11/hello-semantickernel-bostonazure-12-nov-2024.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-5f267cdd-1871-4c89-b5e7-068ebed1d1ea">Download</a></div>



<p class="wp-block-paragraph"></p>





<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe class="youtube-player" width="625" height="352" src="https://www.youtube.com/embed/qiBtBEGnnBc?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe>
</div></figure>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2024/11/12/talk-hello-semantic-kernel-and-giving-your-ai-a-goal/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4068</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Season of AI at Boston Azure</title>
		<link>https://blog.codingoutloud.com/2024/06/25/talk-season-of-ai-at-boston-azure/</link>
					<comments>https://blog.codingoutloud.com/2024/06/25/talk-season-of-ai-at-boston-azure/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Tue, 25 Jun 2024 22:33:14 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Boston Azure User Group]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4041</guid>

					<description><![CDATA[Boston Azure held a virtual event to review highlights from Microsoft Build 2024.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Last night at <a href="https://www.meetup.com/bostonazure/events/301201162/">Boston Azure</a> I teamed up with Jason Haley to cover the current Azure AI topics from the Microsoft-created <strong>Season of Azure</strong> program. An engaged group showed up at NERD in Cambridge to hear all about it.</p>



<p class="wp-block-paragraph">Jason Haley&#8217;s code and materials are here: <a href="https://jasonhaley.com/2024/06/25/boston-azure-june-2024/">https://jasonhaley.com/2024/06/25/boston-azure-june-2024/</a></p>



<p class="wp-block-paragraph">For my part, I pulled content from <a href="https://github.com/microsoft/community-content/blob/main/SeasonOfAI/generative-ai-dotnet-devs.md">Generative AI for .NET Developers</a> and <a href="https://github.com/microsoft/community-content/blob/main/SeasonOfAI/getting-started-azure-ai-studio.md">Getting Started with Azure AI Studio</a> and blended in some of my own. The combined mega-deck is attached to this post, though the deck spans much more than I had time to go through.</p>



<p class="wp-block-paragraph">If you attended and have not had opportunity to give some feedback to Microsoft, there are only a few quick questions. </p>



<p class="wp-block-paragraph">Take the survey here: <a href="https://aka.ms/AttendeeSurveySeasonOfAI">aka.ms/<strong>AttendeeSurveySeasonOfAI</strong></a></p>



<figure class="wp-block-image size-large is-resized"><a href="aka.ms/AttendeeSurveySeasonOfAI"><img loading="lazy" width="585" height="1023" data-attachment-id="4043" data-permalink="https://blog.codingoutloud.com/2024/06/25/talk-season-of-ai-at-boston-azure/image-8/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image.png" data-orig-size="712,1246" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image.png?w=171" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image.png?w=585" src="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image.png?w=585" alt="" class="wp-image-4043" style="width:655px;height:auto" srcset="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image.png?w=585 585w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image.png?w=86 86w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image.png?w=171 171w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image.png 712w" sizes="(max-width: 585px) 100vw, 585px" /></a></figure>



<p class="wp-block-paragraph"></p>



<h1 class="wp-block-heading">Additional Resources</h1>



<p class="wp-block-paragraph">Also complements of the Season of AI team, check out these resources.</p>



<h3 class="wp-block-heading">Join the Azure AI Community on Discord</h3>



<p class="wp-block-paragraph">Connect with fellow enthusiasts, engage with Microsoft experts and MVPs, discuss your favorite sessions, and delve into AI discussions. Your space to ask, share, and explore!</p>



<p class="wp-block-paragraph"><a href="https://aka.ms/AzureAI/Discord">aka.ms/AzureAI/Discord</a></p>



<h3 class="wp-block-heading"><strong>Get started skilling with AI on Microsoft Learn</strong></h3>



<p class="wp-block-paragraph">Build AI skills, connect with the community, earn Microsoft Credentials, learn from experts, and take the Cloud Skills Challenge.</p>



<p class="wp-block-paragraph"><a href="https://aka.ms/LearnAtAITour">aka.ms/LearnAtAITour</a></p>



<h3 class="wp-block-heading"><strong>Download Deck Bill Presented</strong></h3>



<p class="wp-block-paragraph">A diagram we spent time on (slightly updated, <a href="https://github.com/LearnAzureAI/ai-diagrams/blob/main/inside-outside-llm.mmd">source here</a>):</p>



<figure class="wp-block-image size-large"><a href="https://github.com/LearnAzureAI/ai-diagrams/blob/main/inside-outside-llm.mmd"><img loading="lazy" width="1024" height="901" data-attachment-id="4059" data-permalink="https://blog.codingoutloud.com/2024/06/25/talk-season-of-ai-at-boston-azure/image-12/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-4.png" data-orig-size="1050,924" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-4.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-4.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-4.png?w=1024" alt="" class="wp-image-4059" srcset="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-4.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-4.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-4.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-4.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-4.png 1050w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">And finally, the deck I used follows:</p>



<div class="wp-block-file"><a id="wp-block-file--media-d4386370-b890-4099-9ca9-88bfea618546" href="https://blog.codingoutloud.com/wp-content/uploads/2024/06/generative.ai_.for_.dotnet.devs-and-gettingstartedwithazureaistudio.june2024.pptx">Generative.AI.for.dotnet.Devs-AND-GettingStartedwithAzureAIStudio.June2024</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/06/generative.ai_.for_.dotnet.devs-and-gettingstartedwithazureaistudio.june2024.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-d4386370-b890-4099-9ca9-88bfea618546">Download</a></div>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">And here are a couple of the links I showed during the talk that got a lot of discussion or attention:</p>



<ol class="wp-block-list">
<li><a href="https://platform.openai.com/tokenizer">https://platform.openai.com/tokenizer</a></li>



<li><a href="https://platform.openai.com/docs/models/gpt-4-turbo-and-gpt-4">https://platform.openai.com/docs/models/gpt-4-turbo-and-gpt-4</a></li>
</ol>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-2.png"><img loading="lazy" width="1024" height="533" data-attachment-id="4055" data-permalink="https://blog.codingoutloud.com/2024/06/25/talk-season-of-ai-at-boston-azure/image-10/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-2.png" data-orig-size="2142,1116" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-2.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-2.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-2.png?w=1024" alt="" class="wp-image-4055" srcset="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-2.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-2.png?w=2048 2048w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-2.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-2.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-2.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-2.png?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-3.png"><img loading="lazy" width="1024" height="634" data-attachment-id="4056" data-permalink="https://blog.codingoutloud.com/2024/06/25/talk-season-of-ai-at-boston-azure/image-11/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-3.png" data-orig-size="1762,1092" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-3.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-3.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-3.png?w=1024" alt="" class="wp-image-4056" srcset="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-3.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-3.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-3.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-3.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-3.png?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-3.png 1762w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-1.png"><img loading="lazy" width="1024" height="518" data-attachment-id="4053" data-permalink="https://blog.codingoutloud.com/2024/06/25/talk-season-of-ai-at-boston-azure/image-9/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-1.png" data-orig-size="2200,1114" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-1.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-1.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-1.png?w=1024" alt="" class="wp-image-4053" srcset="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-1.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-1.png?w=2048 2048w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-1.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-1.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-1.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-1.png?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">Recall the third one shown &#8211; Telugu &#8211; was wildly more expensive (in terms of token count) than English (50 tokens) and Chinese (75 tokens) &#8211; where Telugu weighed in at 353 tokens.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2024/06/25/talk-season-of-ai-at-boston-azure/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4041</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image.png?w=585" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-4.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-2.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-3.png?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2024/06/image-1.png?w=1024" medium="image" />
	</item>
		<item>
		<title>Talk: Top AI Highlights from Microsoft Build 2024 from Boston Azure</title>
		<link>https://blog.codingoutloud.com/2024/06/04/talk-top-ai-highlights-from-microsoft-build-2024-from-boston-azure/</link>
					<comments>https://blog.codingoutloud.com/2024/06/04/talk-top-ai-highlights-from-microsoft-build-2024-from-boston-azure/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Tue, 04 Jun 2024 13:59:40 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Boston Azure User Group]]></category>
		<category><![CDATA[GitHub Copilot]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4031</guid>

					<description><![CDATA[Boston Azure held a virtual event to review highlights from Microsoft Build 2024.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Last night at Virtual Boston Azure I teamed up with Jason and Veronika and the three of us covered some of the topics from Microsoft Build 2024 that we found most impactful and interesting.</p>



<ul class="wp-block-list">
<li><a href="https://jhaleysftp.blob.core.windows.net/files/MicrosoftBuild2024Recap.pdf">Veronika and Jason&#8217;s highlights</a> can be found at <a href="https://jhaleysftp.blob.core.windows.net/files/MicrosoftBuild2024Recap.pdf">https://jhaleysftp.blob.core.windows.net/files/MicrosoftBuild2024Recap.pdf</a>. </li>



<li>My highlights are covered in <a href="https://blog.codingoutloud.com/wp-content/uploads/2024/06/boston-azure-build-conference-highlights-03-june-2024-1.pptx">this deck attached to this post</a>. </li>
</ul>



<p class="wp-block-paragraph">Here&#8217;s a direct link to the video on the Boston Azure YouTube channel: <a href="https://www.youtube.com/watch?v=odwHlnk_tzI">https://www.youtube.com/watch?v=odwHlnk_tzI</a> and the same video is embedded immediately below.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe class="youtube-player" width="625" height="352" src="https://www.youtube.com/embed/odwHlnk_tzI?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2024/06/04/talk-top-ai-highlights-from-microsoft-build-2024-from-boston-azure/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4031</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>hello-ai: A Simple Demonstration of Azure OpenAI</title>
		<link>https://blog.codingoutloud.com/2024/03/31/hello-ai-a-simple-demonstration-of-azure-openai/</link>
					<comments>https://blog.codingoutloud.com/2024/03/31/hello-ai-a-simple-demonstration-of-azure-openai/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Mon, 01 Apr 2024 02:02:53 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[One Page of Code]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[Azure OpenAI]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3959</guid>

					<description><![CDATA[I wrote some code demonstrating how to use Azure OpenAI to support the AI mini-workshop we ran for Virtual Boston Azure. I created versions in Python and C#. This weekend I create a web front-end for it and deployed as an Azure Static Web App with an Azure Function supporting the refactored C# logic to [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I wrote some code demonstrating how to use Azure OpenAI to support <a href="https://blog.codingoutloud.com/2024/03/29/workshop-ai-mini-workshop-at-boston-azure/">the AI mini-workshop we ran for Virtual Boston Azure</a>. I created versions in Python and C#.</p>



<p class="wp-block-paragraph">This weekend I create a web front-end for it and deployed as an Azure Static Web App with an Azure Function supporting the refactored C# logic to execute the Azure OpenAI service calls.</p>



<p class="wp-block-paragraph">The new app is running here: <a href="https://hello-ai.doingazure.com">https://hello-ai.doingazure.com</a></p>



<p class="wp-block-paragraph">You can find the source code here: <a href="https://github.com/codingoutloud/hello-ai">https://github.com/codingoutloud/hello-ai</a></p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-6.png"><img loading="lazy" width="1024" height="889" data-attachment-id="3967" data-permalink="https://blog.codingoutloud.com/2024/03/31/hello-ai-a-simple-demonstration-of-azure-openai/image-6/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-6.png" data-orig-size="1490,1294" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-6" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-6.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-6.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-6.png?w=1024" alt="" class="wp-image-3967" srcset="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-6.png?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-6.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-6.png?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-6.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-6.png?w=1440 1440w, https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-6.png 1490w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">Note that while the additional grounding fails to stop all of the hallucinations, it does help with the most obvious one (so we are making progress) but there&#8217;s more to be done.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2024/03/31/hello-ai-a-simple-demonstration-of-azure-openai/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3959</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-6.png?w=1024" medium="image" />
	</item>
		<item>
		<title>Workshop: AI Mini-Workshop at Boston Azure</title>
		<link>https://blog.codingoutloud.com/2024/03/29/workshop-ai-mini-workshop-at-boston-azure/</link>
					<comments>https://blog.codingoutloud.com/2024/03/29/workshop-ai-mini-workshop-at-boston-azure/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sat, 30 Mar 2024 01:32:03 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Azure OpenAI]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Boston Azure User Group]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[One Page of Code]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[azure]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3950</guid>

					<description><![CDATA[We ran a successful AI mini-workshop at Virtual Boston Azure. There was coding and learning about AI and the programmatically interacting with the Azure OpenAI services. ]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The <a href="https://www.meetup.com/bostonazure/events/299729681/">March 28 Virtual Boston Azure</a> was headlined by Pamela Fox from Microsoft. She explained all about the RAG pattern which is commonly used for building effective applications based on Large Language Models (&#8220;LLMs&#8221;) and Generative AI (&#8220;GenAI&#8221;). Pamela shared many superb insights, including lots of depth, while answering a ton of interesting follow-up questions. Was a fantastic talk. Boston Azure has a YouTube channel at <a href="https://youtube.com/bostonazure">youtube.com/bostonazure</a> where you can find recordings of many past events. <a href="https://www.youtube.com/watch?v=3Zh9MEuyTQo">Pamela Fox&#8217;s talk is available there as the 48th video</a> to be posted to the channel.</p>



<p class="wp-block-paragraph">After Pamela&#8217;s talk around 15 people stuck around to participate in our first ever &#8220;AI mini-workshop&#8221; hands-on experience. The remainder of this post is about that mini-workshop.</p>



<p class="has-medium-font-size wp-block-paragraph">The AI mini-workshop was a facilitated hands-on coding experience with the following goals:</p>



<p class="has-medium-font-size wp-block-paragraph"><strong>1. Demystify Azure OpenAI</strong></p>



<p class="wp-block-paragraph">As background, OpenAI&#8217;s ChatGPT burst onto the scene in November 2022. That led to an explosion of people learning about AI and associated technologies such as &#8220;LLMs&#8221; which is the common shorthand for Large Language Models. </p>



<p class="wp-block-paragraph">The vast majority of people interact with LLMs via chat interfaces such as available from OpenAI&#8217;s public version of <a href="https://chat.openai.com">ChatGPT</a> or via <a href="https://www.bing.com/chat">Copilot on Microsoft Bing search</a>. There&#8217;s also a more integrated programming experience surfaced through <a href="https://github.com/features/copilot">GitHub Copilot</a> for use with VS Code and several other popular IDEs.</p>



<p class="wp-block-paragraph">But what about programming your own solution that uses an LLM? Microsoft has done a great job of providing an enterprise-grade version of the OpenAI LLM as a set of services known as Azure OpenAI.</p>



<p class="wp-block-paragraph">The first goal of this AI mini-workshop was to demystify this programming experience.</p>



<p class="wp-block-paragraph">This was accomplished by giving the mini-workshop participants a working C# or Python program that fit on a page. And there are <em>only around <strong>10 lines of meaningful code</strong> needed to interact with the AI service</em>. This is NOT that complex.</p>



<p class="wp-block-paragraph">Creating a production-grade application has additional requirements, but at its core, it is straight-forward to interact with Azure OpenAI service programmatically.</p>



<p class="wp-block-paragraph">The hoped for &#8220;Aha!&#8221; moment was this:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Aha #1! I can do this! I can programmatically interact with the Azure OpenAI LLM. It isn&#8217;t that mysterious after all.</p>



<p class="wp-block-paragraph">Aha #2! This is possible without much code! In the Python and C# solutions shared there were only around 10 lines of core code.</p>
</blockquote>



<p class="has-medium-font-size wp-block-paragraph"><strong>2. Understand Some AI Concepts</strong></p>



<p class="wp-block-paragraph">Part of the mini-workshop exercise was to recognize a hallucination and fix it through some additional grounding using a very simple form of RAG.</p>



<p class="wp-block-paragraph">The hope here is for some &#8220;Aha!&#8221; moments:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Aha #3! Here&#8217;s a concrete, understandable example of a hallucination! </p>



<p class="wp-block-paragraph">Aha #4! And here&#8217;s a concrete, simple example use of RAG pattern to better ground the AI so that it no longer hallucinates about today&#8217;s date! But do note that other hallucinations remain&#8230; </p>
</blockquote>



<p class="has-medium-font-size wp-block-paragraph"><strong>3. Wield Great Power</strong></p>



<p class="wp-block-paragraph">The ability to program a LLM to generate unique content is something that essentially NO DEVELOPER COULD DO, EVER, before the super-powerful LLMs that were developed at costs of hundreds of millions of dollars and democratized by the Microsoft Azure OpenAI services (as well as by OpenAI themselves).</p>



<p class="wp-block-paragraph">The&nbsp;hands-on AI mini-workshop required either (a) a functional Python 3 environment, or (b) a functional C#/.NET environment &#8211; everything else was provided, including sufficient access to the Azure OpenAI LLM service to complete the mini-workshop. </p>



<p class="wp-block-paragraph">But in the end with very little coding you can get to the 5th Aha! moment which is:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Aha #5! I have at my command capabilities that have not been possible in all of the history of computers. The magic of LLMs available via Azure OpenAI gives me superpowers that we are only in the very beginning of understanding the ways this can be put to use.</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<p class="wp-block-paragraph">The <a href="https://gist.github.com/codingoutloud/4a95803080b2d7bf6ffbd461434564d4">source code for the AI mini-working is available here</a>. Note that the API key has subsequently been rolled (invalidated), but the code works pretty well otherwise. <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">My original thinking was to distribute the keys separately (<a href="https://gist.github.com/codingoutloud/df5ff23c6dc410a19f64474599a3b44c">like this</a>). If this was an in-person workshop I would have kept the configuration values separated from the source, but given the added challenge of doing this with an online distributed audience I decided to simplify the mini workshop by included the configuration values directly in the source code. Looking back, I believe it was a good concession for minimizing obstacles to learning. So I&#8217;d do it again next time. </p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2024/03/29/workshop-ai-mini-workshop-at-boston-azure/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3950</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Boston Code Camp 36 – Meet GitHub Copilot, Your AI Coding Assistant!</title>
		<link>https://blog.codingoutloud.com/2024/03/23/talk-boston-code-camp-meet-github-copilot-your-ai-coding-assistant/</link>
					<comments>https://blog.codingoutloud.com/2024/03/23/talk-boston-code-camp-meet-github-copilot-your-ai-coding-assistant/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sat, 23 Mar 2024 19:12:43 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Azure OpenAI]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[GitHub Copilot]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[copilot]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[microsoft]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3928</guid>

					<description><![CDATA[23-Mar-2024 Always great to hang out with the greater Boston tech community. Today I attended and contributed a talk to Boston Code Camp 36 (the 36th edition of this event). I made the trip with&#160;Maura&#160;(she gave a talk on&#160;blockchain). and we met a lot of cool people and had a great time. I spoke on [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">23-Mar-2024</p>



<p class="wp-block-paragraph">Always great to hang out with the greater Boston tech community. Today I attended and contributed a talk to <a href="https://www.bostoncodecamp.com/CC36/Sessions">Boston Code Camp 36</a> (the 36th edition of this event).</p>



<figure class="wp-block-image size-large is-resized"><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/03/dc0a17a2-26c5-48c5-bb94-be513d975f6c_1_201_a.jpg"><img loading="lazy" width="1024" height="768" data-attachment-id="3947" data-permalink="https://blog.codingoutloud.com/2024/03/23/talk-boston-code-camp-meet-github-copilot-your-ai-coding-assistant/dc0a17a2-26c5-48c5-bb94-be513d975f6c_1_201_a/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/dc0a17a2-26c5-48c5-bb94-be513d975f6c_1_201_a.jpg" data-orig-size="4032,3024" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="dc0a17a2-26c5-48c5-bb94-be513d975f6c_1_201_a" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/dc0a17a2-26c5-48c5-bb94-be513d975f6c_1_201_a.jpg?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/dc0a17a2-26c5-48c5-bb94-be513d975f6c_1_201_a.jpg?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2024/03/dc0a17a2-26c5-48c5-bb94-be513d975f6c_1_201_a.jpg?w=1024" alt="" class="wp-image-3947" style="aspect-ratio:3/2;object-fit:contain;width:250px" srcset="https://blog.codingoutloud.com/wp-content/uploads/2024/03/dc0a17a2-26c5-48c5-bb94-be513d975f6c_1_201_a.jpg?w=1024 1024w, https://blog.codingoutloud.com/wp-content/uploads/2024/03/dc0a17a2-26c5-48c5-bb94-be513d975f6c_1_201_a.jpg?w=2048 2048w, https://blog.codingoutloud.com/wp-content/uploads/2024/03/dc0a17a2-26c5-48c5-bb94-be513d975f6c_1_201_a.jpg?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2024/03/dc0a17a2-26c5-48c5-bb94-be513d975f6c_1_201_a.jpg?w=300 300w, https://blog.codingoutloud.com/wp-content/uploads/2024/03/dc0a17a2-26c5-48c5-bb94-be513d975f6c_1_201_a.jpg?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2024/03/dc0a17a2-26c5-48c5-bb94-be513d975f6c_1_201_a.jpg?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">I made the trip with&nbsp;<a href="https://twitter.com/squdgy">Maura</a>&nbsp;(she gave a talk on&nbsp;<a href="https://www.bostoncodecamp.com/CC36/Sessions">blockchain</a>). and we met a lot of cool people and had a great time.</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-5.png"><img loading="lazy" width="256" height="208" data-attachment-id="3938" data-permalink="https://blog.codingoutloud.com/2024/03/23/talk-boston-code-camp-meet-github-copilot-your-ai-coding-assistant/image-5/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-5.png" data-orig-size="256,208" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-5" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-5.png?w=256" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-5.png?w=256" src="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-5.png?w=256" alt="" class="wp-image-3938" srcset="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-5.png 256w, https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-5.png?w=150 150w" sizes="(max-width: 256px) 100vw, 256px" /></a></figure>



<p class="wp-block-paragraph">I spoke on GitHub Copilot. Much of my talk was demo and discussion – you have to see this in action (or use it) to appreciate what’s happening. I consider this a glimpse into the future – it will surely become then norm to have an AI assistant when programming.</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-4.png"><img loading="lazy" width="72" height="72" data-attachment-id="3937" data-permalink="https://blog.codingoutloud.com/2024/03/23/talk-boston-code-camp-meet-github-copilot-your-ai-coding-assistant/image-4/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-4.png" data-orig-size="72,72" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-4" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-4.png?w=72" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-4.png?w=72" src="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-4.png?w=72" alt="" class="wp-image-3937" /></a></figure>



<p class="wp-block-paragraph">It is fun have one AI <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f916.png" alt="🤖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> (GitHub Copilot) help us program another AI <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f916.png" alt="🤖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> (Azure OpenAI). <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f916.png" alt="🤖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f916.png" alt="🤖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f916.png" alt="🤖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> After Copilot Chat was able to explain that Azure OpenAI did not have any notion of &#8220;today&#8221; we used Copilot to implement a trivial version of RAG to anchor the prompt to the current day. </p>



<p class="wp-block-paragraph">We saw how the agents like <kbd>@workspace</kbd> can explain a body of code and even help us figure out where to implement a new feature (such as the <kbd>--joke</kbd> command line param).</p>



<p class="wp-block-paragraph">Another demo was to get Copilot to write unit tests for me. The demo gods were not helpful <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f631.png" alt="😱" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f631.png" alt="😱" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f631.png" alt="😱" class="wp-smiley" style="height: 1em; max-height: 1em;" /> and I ran into an error. I moved on without fixing it since time was short. I diagnosed it later and it turns out I had double-pasted (classic demo failure!) which caused the problem. We did use <kbd><strong>/tests</strong></kbd> to create unit tests, which were initially NUnit test, but then we asked Copilot to recast them as xUnit tests, then to more efficiently create test cases using the <kbd><strong>InlineData</strong></kbd> attribute to consolidate similar test cases.We didn&#8217;t get to run the tests at the end, but hopefully the power of GitHub Copilot in helping to create unit tests came through.</p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-1.png"><img loading="lazy" width="100" height="100" data-attachment-id="3933" data-permalink="https://blog.codingoutloud.com/2024/03/23/talk-boston-code-camp-meet-github-copilot-your-ai-coding-assistant/image-1/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-1.png" data-orig-size="100,100" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-1" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-1.png?w=100" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-1.png?w=100" src="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-1.png?w=100" alt="" class="wp-image-3933" /></a></figure>



<p class="wp-block-paragraph">I also had the opportunity to hang out with some smart soon-to-be graduates from my alma mater &#8211; <strong>University of Massachusetts at Boston</strong> (some of them were <a href="https://www.linkedin.com/in/rohinideshmukh/">Rohini Deshmukh</a>, Master&#8217;s in Information Technology, <a href="https://www.linkedin.com/in/kunal-sahjwani/">Kunal Sahjwani</a>, Master&#8217;s in Information Technology, and <a href="https://www.linkedin.com/in/shounakkulkarni7/">Shounak Kulkarni</a>, Master&#8217;s in Business Analytics). Great to see our profession is in such capable hands from chatting with these very smart and capable technologists, analysts, and future leaders.</p>



<p class="wp-block-paragraph">Here is the published talk abstract for the talk I delivered &#8211; and though much of the session was demos, the PowerPoint deck is attached after the abstract.</p>



<h3 class="wp-block-heading">Meet GitHub Copilot, Your AI Coding Assistant</h3>



<p class="wp-block-paragraph"><em>Imagine an assistant who anticipates your needs as you code, handling mundane and time-consuming steps, allowing you to focus on more complex challenges (the fun stuff). Allow me to introduce you to GitHub Copilot.<br /><br />GitHub Copilot is an AI-powered coding assistant that integrates with your developer IDE adding many powerful productivity features. Backed by the same OpenAI Large Language Model (LLM) behind ChatGPT, it has an uncanny ability to suggest code snippets that you were about to type in. But suggesting code snippets is just the beginning.<br /><br />In this demo-heavy talk, we&#8217;ll show usage basics, distinguish scenarios where it excels vs. some it finds challenging, and point out a few common anti-patterns so you can avoid them.<br /><br />Since it is still early days, big features are still showing up at a fast clip, so we&#8217;ll highlight some recent features and some others just emerging. At the end we&#8217;ll squeeze in just a bit of prognosticating about what it might mean for the future of software development.<br /><br />As you&#8217;ll learn in more depth during this session, the promise of GitHub Copilot is to help you be more productive &#8211; go faster, stay in flow, build even more robust software. We are not fully there but we are on the way. This imperfect tool is still a game changer.<br /><br />I believe the rise of AI coding assistants is unstoppable at this point &#8211; and that&#8217;s a good thing. By the end of this session, you might agree. And maybe you&#8217;ll join the revolution early.</em></p>



<div class="wp-block-file"><a id="wp-block-file--media-c7f67825-ff58-49d1-a1b2-0aae3643e117" href="https://blog.codingoutloud.com/wp-content/uploads/2024/03/boston-codecamp-meet-github-copilot-22-mar-2024_pub.pptx">boston-codecamp-meet-github-copilot-22-mar-2024_pub</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/03/boston-codecamp-meet-github-copilot-22-mar-2024_pub.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-c7f67825-ff58-49d1-a1b2-0aae3643e117">Download</a></div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2024/03/23/talk-boston-code-camp-meet-github-copilot-your-ai-coding-assistant/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3928</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2024/03/dc0a17a2-26c5-48c5-bb94-be513d975f6c_1_201_a.jpg?w=1024" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-5.png?w=256" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-4.png?w=72" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2024/03/image-1.png?w=100" medium="image" />
	</item>
		<item>
		<title>Talk: Orlando Code Camp &#8211; Meet GitHub Copilot</title>
		<link>https://blog.codingoutloud.com/2024/02/24/talk-orlando-code-camp-meet-github-copilot/</link>
					<comments>https://blog.codingoutloud.com/2024/02/24/talk-orlando-code-camp-meet-github-copilot/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sun, 25 Feb 2024 01:47:00 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[DevX]]></category>
		<category><![CDATA[GitHub Copilot]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3920</guid>

					<description><![CDATA[24-Feb-2024 Had a great time hanging out with the Orlando tech community at their annual Code Camp. I made the trip with Maura (she gave a talk on blockchain) and we met a lot of cool people and had a great time. I spoke on GitHub Copilot. Much of my talk was demo and discussion [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">24-Feb-2024</p>



<p class="wp-block-paragraph">Had a great time hanging out with the Orlando tech community at their annual <a href="https://orlandocodecamp.com/">Code Camp</a>. I made the trip with <a href="https://twitter.com/squdgy">Maura</a> (she gave a talk on <a href="https://squdgy.wordpress.com/2024/02/28/orlando-code-camp-2024/">blockchain</a>) and we met a lot of cool people and had a great time. </p>



<p class="wp-block-paragraph">I spoke on GitHub Copilot. Much of my talk was demo and discussion &#8211; you have to see this in action (or use it) to appreciate what&#8217;s happening. I consider this a glimpse into the future &#8211; it will surely become then norm to have an AI assistant when programming.</p>



<p class="wp-block-paragraph">One part of the demo showed using one AI (GitHub Copilot) to help program another AI (Azure OpenAI). </p>



<p class="wp-block-paragraph">It is invigorating to engage with a vibrant community of technologists. Thank you Orlando Code Camp organizers, sponsors, and all those in the tech community!</p>



<p class="wp-block-paragraph">The deck I used in the talk is both <a href="https://blog.codingoutloud.com/wp-content/uploads/2024/03/orlando-codecamp-meet-copilot-24-feb-2024_pub.pptx">attached</a> for download and available on <a href="https://www.slideshare.net/slideshows/orlandocodecampmeetcopilot24feb2024pubpptx/266579334">slideshare</a>.</p>



<div class="wp-block-file"><a id="wp-block-file--media-ac501116-6584-4f98-bd59-d81b10c79bca" href="https://blog.codingoutloud.com/wp-content/uploads/2024/03/orlando-codecamp-meet-copilot-24-feb-2024_pub.pptx">orlando-codecamp-meet-copilot-24-feb-2024_pub</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/03/orlando-codecamp-meet-copilot-24-feb-2024_pub.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-ac501116-6584-4f98-bd59-d81b10c79bca">Download</a></div>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2024/02/24/talk-orlando-code-camp-meet-github-copilot/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3920</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Meet GitHub Copilot, your AI Coding Assistant at Granite State Code Camp 02-Dec-2024</title>
		<link>https://blog.codingoutloud.com/2023/12/02/talk-meet-github-copilot-your-ai-coding-assistant-at-granite-state-code-camp-02-dec-2024/</link>
					<comments>https://blog.codingoutloud.com/2023/12/02/talk-meet-github-copilot-your-ai-coding-assistant-at-granite-state-code-camp-02-dec-2024/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sun, 03 Dec 2023 01:19:00 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3993</guid>

					<description><![CDATA[My talk description: According to legend, programmers back in the stone age would write code without IntelliSense and refactoring tools. The next generation of developers will wonder how our generation got anything done without AI-powered assistants. If you don&#8217;t know what GitHub Copilot is all about then come on by to get a glimpse of [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>My talk description:</strong></p>



<p class="wp-block-paragraph"><em>According to legend, programmers back in the stone age would write code without IntelliSense and refactoring tools. The next generation of developers will wonder how our generation got anything done without AI-powered assistants. If you don&#8217;t know what GitHub Copilot is all about then come on by to get a glimpse of the future.<br /><br />In this fast-paced demo-heavy talk we will see how you can go faster, stay in flow, and maybe even do more (unit tests anyone?) with GitHub Copilot, which became commercially available during 2023. Along the way we&#8217;ll learn to talk like an AI nerd by explaining and examining terms like &#8220;prompt engineering&#8221; (how to get Copilot to do what we really want), prompts vs. suggestions, what is a &#8220;conversational AI&#8221;, what do you mean by &#8220;non-deterministic&#8221;, and how does this relate to ChatGPT (and its underlying LLM). And hallucinations. All will be explained.</em></p>



<p class="wp-block-paragraph"><strong>The deck I used:</strong></p>



<div class="wp-block-file"><a id="wp-block-file--media-3e55bfaa-e940-491f-a8d4-304309c08a51" href="https://blog.codingoutloud.com/wp-content/uploads/2024/04/granitestate-codecamp-meet-copilot-02-dec-2023-2.pptx">granitestate-codecamp-meet-copilot-02-dec-2023-2</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/04/granitestate-codecamp-meet-copilot-02-dec-2023-2.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-3e55bfaa-e940-491f-a8d4-304309c08a51">Download</a></div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2023/12/02/talk-meet-github-copilot-your-ai-coding-assistant-at-granite-state-code-camp-02-dec-2024/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3993</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Exploring DORA! at Boston Code Camp 35</title>
		<link>https://blog.codingoutloud.com/2023/11/18/talk-exploring-dora-at-boston-code-camp-35/</link>
					<comments>https://blog.codingoutloud.com/2023/11/18/talk-exploring-dora-at-boston-code-camp-35/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sun, 19 Nov 2023 02:27:00 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3979</guid>

					<description><![CDATA[(I gave two talks at this event &#8211; the other one was on GitHub Copilot.) Always great to engage with the OG Code Camp crew at Boston Code Camp. My talk description: Haven&#8217;t heard about DORA yet? You will. The annual DevOps Research and Assessment Report &#8212; affectionately known as the &#8220;DORA Report&#8221; &#8212; is [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">(I gave two talks at this event &#8211; the other one was on <a href="https://blog.codingoutloud.com/2023/11/18/talk-meet-github-copilot-at-boston-code-camp-35/">GitHub Copilot</a>.)</p>



<p class="wp-block-paragraph">Always great to engage with the OG Code Camp crew at Boston Code Camp. My talk description:</p>



<p class="wp-block-paragraph"><em>Haven&#8217;t heard about DORA yet? You will.<br /><br />The annual DevOps Research and Assessment Report &#8212; affectionately known as the &#8220;DORA Report&#8221; &#8212; is a data-driven, research-backed set of practices and metrics that will make engineers happier and more productive while improving not just dev, ops, and security outcomes, but also business outcomes. DORA tends to also shine a light on practices that are common within teams that are measurably more effective than industry averages &#8211; examples will be drawn from cloud technologies, automation, and security outcomes.<br /><br />In this talk we&#8217;ll explore the DORA report as a data-driven toolbox for helping you &#8220;get better at getting better&#8221; in the software delivery realm. We will give some historical context, then zoom in on findings from the recently published 2023 report. The goal is for you to leave this talk with an overall appreciation of the breadth of coverage and the impact of DORA as well as some specific metrics and capabilities you&#8217;ll want to focus on to level up your own teams.</em></p>



<p class="wp-block-paragraph">The deck I used: </p>



<div class="wp-block-file"><a id="wp-block-file--media-a7a2d80f-d24d-4787-b5ce-35239a12c9ac" href="https://blog.codingoutloud.com/wp-content/uploads/2024/04/exploring-dora-bostoncodecamp-18-nov-2023.pptx">exploring-dora-bostoncodecamp-18-nov-2023</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/04/exploring-dora-bostoncodecamp-18-nov-2023.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-a7a2d80f-d24d-4787-b5ce-35239a12c9ac">Download</a></div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2023/11/18/talk-exploring-dora-at-boston-code-camp-35/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3979</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Meet GitHub Copilot! at Boston Code Camp 35</title>
		<link>https://blog.codingoutloud.com/2023/11/18/talk-meet-github-copilot-at-boston-code-camp-35/</link>
					<comments>https://blog.codingoutloud.com/2023/11/18/talk-meet-github-copilot-at-boston-code-camp-35/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sun, 19 Nov 2023 02:07:00 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3978</guid>

					<description><![CDATA[(I gave two talks at this event &#8211; the other one was on DORA.) Always great to engage with the OG Code Camp crew at Boston Code Camp. My talk description: According to legend, programmers back in the stone age would write code without IntelliSense and refactoring tools. The next generation of developers will wonder [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">(I gave two talks at this event &#8211; the other one was on <a href="https://blog.codingoutloud.com/2023/11/18/talk-exploring-dora-at-boston-code-camp-35/">DORA</a>.)</p>



<p class="wp-block-paragraph">Always great to engage with the OG Code Camp crew at Boston Code Camp. My talk description:</p>



<p class="wp-block-paragraph"><em>According to legend, programmers back in the stone age would write code without IntelliSense and refactoring tools. The next generation of developers will wonder how our generation got anything done without AI-powered assistants. If you don&#8217;t know what GitHub Copilot is all about then come on by to get a glimpse of the future.<br /><br />In this fast-paced demo-heavy talk we will see how you can go faster, stay in flow, and maybe even do more (unit tests anyone?) with GitHub Copilot, which became commercially available during 2023. Along the way we&#8217;ll learn to talk like an AI nerd by explaining and examining terms like &#8220;prompt engineering&#8221; (how to get Copilot to do what we really want), prompts vs. suggestions, what is a &#8220;conversational AI&#8221;, what do you mean by &#8220;non-deterministic&#8221;, and how does this relate to ChatGPT (and its underlying LLM). And hallucinations. All will be explained.</em></p>



<p class="wp-block-paragraph">The deck I used: </p>



<div class="wp-block-file"><a id="wp-block-file--media-a3fc24fd-53d7-4b20-b0e5-933e5def6ce7" href="https://blog.codingoutloud.com/wp-content/uploads/2024/04/bostoncodecamp-meet-copilot-18-nov-2023.pptx">bostoncodecamp-meet-copilot-18-Nov-2023</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/04/bostoncodecamp-meet-copilot-18-nov-2023.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-a3fc24fd-53d7-4b20-b0e5-933e5def6ce7">Download</a></div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2023/11/18/talk-meet-github-copilot-at-boston-code-camp-35/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3978</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: GitHub Copilot is your AI Pair Programming Assistant</title>
		<link>https://blog.codingoutloud.com/2023/08/08/talk-github-copilot-is-your-ai-pair-programming-assistant/</link>
					<comments>https://blog.codingoutloud.com/2023/08/08/talk-github-copilot-is-your-ai-pair-programming-assistant/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Wed, 09 Aug 2023 00:13:36 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[DevX]]></category>
		<category><![CDATA[GitHubCopilot]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3909</guid>

					<description><![CDATA[08-Aug-2023 I gave an extended demo of GitHub Copilot at the Boston Azure AI event tonight. Most of the session was a demo, but I did also walk through some slides. Those slides are attached. I also showed these links or services:]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">08-Aug-2023</p>



<p class="wp-block-paragraph">I gave an extended demo of GitHub Copilot at the <a href="https://www.meetup.com/bostonazure/events/294591524/">Boston Azure AI event tonight</a>. Most of the session was a demo, but I did also walk through some slides. Those slides are attached.</p>



<p class="wp-block-paragraph">I also showed these links or services:</p>



<ul class="wp-block-list">
<li>Microsoft Responsible AI Principles &#8211; <a href="https://www.microsoft.com/en-us/ai/responsible-ai" rel="nofollow">https://www.microsoft.com/en-us/ai/responsible-ai</a></li>



<li>Bing Chat (AI-powered chat) &#8211; <a href="https://chat.bing.com" rel="nofollow">https://chat.bing.com</a></li>



<li>Open AI ChatGPT &#8211; <a href="https://chat.openai.com" rel="nofollow">https://chat.openai.com</a></li>
</ul>



<div class="wp-block-file"><a id="wp-block-file--media-ded9753a-95c3-447d-b72c-3201490241dc" href="https://blog.codingoutloud.com/wp-content/uploads/2023/08/bostonazure-copilot-is-the-developers-ai-assistant-08-aug-2023.pptx">bostonazure-copilot-is-the-developers-ai-assistant-08-aug-2023</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2023/08/bostonazure-copilot-is-the-developers-ai-assistant-08-aug-2023.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-ded9753a-95c3-447d-b72c-3201490241dc">Download</a></div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2023/08/08/talk-github-copilot-is-your-ai-pair-programming-assistant/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3909</post-id>
		<media:thumbnail url="https://blog.codingoutloud.com/wp-content/uploads/2023/08/screenshot-2023-08-08-at-8.12.41-pm.png" />
		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2023/08/screenshot-2023-08-08-at-8.12.41-pm.png" medium="image">
			<media:title type="html">Screenshot 2023-08-08 at 8.12.41 PM</media:title>
		</media:content>

		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: GitHub Copilot: Meet Your AI Pair Programming Assistant!</title>
		<link>https://blog.codingoutloud.com/2023/06/27/talk-github-copilot-meet-your-ai-pair-programming-assistant/</link>
					<comments>https://blog.codingoutloud.com/2023/06/27/talk-github-copilot-meet-your-ai-pair-programming-assistant/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Wed, 28 Jun 2023 03:17:00 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[copilot]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3901</guid>

					<description><![CDATA[On 27-June-2023 at our first back-from-the-pandemic in-person regularly scheduled Boston Azure monthly meeting, the main event featured Juan Pablo Garcia Gonzalez from Microsoft talking about Azure OpenAI ChatGPT Prompt Engineering for Developers. Juan Pablo was kind enough to share his slides and code samples. Keeping with the AI theme, I opened with a talk about [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">On 27-June-2023 at our first back-from-the-pandemic in-person regularly scheduled <a href="https://www.meetup.com/bostonazure/events/294214956/">Boston Azure monthly meeting</a>, the main event featured Juan Pablo Garcia Gonzalez from Microsoft talking about <strong>Azure OpenAI ChatGPT Prompt Engineering for Developers</strong>. Juan Pablo was kind enough to share his <a href="https://1drv.ms/b/s!AimwWyxV6jFBnvUCVTp1HewcwHfh1Q?e=FXZxck">slides</a> and <a href="https://github.com/liarjo/AzureOpenAIDemos">code samples</a>. </p>



<p class="wp-block-paragraph">Keeping with the AI theme, I opened with a talk about GitHub Copilot where I gave a brief demo and explanation, then attempted to put it into context among other AI tools (including other Microsoft Copilot initiatives).</p>



<p class="wp-block-paragraph">The deck I used is attached to this post:</p>



<div class="wp-block-file"><a id="wp-block-file--media-157bb0c4-1160-43e4-8f74-a8bdd64e8bb8" href="https://blog.codingoutloud.com/wp-content/uploads/2023/07/bostonazure-copilotlightningoverview-27-june-2023.pptx">bostonazure-copilotlightningoverview-27-june-2023</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2023/07/bostonazure-copilotlightningoverview-27-june-2023.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-157bb0c4-1160-43e4-8f74-a8bdd64e8bb8">Download</a></div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2023/06/27/talk-github-copilot-meet-your-ai-pair-programming-assistant/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3901</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Using GitHub Copilot to Code Azure (Boston Azure edition of Global Azure Bootcamp)</title>
		<link>https://blog.codingoutloud.com/2023/05/13/talk-using-github-copilot-to-code-azure-boston-azure-edition-of-global-azure-bootcamp/</link>
					<comments>https://blog.codingoutloud.com/2023/05/13/talk-using-github-copilot-to-code-azure-boston-azure-edition-of-global-azure-bootcamp/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sun, 14 May 2023 01:38:00 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=4003</guid>

					<description><![CDATA[13-May-2023 Veronika Kolesnikova, Jason Haley, and myself jointly hosted the Boston Azure edition of Global Azure Bootcamp. It was a sold out show &#8211; excellent turnout (around 50 participants). I presented a couple of segments, one of which was to inspire use of AI tools. For that I gave a demo of GitHub Copilot, explained [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><a href="https://www.meetup.com/bostonazure/events/292038661//attendees/"></a><a href="https://www.meetup.com/bostonazure/events/292038661//attendees/"></a>13-May-2023</p>



<p class="wp-block-paragraph"><a href="https://twitter.com/veronika_dev1/">Veronika Kolesnikova</a>, <a href="https://twitter.com/haleyjason">Jason Haley</a>, and <a href="https://twitter.com/codingoutloud">myself</a> jointly hosted the <a href="https://www.meetup.com/bostonazure/events/292038661/">Boston Azure edition of Global Azure Bootcamp</a>. It was a sold out show &#8211; excellent turnout (around 50 participants).</p>



<p class="wp-block-paragraph">I presented a couple of segments, one of which was to inspire use of AI tools. For that I gave a demo of GitHub Copilot, explained how to use the free trial, and was there to support the occasional questions by new users of GitHub Copilot during the bootcamp.</p>



<p class="wp-block-paragraph">The opening talk was also AI:</p>



<figure class="wp-block-image size-large"><a href="https://twitter.com/veronika_dev1/status/1657374660609146881"><img loading="lazy" width="978" height="1024" data-attachment-id="4009" data-permalink="https://blog.codingoutloud.com/2023/05/13/talk-using-github-copilot-to-code-azure-boston-azure-edition-of-global-azure-bootcamp/image-7/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2024/04/image.png" data-orig-size="1232,1290" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2024/04/image.png?w=287" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2024/04/image.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2024/04/image.png?w=978" alt="" class="wp-image-4009" srcset="https://blog.codingoutloud.com/wp-content/uploads/2024/04/image.png?w=978 978w, https://blog.codingoutloud.com/wp-content/uploads/2024/04/image.png?w=143 143w, https://blog.codingoutloud.com/wp-content/uploads/2024/04/image.png?w=287 287w, https://blog.codingoutloud.com/wp-content/uploads/2024/04/image.png?w=768 768w, https://blog.codingoutloud.com/wp-content/uploads/2024/04/image.png 1232w" sizes="(max-width: 978px) 100vw, 978px" /></a></figure>



<p class="wp-block-paragraph">My talks were later &#8211; GitHub Copilot the rolled into hacking on Azure for the rest of the day. And of course, those who opted to do so used GitHub Copilot to help them do so more efficiently. <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<figure class="wp-block-image size-large"><a href="https://blog.codingoutloud.com/wp-content/uploads/2024/04/image-1.png"><img loading="lazy" width="720" height="460" data-attachment-id="4020" data-permalink="https://blog.codingoutloud.com/2023/05/13/talk-using-github-copilot-to-code-azure-boston-azure-edition-of-global-azure-bootcamp/image-1-2/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2024/04/image-1.png" data-orig-size="720,460" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-1" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2024/04/image-1.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2024/04/image-1.png?w=625" src="https://blog.codingoutloud.com/wp-content/uploads/2024/04/image-1.png?w=720" alt="" class="wp-image-4020" srcset="https://blog.codingoutloud.com/wp-content/uploads/2024/04/image-1.png 720w, https://blog.codingoutloud.com/wp-content/uploads/2024/04/image-1.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2024/04/image-1.png?w=300 300w" sizes="(max-width: 720px) 100vw, 720px" /></a></figure>



<p class="wp-block-paragraph"><a href="https://www.meetup.com/bostonazure/events/292038661//attendees/"></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2023/05/13/talk-using-github-copilot-to-code-azure-boston-azure-edition-of-global-azure-bootcamp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4003</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2024/04/image.png?w=978" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2024/04/image-1.png?w=720" medium="image" />
	</item>
		<item>
		<title>Talk: Exploring DORA at Boston Code Camp #34</title>
		<link>https://blog.codingoutloud.com/2023/04/29/talk-exploring-dora/</link>
					<comments>https://blog.codingoutloud.com/2023/04/29/talk-exploring-dora/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sat, 29 Apr 2023 17:55:02 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[DORA]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3891</guid>

					<description><![CDATA[Today at the 34th edition of Boston Code Camp (#boscc) I presented (in person &#8211; yahoo!) my talk &#8220;Exploring DORA &#8211; Using data to drive better outcomes&#8221; which introduced the DORA project. DORA is short for the DevOps Report Assessment and provides a research-backed assessment of how your technical, process, and cultural practices impact business [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Today at the 34th edition of <a href="https://bostoncodecamp.com">Boston Code Camp</a> (<a href="https://twitter.com/hashtag/boscc?src=hashtag_click">#boscc</a>) I presented (in person &#8211; yahoo!) my talk &#8220;Exploring DORA &#8211; Using data to drive better outcomes&#8221; which introduced the DORA project.</p>



<p class="wp-block-paragraph">DORA is short for the <strong>D</strong>ev<strong>O</strong>ps <strong>R</strong>eport <strong>A</strong>ssessment and provides a research-backed assessment of how your technical, process, and cultural practices impact business outcomes. DORA can be used as a guide for choosing how to improve.</p>



<p class="wp-block-paragraph">This topic is important because I predict research-backed practices (e.g., DORA) will become pervasive/routine in 2024.</p>



<p class="wp-block-paragraph">This important work helps inform many aspects of software development (and DevX), including many ways it is applicable to cloud computing, including Microsoft Azure, and futures like where is AI on the adoption curve and how impactful is it appearing to be on productivity (inclding for <a href="https://www.microsoft.com/en-us/research/publication/the-space-of-developer-productivity-theres-more-to-it-than-you-think/">SPACE</a> metrics). So much to talk about.</p>



<p class="wp-block-paragraph">The deck is here, followed by the published description of the talk:</p>



<div class="wp-block-file"><a id="wp-block-file--media-a91432b0-2eb5-473b-831b-319f9def14f2" href="https://blog.codingoutloud.com/wp-content/uploads/2023/04/exploring-dora-bostoncodecamp-29-apr-2023_final.pptx">exploring-dora-bostoncodecamp-29-apr-2023_final</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2023/04/exploring-dora-bostoncodecamp-29-apr-2023_final.pptx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-a91432b0-2eb5-473b-831b-319f9def14f2">Download</a></div>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><em>Haven&#8217;t heard about DORA yet? You will.&nbsp;</em></p>



<p class="wp-block-paragraph"><em>The annual DevOps Research and Assessment Report &#8212; affectionately known as the &#8220;DORA Report&#8221; &#8212; is a data-driven, research-backed set of practices and metrics that will make engineers really happy while improving not just dev, ops, and security outcomes, but also business outcomes.&nbsp;</em></p>



<p class="wp-block-paragraph"><em>In this talk we&#8217;ll explore the DORA report &#8211; the background, the talent behind it, the current state, the famous 4 (or is it 5?) DORA metrics, where it is going, and how you and your team can leverage it today to make effective investment decisions for improving your software development and delivery processes.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2023/04/29/talk-exploring-dora/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3891</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Running #Azure Robustly – Granite State Code Camp #GSCC2022 – Fail and Retry</title>
		<link>https://blog.codingoutloud.com/2022/11/12/talk-running-azure-robustly-granite-state-code-camp-gscc2022-fail-and-retry/</link>
					<comments>https://blog.codingoutloud.com/2022/11/12/talk-running-azure-robustly-granite-state-code-camp-gscc2022-fail-and-retry/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sun, 13 Nov 2022 04:17:00 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[azure]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3885</guid>

					<description><![CDATA[I had the opportunity to speak at the 2022 Granite State Code Camp in Manchester, NH. The last couple of years I was more focused on Security and Compliance-enablement in Microsoft Azure. This year I focused on Robustness. When running in Azure &#8211; like other distributed system environments &#8211; failures are real and retries are [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I had the opportunity to speak at the <a href="https://www.granitestatecodecamp.org/schedule">2022 Granite State Code Camp</a> in Manchester, NH.</p>



<p class="wp-block-paragraph">The last couple of years I was more focused on Security and Compliance-enablement in Microsoft Azure. This year I focused on Robustness. When running in Azure &#8211; like other distributed system environments &#8211; failures are real and retries are a common remedy to support robust applications. In the session I discussed the need and the mechanisms, with many examples in Azure. </p>



<p class="wp-block-paragraph">Here is the talk description:</p>



<p class="wp-block-paragraph"><strong>Fail and Retry</strong></p>



<p class="wp-block-paragraph"><em>Does your application reach out to services or databases over a network. Do you assume that these calls always succeed? In this talk we will cover different reasons for failures and organize them into those that make sense to retry (e.g., &#8220;transient&#8221; failures) and those that don&#8217;t. Where retrying makes sense, we&#8217;ll cover some tools and techniques to handle retries automatically, sort out how to select appropriate retry parameters depending on the scenario (e.g., batch job vs. interactive UI with a user waiting), and consider how to test such scenarios (hint: there are some tools to help force transient errors). Planned examples will include C# in Azure, but open to demonstrating other languages and platforms. You can hit me up on Twitter to request a specific scenario (<a href="https://twitter.com/codingoutloud/status/1574138969134088192" rel="nofollow">https://twitter.com/codingoutloud/status/1574138969134088192</a>), though the concepts and patterns are generic.</em></p>



<p class="wp-block-paragraph">If you want to experience MORE AZURE please check out <a href="https://meetup.com/bostonazure" rel="nofollow">https://meetup.com/bostonazure</a> (currently operating as part of &#8220;Virtual Boston Azure&#8221;).</p>



<p class="wp-block-paragraph">If you are someone who would like to SPEAK at Virtual Boston Azure, please get in touch. (Twitter is a good way to reach me &#8211; I am <a href="https://twitter.com/codingoutloud">@codingoutloud</a> &#8211; or you can address it to <a href="https://twitter.com/bostonazure">@bostonazure</a>.)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2022/11/12/talk-running-azure-robustly-granite-state-code-camp-gscc2022-fail-and-retry/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3885</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Running #Azure Securely and Compliantly – Granite State Code Camp #GSCC2021 &#8211; aka Compliance for Lazy People</title>
		<link>https://blog.codingoutloud.com/2021/11/06/talk-running-azure-securely-and-compliantly-granite-state-code-camp-gscc-aka-compliance-for-lazy-people/</link>
					<comments>https://blog.codingoutloud.com/2021/11/06/talk-running-azure-securely-and-compliantly-granite-state-code-camp-gscc-aka-compliance-for-lazy-people/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sat, 06 Nov 2021 23:34:30 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3876</guid>

					<description><![CDATA[Today I had the opportunity to speak at the Granite State Code Camp (#GSCC2021) in Manchester, NH. This was the first time I&#8217;ve given an in-person talk since the start of COVID and it was great to see so many smiling facing (even when partially obscured by a mask!). Last year my focus was a more [&#8230;]]]></description>
										<content:encoded><![CDATA[<hr />
<p>Today I had the opportunity to speak at the <a href="http://www.granitestatecodecamp.org/">Granite State Code Camp</a> (<a href="https://twitter.com/hashtag/GSCC2021">#GSCC2021</a>) in Manchester, NH. This was the first time I&#8217;ve given an in-person talk since the start of COVID and it was great to see so many smiling facing (even when partially obscured by a mask!).</p>
<p>Last year my focus was a more in-the-weeds talk called <a href="https://blog.codingoutloud.com/2019/11/03/talk-running-azure-securely-granite-state-code-camp-gscc-are-all-these-security-features-for-me/">Running Azure Securely – which of these Azure security features are for me?</a>. This year I stepped back a level and focused on Compliance. In the session I discussed security vs. compliance, the shared responsibility model, and touched on a few other features, but spent a good bit of time focused on what I am thinking about as the &#8220;Policy stack&#8221; where one can gather lots of insight about your workload&#8217;s compliance with technology controls indicated by various compliance standards &#8211; based on the Azure Policy capabilities, a pillar of governance, and rolled up and available from <del>Azure Security Center</del> Microsoft Defender for Cloud.</p>
<blockquote><p>Azure Security Center as a brand is no more &#8211; it is part of a rebranding to <strong>Microsoft Defender for Cloud</strong>. <em>I assume this renaming, announced at Ignite, is because it is a feature set that can span beyond Azure &#8211; for example, keeping an on on-premises resources and resources in non-Azure clouds like AWS.</em></p></blockquote>
<p>The session was interactive (as preferred!) and many thanks to Kevin and Vishwas and the nice lady whose name I didn&#8217;t catch who I think worked for the college for help in overcoming technical limitations in the room I was speaking from.</p>
<p>If you want to experience MORE AZURE please check out <a href="https://meetup.com/bostonazure" rel="nofollow">https://meetup.com/bostonazure</a> (currently operating as part of &#8220;Virtual Boston Azure&#8221;).</p>
<p>If you are someone who would like to SPEAK at Virtual Boston Azure, please get in touch. (Twitter is a good way to reach me &#8211; I am <a href="https://twitter.com/codingoutloud">@codingoutloud</a> &#8211; or you can address it to <a href="https://twitter.com/bostonazure">@bostonazure</a>.)</p>
<p>Slide deck is attached.</p>
<ul>
<li><a href="https://blog.codingoutloud.com/wp-content/uploads/2021/11/granitestatecodecamp-billwilder-2021-nov-6-runningazuresecurelyandcompliantly-final.pptx">GraniteStateCodeCamp-BillWilder-2021-Nov-6-RunningAzureSecurelyAndCompliantly-final</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2021/11/06/talk-running-azure-securely-and-compliantly-granite-state-code-camp-gscc-aka-compliance-for-lazy-people/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3876</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Running #Azure Securely – Turning on the WAF</title>
		<link>https://blog.codingoutloud.com/2020/12/02/talk-running-azure-securely-turning-on-the-waf/</link>
					<comments>https://blog.codingoutloud.com/2020/12/02/talk-running-azure-securely-turning-on-the-waf/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Thu, 03 Dec 2020 01:50:51 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azure security]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[waf]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3864</guid>

					<description><![CDATA[Tonight I had the opportunity to speak at #VirtualBostonAzure to talk about raising the visibility of security signals in your environment by turning on your WAF. In demos the WAF available in Azure Front Door was used. Slides: YouTube: https://www.youtube.com/watch?v=OWXTtCUNmes&#38;feature=youtu.be]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Tonight I had the opportunity to speak at <a href="#VirtualBostonAzure">#</a><a href="https://www.meetup.com/bostonazure/events/274256429/">VirtualBostonAzure</a> to talk about raising the visibility of security signals in your environment by turning on your WAF. In demos the WAF available in Azure Front Door was used.</p>



<p class="wp-block-paragraph">Slides: </p>



<div class="wp-block-file"><a href="https://blog.codingoutloud.com/wp-content/uploads/2020/12/virtualbostonazure-billwilder-2020-dec-02.underattackandunaware-thewaf-1.pptx">virtualbostonazure-billwilder-2020-dec-02.underattackandunaware-thewaf-1</a><a href="https://blog.codingoutloud.com/wp-content/uploads/2020/12/virtualbostonazure-billwilder-2020-dec-02.underattackandunaware-thewaf-1.pptx" class="wp-block-file__button" download>Download</a></div>



<div class="wp-block-media-text alignwide is-stacked-on-mobile"><figure class="wp-block-media-text__media"></figure><div class="wp-block-media-text__content"></div></div>



<p class="wp-block-paragraph">YouTube: </p>



<p class="wp-block-paragraph"><a href="https://www.youtube.com/watch?v=OWXTtCUNmes&amp;feature=youtu.be">https://www.youtube.com/watch?v=OWXTtCUNmes&amp;feature=youtu.be</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2020/12/02/talk-running-azure-securely-turning-on-the-waf/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3864</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Running #Azure Securely – Granite State Code Camp #GSCC &#8211; Are all these security features for me?</title>
		<link>https://blog.codingoutloud.com/2019/11/03/talk-running-azure-securely-granite-state-code-camp-gscc-are-all-these-security-features-for-me/</link>
					<comments>https://blog.codingoutloud.com/2019/11/03/talk-running-azure-securely-granite-state-code-camp-gscc-are-all-these-security-features-for-me/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sun, 03 Nov 2019 14:48:39 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3854</guid>

					<description><![CDATA[Yesterday I had the opportunity to speak at the Granite State Code Camp (#gscc) in Burlington, MA. As part of my series of talks on Running Azure Securely, my talk today was around defense in depth and was called Running Azure Securely – which of these Azure security features are for me?. The session was interactive, engaging a [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Yesterday I had the opportunity to speak at the <a href="http://www.granitestatecodecamp.org/">Granite State Code Camp</a> (<a href="https://twitter.com/hashtag/gscc">#gscc</a>) in Burlington, MA. As part of my series of talks on Running Azure Securely, my talk today was around defense in depth and was called <a href="http://www.granitestatecodecamp.org/schedule">Running Azure Securely – which of these Azure security features are for me?</a>. The session was interactive, engaging a third-of-a-dozen folks in the audience in a discussion of how to defend various workloads using the (fictitious) <em>page of photos</em> app as a foil.</p>
<p>Slide deck attached.</p>
<ul>
<li><a title="GraniteStateCodeCamp-BillWilder-2019-Nov-02.AllTheseSecurityFeatures.PUBLISHED" href="https://blog.codingoutloud.com/wp-content/uploads/2019/11/granitestatecodecamp-billwilder-2019-nov-02.allthesesecurityfeatures.published.pptx">GraniteStateCodeCamp-BillWilder-2019-Nov-02.AllTheseSecurityFeatures.PUBLISHED</a></li>
</ul>
<p>Also perhaps of interest &#8211; a similar talk <em>from the other Burlington</em> &#8211; at the recent VT Code Camp &#8211; which has a few add&#8217;l resources listed: <a href="https://blog.codingoutloud.com/2019/09/28/talk-running-azure-securely-are-all-these-security-features-for-me/">https://blog.codingoutloud.com/2019/09/28/talk-running-azure-securely-are-all-these-security-features-for-me/</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2019/11/03/talk-running-azure-securely-granite-state-code-camp-gscc-are-all-these-security-features-for-me/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3854</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Running Azure DNS Securely</title>
		<link>https://blog.codingoutloud.com/2019/11/01/talk-running-azure-dns-securely/</link>
					<comments>https://blog.codingoutloud.com/2019/11/01/talk-running-azure-dns-securely/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Fri, 01 Nov 2019 21:53:04 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3839</guid>

					<description><![CDATA[On 22-Oct-2019 I spoke at Boston Azure about network security and focused on some of the edges of using Azure DNS, and included some DNS subdomain hijacking awareness. The command dig CNAME bostonazuredemo.azuresecurely.com +short will check public DNS records for a CNAME, returning whatever it is mapped to, if anything. In the above screenshot: nothing returned from dig [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>On 22-Oct-2019 I spoke at <a href="https://www.meetup.com/bostonazure/events/265655799/">Boston Azure</a> about network security and focused on some of the edges of using Azure DNS, and included some DNS subdomain hijacking awareness.</p>
<p>The command</p>
<blockquote><p><b>d</b><b>ig CNAME </b><b style="background-color:#ffffff;color:var(--color-text);">bostonazuredemo.azuresecurely.com </b><b style="background-color:#ffffff;color:var(--color-text);">+short</b></p></blockquote>
<p>will check public DNS records for a CNAME, returning whatever it is mapped to, if anything.</p>
<p><a href="https://krebsonsecurity.com/wp-content/uploads/2016/10/l3outage-580x330.png"><img loading="lazy" data-attachment-id="3843" data-permalink="https://blog.codingoutloud.com/2019/11/01/talk-running-azure-dns-securely/digging-dns-hijacking/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2019/10/digging-dns-hijacking.png" data-orig-size="1270,515" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="digging-dns-hijacking" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2019/10/digging-dns-hijacking.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2019/10/digging-dns-hijacking.png?w=625" class="alignnone size-full wp-image-3843" src="https://blog.codingoutloud.com/wp-content/uploads/2019/10/digging-dns-hijacking.png" alt="digging-dns-hijacking" width="1270" height="515" srcset="https://blog.codingoutloud.com/wp-content/uploads/2019/10/digging-dns-hijacking.png 1270w, https://blog.codingoutloud.com/wp-content/uploads/2019/10/digging-dns-hijacking.png?w=150&amp;h=61 150w, https://blog.codingoutloud.com/wp-content/uploads/2019/10/digging-dns-hijacking.png?w=300&amp;h=122 300w, https://blog.codingoutloud.com/wp-content/uploads/2019/10/digging-dns-hijacking.png?w=768&amp;h=311 768w, https://blog.codingoutloud.com/wp-content/uploads/2019/10/digging-dns-hijacking.png?w=1024&amp;h=415 1024w" sizes="(max-width: 1270px) 100vw, 1270px" /></a></p>
<p>In the above screenshot:</p>
<ol>
<li>nothing returned from <strong>dig</strong> &#8211; this is before any DNS entry was created for the demo subdomain</li>
<li>a cascade of CNAMES are returned from <strong>dig</strong> &#8211; this is after a DNS entry was created for the demo subdomain &#8211; and it pointed at an Azure Web App &#8212; the cascade here includes my subdomain =&gt; an azurewebsites.net subdomain (<em>bostonazuredemo</em>.azurewebsites.net) =&gt; a second azurewebsites.net subdomain (waws-prod-dm1-139.sip&#8230;.) =&gt; a cloudapp.net domain =&gt; and finally an IP address</li>
<li>a single CNAME is returned from <strong>dig</strong> &#8211; this is after the Azure Web App was deleted (), but the DNS subdomain entry (<em>bostonazuredemo</em>.azuresecurely.com) was left intact &#8211; creating a dangling subdomain at risk of being hijacked &#8212; anyone who registered <em>bostonazuredemo</em>.azurewebsites.net (and it was open for <em>anyone</em>) would automatically have <em>bostonazuredemo</em>.azuresecurely.com already wired up to it.</li>
<li>a cascade of CNAMES are returned from <strong>dig </strong>&#8211; but different than the first &#8211; this is after <em style="color:var(--color-text);">bostonazuredemo</em><span style="color:var(--color-text);">.azurewebsites.net was registered again, by a hacker, and </span><em style="color:var(--color-text);">bostonazuredemo</em><span style="color:var(--color-text);">.azuresecurely.com was hijacked</span></li>
</ol>
<p>&nbsp;</p>
<p>Some other notes from the session:</p>
<ul>
<li>Here&#8217;s the <a href="https://krebsonsecurity.com/wp-content/uploads/2016/10/l3outage-580x330.png">heat map from Brian Krebs</a> from the Mirai botnet attack.</li>
<li>Let&#8217;s Encrypt config instructions &#8211;
<ul>
<li><a href="https://gooroo.io/GoorooTHINK/Article/16420/Lets-Encrypt-Azure-Web-Apps-the-Free-and-Easy-Way/21872#.Xa5iY5NKgcg" rel="nofollow">https://gooroo.io/GoorooTHINK/Article/16420/Lets-Encrypt-Azure-Web-Apps-the-Free-and-Easy-Way/21872#.Xa5iY5NKgcg</a></li>
<li><a href="https://www.hanselman.com/blog/SecuringAnAzureAppServiceWebsiteUnderSSLInMinutesWithLetsEncrypt.aspx" rel="nofollow">https://www.hanselman.com/blog/SecuringAnAzureAppServiceWebsiteUnderSSLInMinutesWithLetsEncrypt.aspx</a></li>
<li><a href="https://royaljay.com/development/free-ssl-cert-for-azure-web-apps/" rel="nofollow">https://royaljay.com/development/free-ssl-cert-for-azure-web-apps/</a></li>
</ul>
</li>
<li>About DNS: <a href="https://www.linode.com/docs/networking/dns/dns-records-an-introduction/" rel="nofollow">https://www.linode.com/docs/networking/dns/dns-records-an-introduction/</a></li>
<li>Managing multiple DNS sources: <a href="https://github.com/StackExchange/dnscontrol" rel="nofollow">https://github.com/StackExchange/dnscontrol</a></li>
<li>Sample code (nothing interesting): <a href="https://github.com/codingoutloud/claimdump/blob/master/ClaimDump/Views/Home/Index.cshtml" rel="nofollow">https://github.com/codingoutloud/claimdump/blob/master/ClaimDump/Views/Home/Index.cshtml</a></li>
</ul>
<p>Subdomain takeover examples:</p>
<ul>
<li><a href="https://hackerone.com/reports/576857" rel="nofollow">https://hackerone.com/reports/576857</a></li>
<li><a href="https://hackerone.com/hacktivity?querystring=subdomain" rel="nofollow">https://hackerone.com/hacktivity?querystring=subdomain</a></li>
</ul>
<p>
<a href='https://blog.codingoutloud.com/2019/11/01/talk-running-azure-dns-securely/hackerone/'><img width="150" height="93" src="https://blog.codingoutloud.com/wp-content/uploads/2019/11/hackerone.png?w=150" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://blog.codingoutloud.com/wp-content/uploads/2019/11/hackerone.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2019/11/hackerone.png?w=300 300w" sizes="(max-width: 150px) 100vw, 150px" data-attachment-id="3851" data-permalink="https://blog.codingoutloud.com/2019/11/01/talk-running-azure-dns-securely/hackerone/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2019/11/hackerone.png" data-orig-size="1098,680" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="hackerone" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2019/11/hackerone.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2019/11/hackerone.png?w=625" /></a>
<a href='https://blog.codingoutloud.com/2019/11/01/talk-running-azure-dns-securely/hacker3/'><img width="150" height="48" src="https://blog.codingoutloud.com/wp-content/uploads/2019/11/hacker3.png?w=150" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://blog.codingoutloud.com/wp-content/uploads/2019/11/hacker3.png?w=150 150w, https://blog.codingoutloud.com/wp-content/uploads/2019/11/hacker3.png?w=300 300w" sizes="(max-width: 150px) 100vw, 150px" data-attachment-id="3852" data-permalink="https://blog.codingoutloud.com/2019/11/01/talk-running-azure-dns-securely/hacker3/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2019/11/hacker3.png" data-orig-size="649,208" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="hacker3" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2019/11/hacker3.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2019/11/hacker3.png?w=625" /></a>
</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2019/11/01/talk-running-azure-dns-securely/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3839</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2019/10/digging-dns-hijacking.png" medium="image">
			<media:title type="html">digging-dns-hijacking</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2019/11/hackerone.png?w=150" medium="image" />

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2019/11/hacker3.png?w=150" medium="image" />
	</item>
		<item>
		<title>Talk: Running #Azure Securely &#8211; Are all these security features for me?</title>
		<link>https://blog.codingoutloud.com/2019/09/28/talk-running-azure-securely-are-all-these-security-features-for-me/</link>
					<comments>https://blog.codingoutloud.com/2019/09/28/talk-running-azure-securely-are-all-these-security-features-for-me/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sat, 28 Sep 2019 15:01:24 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3826</guid>

					<description><![CDATA[Today I had the opportunity to speak at VT Code Camp #11 in Burlington, VT. As part of my series of talks on Running Azure Securely, my talk today was around defense in depth and was called Running Azure Securely &#8211; which of these Azure security features are for me?. The session was interactive, engaging [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Today I had the opportunity to speak at <a href="https://www.vtcodecamp.org/">VT Code Camp #11</a> in Burlington, VT. As part of my series of talks on Running Azure Securely, my talk today was around defense in depth and was called <a href="https://www.vtcodecamp.org/2019/sessions/#running-azure-securely-which-of-these-azure-security-features">Running Azure Securely &#8211; which of these Azure security features are for me?</a>. The session was interactive, engaging a half-dozen folks in the audience in a discussion of how to defend various workloads using the (fictitious) <em>page of photos</em> app as a foil.</p>
<h2>Some Resources Mentioned</h2>
<ul>
<li>Azure is in <a href="https://azure.microsoft.com/en-us/global-infrastructure/regions/">54 regions</a> around the world</li>
<li><a href="https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/services-support-managed-identities">Which services support Managed Identities</a>? (works with Azure Active Directory – AAD)</li>
<li>Azure Sentinel (SIEM) <a href="https://docs.microsoft.com/en-us/azure/sentinel/overview">https://docs.microsoft.com/en-us/azure/sentinel/overview</a></li>
<li>Azure Playbooks (automated actions from Azure Security Center): <a href="https://docs.microsoft.com/en-us/azure/security-center/security-center-playbooks">https://docs.microsoft.com/en-us/azure/security-center/security-center-playbooks</a></li>
<li><em>Not mentioned, but might be of interest (more structured than the interactive format used today):</em> <a href="https://blog.codingoutloud.com/2019/09/14/talk-running-sql-azure-securely-sql-saturday-877-14-sep-2019/">https://blog.codingoutloud.com/2019/09/14/talk-running-sql-azure-securely-sql-saturday-877-14-sep-2019/</a></li>
</ul>
<h2>The deck</h2>
<p><a title="VermontCodeCamp-BillWilder-2019-Sep-28.AllTheseSecurityFeatures" href="https://blog.codingoutloud.com/wp-content/uploads/2019/09/vermontcodecamp-billwilder-2019-sep-28.allthesesecurityfeatures.pptx">VermontCodeCamp-BillWilder-2019-Sep-28.AllTheseSecurityFeatures</a></p>
<h2>Talk description</h2>
<article id="running-azure-securely-which-of-these-azure-security-features" class="session article"><em>Azure offers thousands of security features. Some of them are easy to use and others are complicated. Some are free to use and some look really, really expensive. Which ones should I be using for my applications?</em></p>
<p><em>In this talk we’ll look at some ways to reason about which security controls you might want to apply and why. We’ll consider groups of Azure security features through a pragmatic lens of security best practices and defense-in-depth/breadth, but tempered by the reality that “more security” is not always the answer, but rather “what is the right security” for a situation. By the end of this talk you should have a better idea of the security feature set offered by Azure, why/when they might or might not be needed, and have discussed some ways to reason about how which are relevant you by helping you think about how to assess appropriately for multiple situations.</em></p>
<p><em>Do you have specific questions about the applicability of Azure security features already? Feel free to tweet your questions at Bill in advance to <a href='https://codingoutloud.wordpress.com/mentions/codingoutloud/' class='__p2-hovercard mention' data-type='fragment-mention' data-username='codingoutloud'><span class='mentions-prefix'>@</span>codingoutloud</a> and he&#8217;ll try to work answers to any questions into the talk in advance.</em></p>
</article>
<article id="scale-your-api-quickly-using-message-queues-on-aws" class="session article">
<div class="d-inline-flex headline ">
<h2 class="d-inline-flex"></h2>
</div>
</article>
<h2>Action Photo</h2>
<p><em>(if I can find one)</em></p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2019/09/28/talk-running-azure-securely-are-all-these-security-features-for-me/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3826</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Running SQL Azure Securely — SQL Saturday #877 — 14-Sep-2019</title>
		<link>https://blog.codingoutloud.com/2019/09/14/talk-running-sql-azure-securely-sql-saturday-877-14-sep-2019/</link>
					<comments>https://blog.codingoutloud.com/2019/09/14/talk-running-sql-azure-securely-sql-saturday-877-14-sep-2019/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sat, 14 Sep 2019 16:59:37 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3816</guid>

					<description><![CDATA[Today I had the opportunity to speak at SQL Saturday #877 in Burlington, MA. As part of my series of talks on Running Azure Securely, my talk today was Running Azure SQL Database Securely and applied to Azure SQL DB and Azure SQL DB Managed Instances. Some Resources Mentioned Azure is in 54 regions around the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Today I had the opportunity to speak at <a href="https://www.sqlsaturday.com/877/">SQL Saturday #877</a> in Burlington, MA. As part of my series of talks on Running Azure Securely, my talk today was <a href="https://www.sqlsaturday.com/877/Sessions/Details.aspx?sid=96080">Running Azure SQL Database Securely</a> and applied to Azure SQL DB and Azure SQL DB Managed Instances.</p>
<h2>Some Resources Mentioned</h2>
<ul>
<li>Azure is in <a href="https://azure.microsoft.com/en-us/global-infrastructure/regions/">54 regions</a> around the world</li>
<li>Azure has met so many <a href="https://www.microsoft.com/en-us/trustcenter/compliance/complianceofferings">compliance standards</a>, they had to get the UX team involved! #goodproblemtohave</li>
<li><a href="https://blog.codingoutloud.com/2019/03/12/who-logged-into-my-azure-sql-database/">Who logged into my Azure SQL Database?</a></li>
<li><a href="https://docs.microsoft.com/en-us/azure/sql-database/sql-database-auditing">Setting up Azure SQL Database auditing</a> (prerequisite for the above technique to figure out <a href="https://blog.codingoutloud.com/2019/03/12/who-logged-into-my-azure-sql-database/">who logged in</a>)</li>
<li>Enable <a href="https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/concept-baseline-protection">baseline protection policies</a> to better protect accounts</li>
<li><a href="https://docs.microsoft.com/en-us/azure/sql-database/sql-database-business-continuity">Business Continuity</a></li>
<li><a href="https://docs.microsoft.com/en-us/azure/sql-database/sql-database-automated-backups">Backing up my Azure SQL Databases</a> (full backups)</li>
<li>Automatic short-term (up to 35 days) backup window via Azure SQL Database <a href="https://azure.microsoft.com/en-us/blog/azure-sql-database-point-in-time-restore/">Point in Time Restore</a></li>
<li><a href="https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/services-support-managed-identities">Which services support Managed Identities</a>? (works with Azure Active Directory &#8211; AAD)</li>
<li>Azure SQL Database <a href="https://docs.microsoft.com/en-us/azure/sql-database/sql-database-managed-instance">Managed Instances</a> are not same as SQL Database</li>
</ul>
<h2>The deck</h2>
<p><a title="Running Azure SQL DBs Securely - Bill Wilder - SQL Saturday #877 - 14-Sep-2019" href="https://blog.codingoutloud.com/wp-content/uploads/2019/09/running-azure-sql-dbs-securely-bill-wilder-sql-saturday-877-14-sep-2019.pptx">Running Azure SQL DBs Securely &#8211; Bill Wilder &#8211; SQL Saturday #877 &#8211; 14-Sep-2019</a></p>
<h2>Talk description</h2>
<p><em>If you know your way around SQL Server, then you will find Azure SQL Database to be familiar territory. But some aspects are more familiar than others, which is especially true for security-related differences. </em></p>
<p><em>In this session we review the key differences around identity management and authentication (including multi-factor authentication), managing server credentials (or, even better, not needing to in some cases), how to audit logins (probably not what you expect), an overview of encryption and data masking options, and the supporting role of Azure Key Vault. We will also touch on compliance and disaster recovery to give the complete picture of powerful features you&#8217;ll definitely want to know about to protect your data. </em></p>
<p><em>This talk will cover relevant capabilities for both traditional Azure SQL Databases and the newer Azure SQL Managed Instances. </em></p>
<p><em>This talk assumes you are already familiar with SQL Server or another enterprise database.</em></p>
<h2>Action Photo</h2>
<p>(Credit <a href="https://twitter.com/SqlWorldWide/status/1172894313686216706">Taiob Ali @SqlWorldWide</a>)</p>
<p><img src="https://pbs.twimg.com/media/EEb1KL6X4AAIQpj?format=jpg&amp;name=4096x4096" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2019/09/14/talk-running-sql-azure-securely-sql-saturday-877-14-sep-2019/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3816</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://pbs.twimg.com/media/EEb1KL6X4AAIQpj?format=jpg&#038;name=4096x4096" medium="image" />
	</item>
		<item>
		<title>Talk: Are all these #Azure security features for me?</title>
		<link>https://blog.codingoutloud.com/2019/08/04/talk-are-all-these-azure-security-features-for-me/</link>
					<comments>https://blog.codingoutloud.com/2019/08/04/talk-are-all-these-azure-security-features-for-me/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sun, 04 Aug 2019 16:25:46 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3807</guid>

					<description><![CDATA[On Tuesday July, 30, 2019 I had the opportunity to speak at North Boston Azure. The talk was part of a series on Running Azure Securely and was called Are all these Azure security features for me? and was not really a &#8220;talk&#8221; in that it was highly interactive. For those who attended, you will [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.meetup.com/North-Boston-Azure-Cloud-User-Group/events/263338746/">On Tuesday July, 30, 2019 I had the opportunity to speak at North Boston Azure</a>. The talk was part of a series on <strong>Running Azure Securely</strong> and was called <em>Are all these Azure security features for me?</em> and was not really a &#8220;talk&#8221; in that it was highly interactive. For those who attended, you will recall we filled in some slides collaboratively. Thus, they may not appear so polished for those of you who did not join live. Either way, please find the slides (&#8220;collaborative&#8221; and all) below.</p>
<p><img loading="lazy" data-attachment-id="3814" data-permalink="https://blog.codingoutloud.com/2019/08/04/talk-are-all-these-azure-security-features-for-me/highres_483599366/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2019/08/highres_483599366.jpeg" data-orig-size="4032,3024" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="highres_483599366" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2019/08/highres_483599366.jpeg?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2019/08/highres_483599366.jpeg?w=625" class="alignnone size-full wp-image-3814" src="https://blog.codingoutloud.com/wp-content/uploads/2019/08/highres_483599366.jpeg" alt="highres_483599366" width="4032" height="3024" srcset="https://blog.codingoutloud.com/wp-content/uploads/2019/08/highres_483599366.jpeg 4032w, https://blog.codingoutloud.com/wp-content/uploads/2019/08/highres_483599366.jpeg?w=150&amp;h=113 150w, https://blog.codingoutloud.com/wp-content/uploads/2019/08/highres_483599366.jpeg?w=300&amp;h=225 300w, https://blog.codingoutloud.com/wp-content/uploads/2019/08/highres_483599366.jpeg?w=768&amp;h=576 768w, https://blog.codingoutloud.com/wp-content/uploads/2019/08/highres_483599366.jpeg?w=1024&amp;h=768 1024w, https://blog.codingoutloud.com/wp-content/uploads/2019/08/highres_483599366.jpeg?w=1440&amp;h=1080 1440w" sizes="(max-width: 4032px) 100vw, 4032px" /></p>
<p>This was an experimental approach for me and the feedback from the audience tells me it worked pretty well. The group at North Boston Azure was already knowledgeable and engaged, so hopefully made for a interesting experience for all involved (was certainly fun for me).</p>
<p><a href="https://blog.codingoutloud.com/wp-content/uploads/2019/08/azure-defenseindepth-billwilder-2019-july-30.pptx">Azure-DefenseInDepth-BillWilder-2019-July-30</a></p>
<p>You can follow me on Twitter (<a href="https://twitter.com/codingoutloud">@codingoutloud</a>).</p>
<p>You can also follow Boston Azure on Twitter (<a href="https://twitter.com/bostonazure">@bostonazure</a>).</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2019/08/04/talk-are-all-these-azure-security-features-for-me/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3807</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2019/08/highres_483599366.jpeg" medium="image">
			<media:title type="html">highres_483599366</media:title>
		</media:content>
	</item>
		<item>
		<title>Event: Boston #Azure / MIT edition of Global Azure Bootcamp</title>
		<link>https://blog.codingoutloud.com/2019/05/05/talk-boston-azure-mit-edition-of-global-azure-bootcamp/</link>
					<comments>https://blog.codingoutloud.com/2019/05/05/talk-boston-azure-mit-edition-of-global-azure-bootcamp/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sun, 05 May 2019 09:24:01 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3797</guid>

					<description><![CDATA[We had a great event at MIT on Saturday 27-April-2019 &#8212; the Boston Azure edition of the Global Azure Bootcamp hosted at MIT. There were lots of great session contributions &#8211; making this a true community effort. ORGANIZERS Big thank you to local organizers Olimpia (@olimpiaestela), Veronika (@breakpointv16), Gladis, and Maura (@squdgy). We all worked [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>We had a great event at MIT on Saturday 27-April-2019 &#8212; the <a href="https://www.meetup.com/bostonazure/events/257116643/">Boston Azure edition of the Global Azure Bootcamp hosted at MIT</a>. There were lots of <a href="https://bostonazurebootcamp.com/2019/Sessions">great session contributions</a> &#8211; making this a true community effort.</p>
<p>ORGANIZERS</p>
<p>Big thank you to local organizers <strong>Olimpia</strong> (<a href="https://twitter.com/olimpiaestela">@olimpiaestela</a>), <strong>Veronika</strong> (<a href="https://twitter.com/breakpointv16">@breakpointv16</a>), <strong>Gladis</strong>, and <strong>Maura</strong> (<a href="https://twitter.com/squdgy">@squdgy</a>). We all worked closely with <strong>Jason</strong> (<a href="https://twitter.com/haleyjason">@haleyjason</a>) who ran the Burlington MA event. And don&#8217;t forget those folks at the Global Azure Bootcamp level providing a platform making this possible for a coordinated day of <a href="https://twitter.com/search?q=%23GlobalAzure%20&amp;src=typd">#Global Azure </a>cloudiness (<a href="https://global.azurebootcamp.net/">https://global.azurebootcamp.net/</a>).</p>
<p>SPONSORS</p>
<p>The thanks continue with sponsors: <strong>MIT Women in Technology</strong>, <strong>Insight</strong> (formerly Blue Metal &#8211; <a href="https://www.insight.com/en_US/solve/digital-innovation.html" rel="nofollow">https://www.insight.com/en_US/solve/digital-innovation.html</a>), <a href="https://twitter.com/finomial"><strong>Finomial</strong></a>, and the Global Sponsors (<a href="https://global.azurebootcamp.net/sponsors/">https://global.azurebootcamp.net/sponsors/</a>).</p>
<p>SPEAKERS</p>
<p>And a big thank you to the speakers &#8211; all who gave up a chunk of weekend to join us on a Saturday to share their knowledge (in order of appearance):</p>
<ul>
<li><em>Enterprise Integration using Azure Serverless</em> by<br />
<strong>Juan Pablo Garcia Gonzalez</strong> (<a href="https://twitter.com/liarjo">@liarjo</a>) &#8211; slides/sample code: <a href="https://github.com/liarjo/LogicApps-MIT-demo/tree/master/Logic-App-Demohttps://github.com/liarjo/LogicApps-MIT-demo/tree/master/Logic-App-Demo">https://github.com/liarjo/LogicApps-MIT-demo/tree/master/Logic-App-Demo</a></li>
<li><em>A SIEM-ple Guide to Azure Sentinel</em> by <strong>Jason Nickola</strong> (<a href="https://twitter.com/chm0dx">@chm0dx</a>)</li>
<li><em>Securing Azure workloads to DoD standards</em> by <strong>Michael O&#8217;Leary</strong> (not finding a personal twitter handle, so providing his employer&#8217;s: <a href="https://twitter.com/F5Networks">@F5Networks</a>)</li>
<li><em>Cognitive Services</em> by <strong>Veronika Kolesnikova</strong> (<a href="https://twitter.com/breakpointv16">@breakpointv16</a>) &#8211; slides/sample code: <a href="https://www.slideshare.net/secret/swBgIpZvpPUM7g">https://www.slideshare.net/secret/swBgIpZvpPUM7g</a> and <a href="https://github.com/Veroni4ka/ArtworkLab">https://github.com/Veroni4ka/ArtworkLab</a></li>
<li><em>Build your first Java app</em> by <strong>Elizabeth Rosso</strong> (<a href="https://twitter.com/_elizabethrosso">@_elizabethrosso</a>)</li>
<li><em>Learn to make your own Recommendation System with AzureML</em> by <strong>Beth Zeranski</strong> (<a href="https://twitter.com/BethZeranski">@BethZ</a>)</li>
<li>I wrapped up the day (<strong>Bill Wilder</strong>, <a href="https://twitter.com/codingoutloud">@codingoutloud</a>) trying to tie together varied points based on audience feedback, with my (wide ranging) slides, samples, and relevant links included below.</li>
</ul>
<p>Attached are my slides:</p>
<ul>
<li><a href="https://blog.codingoutloud.com/wp-content/uploads/2019/05/bostonazurebootcamp-whomovedmycheese-billwilder-2019-apr-27.pptx">BostonAzureBootcamp-WhoMovedMyCheese-BillWilder-2019-Apr-27</a></li>
<li><a title="AzureLogicAndFunctionApps-AzureBootcamp-27-Apr-2019" href="https://blog.codingoutloud.com/wp-content/uploads/2019/07/azurelogicandfunctionapps-azurebootcamp-27-apr-2019.pptx">AzureLogicAndFunctionApps-AzureBootcamp-27-Apr-2019</a></li>
</ul>
<p><img src="https://docs.microsoft.com/en-us/azure/event-grid/media/overview/functional-model.png" /></p>
<p>The above graphic is from here: <a href="https://docs.microsoft.com/en-us/azure/event-grid/overview#event-sources" rel="nofollow">https://docs.microsoft.com/en-us/azure/event-grid/overview#event-sources</a></p>
<p>Here are some more links of interest:</p>
<ol>
<li>Some collected links (some repeated below): <a href="https://github.com/codingoutloud/bostonazurebootcamp2019/blob/master/README.md" rel="nofollow">https://github.com/codingoutloud/bostonazurebootcamp2019/blob/master/README.md</a></li>
<li>C# Script is real &#8211; not a hoax! <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> &#8211; <a href="https://msdn.microsoft.com/en-us/magazine/mt614271.aspx">https://msdn.microsoft.com/en-us/magazine/mt614271.aspx</a></li>
<li>Azure Functions support C# Script (.csx files) &#8211; but also regular compiled C# (.cs on .NET Core)</li>
<li>Example Azure Function written in regular compiled C#: <a style="font-size:1rem;" href="https://github.com/codingoutloud/opstoolbox">https://github.com/codingoutloud/opstoolbox</a><span style="font-size:1rem;"> (especially </span><a style="font-size:1rem;" href="https://github.com/codingoutloud/opstoolbox/blob/master/SslCertificateExpirationChecker.cs">https://github.com/codingoutloud/opstoolbox/blob/master/SslCertificateExpirationChecker.cs</a><span style="font-size:1rem;">)</span></li>
<li>Here are some example uses of the above:
<ul>
<li><a href="http://secops.azurewebsites.net/days/blog.codingoutloud.com" rel="nofollow">http://secops.azurewebsites.net/days/blog.codingoutloud.com</a></li>
<li><a href="http://secops.azurewebsites.net/days/twitter.com" rel="nofollow">http://secops.azurewebsites.net/days/twitter.com</a></li>
<li><a href="http://secops.azurewebsites.net/days/domaindoesnotexist98725.com" rel="nofollow">http://secops.azurewebsites.net/days/domaindoesnotexist98725.com</a></li>
</ul>
</li>
<li>Event Grid:
<ol>
<li><a href="https://docs.microsoft.com/en-us/azure/event-grid/event-sources" rel="nofollow">https://docs.microsoft.com/en-us/azure/event-grid/event-sources</a></li>
<li><a style="font-size:1rem;" href="https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-grid">https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-grid</a></li>
<li><a style="font-size:1rem;" href="https://madeofstrings.com/2018/06/29/azure-event-grid-filters-with-logic-apps/">https://madeofstrings.com/2018/06/29/azure-event-grid-filters-with-logic-apps/</a></li>
<li>&#8220;Slide&#8221; I showed is below &#8211; it is from here: <a href="https://docs.microsoft.com/en-us/azure/event-grid/media/overview/functional-model.png" rel="nofollow">https://docs.microsoft.com/en-us/azure/event-grid/media/overview/functional-model.png</a></li>
</ol>
</li>
<li><strong style="font-size:1rem;">Combine Azure Logic Apps with Azure Functions &#8211; </strong><a style="font-size:1rem;" href="https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-azure-functions#add-function-logic-app">https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-azure-functions#add-function-logic-app</a></li>
<li>Similar to “follow-along lab” that tied together Subscription changes to an Azure Function using EventGrid</li>
<li>Azure Function in JavaScript that fails 75% of the time. Useful for testing retries and seeing how errors are handled: <a style="font-size:1rem;" href="https://gist.github.com/codingoutloud/151976063b1e9367369f1505f6cca66e">https://gist.github.com/codingoutloud/151976063b1e9367369f1505f6cca66e</a></li>
<li>Azure Blockchain Workbench:
<ol>
<li><a style="font-size:1rem;" href="https://azure.microsoft.com/en-us/features/blockchain-workbench/">https://azure.microsoft.com/en-us/features/blockchain-workbench/</a></li>
<li><a style="font-size:1rem;" href="https://docs.microsoft.com/en-us/azure/blockchain/workbench/">https://docs.microsoft.com/en-us/azure/blockchain/workbench/</a></li>
<li><a style="font-size:1rem;" href="https://docs.microsoft.com/en-us/azure/blockchain/workbench/architecture">https://docs.microsoft.com/en-us/azure/blockchain/workbench/architecture</a></li>
<li><a style="font-size:1rem;" href="https://docs.microsoft.com/en-us/azure/blockchain/workbench/use">https://docs.microsoft.com/en-us/azure/blockchain/workbench/use</a></li>
</ol>
</li>
</ol>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2019/05/05/talk-boston-azure-mit-edition-of-global-azure-bootcamp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3797</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://docs.microsoft.com/en-us/azure/event-grid/media/overview/functional-model.png" medium="image" />
	</item>
		<item>
		<title>Who logged into my #Azure SQL Database?</title>
		<link>https://blog.codingoutloud.com/2019/03/12/who-logged-into-my-azure-sql-database/</link>
					<comments>https://blog.codingoutloud.com/2019/03/12/who-logged-into-my-azure-sql-database/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Wed, 13 Mar 2019 00:18:22 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[secops]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3790</guid>

					<description><![CDATA[Ever try to figure out how to track who logged into your Azure SQL database? You checked all the usual ways you might handle that with a SQL Server database, but one-by-one find out they just don&#8217;t work. Here&#8217;s one way to do it. To track who is logging into your Azure SQL database, enable [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Ever try to figure out how to track who logged into your Azure SQL database? You checked all the usual ways you might handle that with a SQL Server database, but one-by-one find out they just don&#8217;t work. Here&#8217;s one way to do it.</p>
<p>To track who is logging into your Azure SQL database, enable auditing (<a href="https://docs.microsoft.com/en-us/azure/sql-database/sql-database-auditing">here&#8217;s how to do that</a>) with audit entries directed to an <em>Azure storage blob</em>. There are two ways to do this: at the database server level and at the individual database level. Either is fine, but for the example that follows, auditing is assumed to be at the db <em>server level</em>. The example query can be adjusted to work with auditing at the <em>database level</em>, but one of the two auditing options is definitely required to be on!</p>
<p>Run this query to find out all the principals (users) who have logged in so far today into your Azure SQL database.</p>
<style>.gist table { margin-bottom: 0; }</style>
<div style="tab-size: 8" id="gist95112584" class="gist">
<div class="gist-file" translate="no" data-color-mode="light" data-light-theme="light">
<div class="gist-data">
<div class="js-gist-file-update-container js-task-list-container">
<div id="file-check-azure-sql-db-logins-sql" class="file my-2">
<div itemprop="text"
      class="Box-body p-0 blob-wrapper data type-sql  "
      style="overflow: auto" tabindex="0" role="region"
      aria-label="check-azure-sql-db-logins.sql content, created by codingoutloud on 05:27PM on March 12, 2019."
    ></p>
<div class="js-check-hidden-unicode js-blob-code-container blob-code-content">
<p>  <template class="js-file-alert-template"></p>
<div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg><br />
    <span><br />
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.<br />
      <a class="Link--inTextBlock" href="https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a><br />
    </span></p>
<div data-view-component="true" class="flash-action">        <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn">    Show hidden characters<br />
</a>
</div>
</div>
<p></template><br />
<template class="js-line-alert-template"><br />
  <span aria-label="This line has hidden Unicode characters" data-view-component="true" class="line-alert tooltipped tooltipped-e"><br />
    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg><br />
</span></template></p>
<table data-hpc class="highlight tab-size js-file-line-container" data-tab-size="4" data-paste-markdown-skip data-tagsearch-path="check-azure-sql-db-logins.sql">
<tr>
<td id="file-check-azure-sql-db-logins-sql-L1" class="blob-num js-line-number js-blob-rnum" data-line-number="1"></td>
<td id="file-check-azure-sql-db-logins-sql-LC1" class="blob-code blob-code-inner js-file-line">&#8212; Turn on Audit Logging to Blob for your Azure SQL Database. Then you can query who has logged in. </td>
</tr>
<tr>
<td id="file-check-azure-sql-db-logins-sql-L2" class="blob-num js-line-number js-blob-rnum" data-line-number="2"></td>
<td id="file-check-azure-sql-db-logins-sql-LC2" class="blob-code blob-code-inner js-file-line">&#8212; The example below assumes DB Server-level audit logging. Details will vary slightly for Database-level audit logging.</td>
</tr>
<tr>
<td id="file-check-azure-sql-db-logins-sql-L3" class="blob-num js-line-number js-blob-rnum" data-line-number="3"></td>
<td id="file-check-azure-sql-db-logins-sql-LC3" class="blob-code blob-code-inner js-file-line">&#8212; The example below shows who logged in so far today.</td>
</tr>
<tr>
<td id="file-check-azure-sql-db-logins-sql-L4" class="blob-num js-line-number js-blob-rnum" data-line-number="4"></td>
<td id="file-check-azure-sql-db-logins-sql-LC4" class="blob-code blob-code-inner js-file-line">&#8212; Change &quot;-0&quot; to &quot;-1&quot; to look at yesterday (from a UTC perspective, not your local timezone).</td>
</tr>
<tr>
<td id="file-check-azure-sql-db-logins-sql-L5" class="blob-num js-line-number js-blob-rnum" data-line-number="5"></td>
<td id="file-check-azure-sql-db-logins-sql-LC5" class="blob-code blob-code-inner js-file-line">&#8212; Change &quot;-0&quot; to &quot;-100&quot; to look at 100 days ago.</td>
</tr>
<tr>
<td id="file-check-azure-sql-db-logins-sql-L6" class="blob-num js-line-number js-blob-rnum" data-line-number="6"></td>
<td id="file-check-azure-sql-db-logins-sql-LC6" class="blob-code blob-code-inner js-file-line">SELECT FORMATMESSAGE(&#39;%s (%s)&#39;, CAST(DATEADD(day, -0, CONVERT(date, SYSUTCDATETIME())) as varchar), </td>
</tr>
<tr>
<td id="file-check-azure-sql-db-logins-sql-L7" class="blob-num js-line-number js-blob-rnum" data-line-number="7"></td>
<td id="file-check-azure-sql-db-logins-sql-LC7" class="blob-code blob-code-inner js-file-line">                      DATENAME(WEEKDAY, DATEADD(day, -0, SYSUTCDATETIME()))), </td>
</tr>
<tr>
<td id="file-check-azure-sql-db-logins-sql-L8" class="blob-num js-line-number js-blob-rnum" data-line-number="8"></td>
<td id="file-check-azure-sql-db-logins-sql-LC8" class="blob-code blob-code-inner js-file-line">       server_principal_name, </td>
</tr>
<tr>
<td id="file-check-azure-sql-db-logins-sql-L9" class="blob-num js-line-number js-blob-rnum" data-line-number="9"></td>
<td id="file-check-azure-sql-db-logins-sql-LC9" class="blob-code blob-code-inner js-file-line">       COUNT(server_principal_name) as &#39;Logins&#39;</td>
</tr>
<tr>
<td id="file-check-azure-sql-db-logins-sql-L10" class="blob-num js-line-number js-blob-rnum" data-line-number="10"></td>
<td id="file-check-azure-sql-db-logins-sql-LC10" class="blob-code blob-code-inner js-file-line">FROM sys.fn_get_audit_file(FORMATMESSAGE(&#39;<a href="https://&lt;MYBLOB&#038;gt" rel="nofollow">https://&lt;MYBLOB&#038;gt</a>;.blob.core.windows.net/sqldbauditlogs/&lt;MYDBSERVER&gt;/&lt;MYDB&gt;/SqlDbAuditing_ServerAudit/%s/&#39;, </td>
</tr>
<tr>
<td id="file-check-azure-sql-db-logins-sql-L11" class="blob-num js-line-number js-blob-rnum" data-line-number="11"></td>
<td id="file-check-azure-sql-db-logins-sql-LC11" class="blob-code blob-code-inner js-file-line">                                         CAST(DATEADD(day, -0, CONVERT(date, SYSUTCDATETIME())) as varchar)),default, default)</td>
</tr>
<tr>
<td id="file-check-azure-sql-db-logins-sql-L12" class="blob-num js-line-number js-blob-rnum" data-line-number="12"></td>
<td id="file-check-azure-sql-db-logins-sql-LC12" class="blob-code blob-code-inner js-file-line">WHERE (event_time &gt;= CAST(CONVERT(date, SYSUTCDATETIME()) as datetime2))AND (action_id = &#39;DBAS&#39;)</td>
</tr>
<tr>
<td id="file-check-azure-sql-db-logins-sql-L13" class="blob-num js-line-number js-blob-rnum" data-line-number="13"></td>
<td id="file-check-azure-sql-db-logins-sql-LC13" class="blob-code blob-code-inner js-file-line">GROUP BY server_principal_name </td>
</tr>
<tr>
<td id="file-check-azure-sql-db-logins-sql-L14" class="blob-num js-line-number js-blob-rnum" data-line-number="14"></td>
<td id="file-check-azure-sql-db-logins-sql-LC14" class="blob-code blob-code-inner js-file-line">HAVING COUNT(server_principal_name) &gt; 0</td>
</tr>
</table>
</div></div>
</p></div>
</div></div>
<div class="gist-meta">
        <a href="https://gist.github.com/codingoutloud/0f4a20848048f14eb49bb645a6e8d821/raw/c0143d194e80bad78866c40d11794a4ba0547f1f/check-azure-sql-db-logins.sql" style="float:right" class="Link--inTextBlock">view raw</a><br />
        <a href="https://gist.github.com/codingoutloud/0f4a20848048f14eb49bb645a6e8d821#file-check-azure-sql-db-logins-sql" class="Link--inTextBlock"><br />
          check-azure-sql-db-logins.sql<br />
        </a><br />
        hosted with &#10084; by <a class="Link--inTextBlock" href="https://github.com">GitHub</a>
      </div>
</p></div>
</div>
<p>The output is something like the following, assuming if I&#8217;ve logged in 12 times so far today with my AAD account (<strong>bill@example.com</strong>) and 1 time with a database-specific credential (<strong>myadmin</strong>):</p>
<blockquote>
<pre>09-Nov-2019 (Saturday) codingoutloud@example.com 12

09-Nov-2019 (Saturday) myadmin 1</pre>
</blockquote>
<p>The query might take a while time to run, depending on how much data you are traversing. In one of my test environments, it takes nearly 20 minutes. I am sure it is sensitive the amount of data you are logging, database activity, and maybe settings on your blob (not sure if premium storage is supported, but I&#8217;m not using it and didn&#8217;t test with it).</p>
<p><em>Note: There are other ways to accomplish this, but every way I know of requires use of Azure SQL auditing. In this post we pushed them to blobs, but other destinations are available. For example, you could send to Event Hubs for a more on-the-fly tracker.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2019/03/12/who-logged-into-my-azure-sql-database/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3790</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Running Azure Securely &#8212; PART I &#8212; Boston Azure 18-Oct-2018</title>
		<link>https://blog.codingoutloud.com/2018/10/19/talk-running-azure-securely-part-i-boston-azure-18-oct-2018/</link>
					<comments>https://blog.codingoutloud.com/2018/10/19/talk-running-azure-securely-part-i-boston-azure-18-oct-2018/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Fri, 19 Oct 2018 19:13:45 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3783</guid>

					<description><![CDATA[At most recent Boston Azure meeting I give (what turns out to be&#8230;) the first part of a multi-part talk on Running Azure Securely. Even though I did not cover all this content, I&#8217;ve attached the whole powerpoint deck below. BostonAzure-RunningAzureSecurely-BillWilder-2018-Oct-18 Please watch for a Part II to be scheduled.]]></description>
										<content:encoded><![CDATA[<p>At <a href="https://www.meetup.com/bostonazure/events/255137113/">most recent Boston Azure meeting</a> I give (what turns out to be&#8230;) the first part of a multi-part talk on Running Azure Securely. Even though I did not cover all this content, I&#8217;ve attached the whole powerpoint deck below.</p>
<p><a href="https://blog.codingoutloud.com/wp-content/uploads/2018/10/bostonazure-runningazuresecurely-billwilder-2018-oct-18.pptx">BostonAzure-RunningAzureSecurely-BillWilder-2018-Oct-18</a></p>
<p>Please watch for a Part II to be scheduled.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2018/10/19/talk-running-azure-securely-part-i-boston-azure-18-oct-2018/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3783</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Running Securely On Azure &#8211; 29th Boston Code Camp</title>
		<link>https://blog.codingoutloud.com/2018/04/09/talk-running-securely-on-azure-29th-boston-code-camp/</link>
					<comments>https://blog.codingoutloud.com/2018/04/09/talk-running-securely-on-azure-29th-boston-code-camp/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Mon, 09 Apr 2018 13:49:53 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3780</guid>

					<description><![CDATA[At the 29th Boston Code Camp, I spoke about Running Securely on Azure. Thanks to all of you who waited patiently for the A/V hookup challenges to be overcome. Slides are here: BostonCodeCamp-RunningAzureSecurely-BillWilder-2018-Apr-07 &#160;]]></description>
										<content:encoded><![CDATA[<p>At the 29th Boston Code Camp, I spoke about <a href="https://www.bostoncodecamp.com/CC29/sessions/details/16632">Running Securely on Azure</a>. Thanks to all of you who waited patiently for the A/V hookup challenges to be overcome.</p>
<p>Slides are here:</p>
<p><a href="https://blog.codingoutloud.com/wp-content/uploads/2018/04/bostoncodecamp-runningazuresecurely-billwilder-2018-apr-07.pptx">BostonCodeCamp-RunningAzureSecurely-BillWilder-2018-Apr-07</a></p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2018/04/09/talk-running-securely-on-azure-29th-boston-code-camp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3780</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Running Securely On Azure</title>
		<link>https://blog.codingoutloud.com/2018/03/29/talk-running-securely-on-azure/</link>
					<comments>https://blog.codingoutloud.com/2018/03/29/talk-running-securely-on-azure/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Thu, 29 Mar 2018 14:21:46 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3777</guid>

					<description><![CDATA[On Tuesday evening 27-Mar-2018 I had the pleasure of speaking to the Nashville Azure group about keeping workloads safe in the Azure cloud. Was a great group with a lot of interesting questions and dialog. They even helped to answer each others&#8217; questions when I didn&#8217;t have answers, which is the best outcome of all. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>On Tuesday evening 27-Mar-2018 I had the pleasure of speaking to the <a href="https://www.meetup.com/The-Nashville-Microsoft-Azure-Users-Group/events/247423484/">Nashville Azure</a> group about keeping workloads safe in the Azure cloud. Was a great group with a lot of interesting questions and dialog. They even helped to answer each others&#8217; questions when I didn&#8217;t have answers, which is the best outcome of all.</p>
<p>For those interested in the deck I used, please find it below.</p>
<p><a title="NashvilleAzure-RunningAzureSecurely-BillWilder-2018-Mar-27-Published" href="https://blog.codingoutloud.com/wp-content/uploads/2018/03/nashvilleazure-runningazuresecurely-billwilder-2018-mar-27-published.pptx">NashvilleAzure-RunningAzureSecurely-BillWilder-2018-Mar-27-Published</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2018/03/29/talk-running-securely-on-azure/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3777</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: SQL Saturday 694 &#8211; Azure SQL Database &#8211; not just a cloud version of SQL Server</title>
		<link>https://blog.codingoutloud.com/2017/12/09/talk-sql-saturday-694-azure-sql-database-not-just-a-cloud-version-of-sql-server/</link>
					<comments>https://blog.codingoutloud.com/2017/12/09/talk-sql-saturday-694-azure-sql-database-not-just-a-cloud-version-of-sql-server/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sun, 10 Dec 2017 02:14:28 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3774</guid>

					<description><![CDATA[Spoke today to a small crowd of hardy soles who braved the snow to make it to SQL Saturday 694 &#8211; Providence &#8211; held at nearby Bryant University in Smithfield. My slides are included below. Azure SQL DB &#8211; Not Just A Cloud Version of SQL Server &#8211; SQL Saturday RI &#8211; 09-Dec-2017]]></description>
										<content:encoded><![CDATA[<p>Spoke today to a small crowd of hardy soles who braved the snow to make it to SQL Saturday 694 &#8211; Providence &#8211; held at nearby Bryant University in Smithfield.</p>
<p>My slides are included below.</p>
<p><a title="Azure SQL DB - Not Just A Cloud Version of SQL Server - SQL Saturday RI - 09-Dec-2017" href="https://blog.codingoutloud.com/wp-content/uploads/2017/12/azure-sql-db-not-just-a-cloud-version-of-sql-server-sql-saturday-ri-09-dec-2017.pptx">Azure SQL DB &#8211; Not Just A Cloud Version of SQL Server &#8211; SQL Saturday RI &#8211; 09-Dec-2017</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2017/12/09/talk-sql-saturday-694-azure-sql-database-not-just-a-cloud-version-of-sql-server/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3774</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: SharePoint Saturday Burlington &#8211; Gentle Introduction to Azure</title>
		<link>https://blog.codingoutloud.com/2017/10/28/talk-sharepoint-saturday-burlington-gentle-introduction-to-azure/</link>
					<comments>https://blog.codingoutloud.com/2017/10/28/talk-sharepoint-saturday-burlington-gentle-introduction-to-azure/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Sat, 28 Oct 2017 19:19:05 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3758</guid>

					<description><![CDATA[We first looked at how we might solve a random StackOverflow question using Azure Logic Apps, Azure Function Apps, the nifty PhantomJsCloud.com service, and a look at how a little Cognitive Service action could be woven in. A random walk around other Azure features followed. Some reactions were memorable &#8211; my favorite, because I completely [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>We first looked at how we might solve <a href="https://stackoverflow.com/q/37506303">a random StackOverflow question</a> using Azure Logic Apps, Azure Function Apps, the nifty <a href="https://phantomjscloud.com/docs/csharp.html">PhantomJsCloud.com</a> service, and a look at how a little Cognitive Service action could be woven in. A random walk around other Azure features followed. Some reactions were memorable &#8211; my favorite, because I completely agree: Why would I ever want to run my own SharePoint instance when the Office 365 service is available? And a bunch of other good questions.</p>
<p>Slides:</p>
<ul>
<li><a title="SPS - A Gentle Introduction to Azure - 2017-Oct-28" href="https://blog.codingoutloud.com/wp-content/uploads/2017/10/sps-a-gentle-introduction-to-azure-2017-oct-28.pptx">SPS &#8211; A Gentle Introduction to Azure &#8211; 2017-Oct-28</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2017/10/28/talk-sharepoint-saturday-burlington-gentle-introduction-to-azure/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3758</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: SQL Saturday Boston &#8211; Azure SQL DB, not just a hosted version of SQL Server</title>
		<link>https://blog.codingoutloud.com/2017/09/26/talk-sql-saturday-boston-azure-sql-db-not-just-a-hosted-version-of-sql-server/</link>
					<comments>https://blog.codingoutloud.com/2017/09/26/talk-sql-saturday-boston-azure-sql-db-not-just-a-hosted-version-of-sql-server/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Wed, 27 Sep 2017 01:57:25 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3739</guid>

					<description><![CDATA[This past weekend I participated in SQL Saturday BI Boston in Burlington, MA. I spoke about Azure SQL Database, explaining why Azure SQL Database is much more than just a hosted version of SQL Server. The slides I presented are here: Azure SQL DB &#8211; Not Just A Cloud Version of SQL Server &#8211; SQL [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This past weekend I participated in SQL Saturday BI Boston in Burlington, MA. I spoke about Azure SQL Database, explaining why Azure SQL Database is much more than just a hosted version of SQL Server. The slides I presented are here:</p>
<ul>
<li><a title="Azure SQL DB - Not Just A Cloud Version of SQL Server - SQL Saturday BI - 23-Sep-2017" href="https://blog.codingoutloud.com/wp-content/uploads/2017/09/azure-sql-db-not-just-a-cloud-version-of-sql-server-sql-saturday-bi-23-sep-2017.pptx">Azure SQL DB &#8211; Not Just A Cloud Version of SQL Server &#8211; SQL Saturday BI &#8211; 23-Sep-2017</a></li>
</ul>
<p>If you are local, you may be interested in learning more about Azure by checking out <a href="https://twitter.com/bostonazure">@bostonazure</a> and <a href="http://bostonazure.org">bostonazure.org</a>. You can find me on twitter here: <a href="https://twitter.com/codingoutloud">@codingoutloud</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2017/09/26/talk-sql-saturday-boston-azure-sql-db-not-just-a-hosted-version-of-sql-server/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3739</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: A Gentle Intro to Serverless Azure</title>
		<link>https://blog.codingoutloud.com/2017/09/26/talk-a-gentle-intro-to-serverless-azure/</link>
					<comments>https://blog.codingoutloud.com/2017/09/26/talk-a-gentle-intro-to-serverless-azure/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Wed, 27 Sep 2017 01:35:38 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3724</guid>

					<description><![CDATA[Tonight I spoke at the North Boston Azure group and covering serverless concepts by looking at Logic Apps, Function Apps, and a couple of powerful/easy features of Web Apps (authentication via AAD/Twitter &#38; CD via Github). Before I posted the slides (see below), I needed to clean up the 1000+ emails I spammed myself with [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Tonight I spoke at the North Boston Azure group and covering serverless concepts by looking at Logic Apps, Function Apps, and a couple of powerful/easy features of Web Apps (authentication via AAD/Twitter &amp; CD via Github).</p>
<p>Before I posted the slides (see below), I needed to clean up the 1000+ emails I spammed myself with from my Logic App demo. (Doh!)</p>
<p><img loading="lazy" data-attachment-id="3736" data-permalink="https://blog.codingoutloud.com/2017/09/26/talk-a-gentle-intro-to-serverless-azure/spammed-myself-with-more-than-1000-emails-from-logic-app-demo/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2017/09/spammed-myself-with-more-than-1000-emails-from-logic-app-demo.png" data-orig-size="1035,537" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="spammed-myself-with-more-than-1000-emails-from-logic-app-demo" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2017/09/spammed-myself-with-more-than-1000-emails-from-logic-app-demo.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2017/09/spammed-myself-with-more-than-1000-emails-from-logic-app-demo.png?w=625" class="alignnone size-full wp-image-3736" src="https://blog.codingoutloud.com/wp-content/uploads/2017/09/spammed-myself-with-more-than-1000-emails-from-logic-app-demo.png" alt="spammed-myself-with-more-than-1000-emails-from-logic-app-demo" width="1035" height="537" srcset="https://blog.codingoutloud.com/wp-content/uploads/2017/09/spammed-myself-with-more-than-1000-emails-from-logic-app-demo.png 1035w, https://blog.codingoutloud.com/wp-content/uploads/2017/09/spammed-myself-with-more-than-1000-emails-from-logic-app-demo.png?w=150&amp;h=78 150w, https://blog.codingoutloud.com/wp-content/uploads/2017/09/spammed-myself-with-more-than-1000-emails-from-logic-app-demo.png?w=300&amp;h=156 300w, https://blog.codingoutloud.com/wp-content/uploads/2017/09/spammed-myself-with-more-than-1000-emails-from-logic-app-demo.png?w=768&amp;h=398 768w, https://blog.codingoutloud.com/wp-content/uploads/2017/09/spammed-myself-with-more-than-1000-emails-from-logic-app-demo.png?w=1024&amp;h=531 1024w" sizes="(max-width: 1035px) 100vw, 1035px" /></p>
<p>The slides are available for review here:</p>
<ul>
<li><a title="Serverless Azure - North Boston Azure - 26-Sep-2017" href="https://blog.codingoutloud.com/wp-content/uploads/2017/09/serverless-azure-north-boston-azure-26-sep-2017.pptx">Serverless Azure &#8211; North Boston Azure &#8211; 26-Sep-2017</a></li>
</ul>
<p><img loading="lazy" data-attachment-id="3732" data-permalink="https://blog.codingoutloud.com/2017/09/26/talk-a-gentle-intro-to-serverless-azure/bill-talking-at-nba/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2017/09/bill-talking-at-nba-e1506476359652.jpeg" data-orig-size="357,269" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="bill-talking-at-nba" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2017/09/bill-talking-at-nba-e1506476359652.jpeg?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2017/09/bill-talking-at-nba-e1506476359652.jpeg?w=357" class="alignnone size-full wp-image-3732" src="https://blog.codingoutloud.com/wp-content/uploads/2017/09/bill-talking-at-nba-e1506476359652.jpeg" alt="bill-talking-at-nba" width="357" height="269" srcset="https://blog.codingoutloud.com/wp-content/uploads/2017/09/bill-talking-at-nba-e1506476359652.jpeg 357w, https://blog.codingoutloud.com/wp-content/uploads/2017/09/bill-talking-at-nba-e1506476359652.jpeg?w=150&amp;h=113 150w, https://blog.codingoutloud.com/wp-content/uploads/2017/09/bill-talking-at-nba-e1506476359652.jpeg?w=300&amp;h=226 300w" sizes="(max-width: 357px) 100vw, 357px" /></p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2017/09/26/talk-a-gentle-intro-to-serverless-azure/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3724</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2017/09/spammed-myself-with-more-than-1000-emails-from-logic-app-demo.png" medium="image">
			<media:title type="html">spammed-myself-with-more-than-1000-emails-from-logic-app-demo</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2017/09/bill-talking-at-nba-e1506476359652.jpeg" medium="image">
			<media:title type="html">bill-talking-at-nba</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Logic Apps &#038; Functions at Granite State SharePoint Users Group</title>
		<link>https://blog.codingoutloud.com/2017/09/07/talk-logic-apps-functions-at-granite-state-sharepoint-users-group/</link>
					<comments>https://blog.codingoutloud.com/2017/09/07/talk-logic-apps-functions-at-granite-state-sharepoint-users-group/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Fri, 08 Sep 2017 02:35:43 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3678</guid>

					<description><![CDATA[Tonight I was pleased to have the opportunity to demystify Azure Logic Apps &#38; Functions for the Granite State SharePoint Users Group. Here is the slide deck I used to present: Serverless Azure &#8211; Logic Apps and Functions &#8211; Granite State SharePoint Users Group &#8211; 07-Sep-2017 By the time I turned off the Twitter =&#62; Slack [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Tonight I was pleased to have the opportunity to demystify Azure Logic Apps &amp; Functions for the <a href="https://www.meetup.com/Granite-State-SharePoint-Users-Group/events/240826230/">Granite State SharePoint Users Group</a>. Here is the slide deck I used to present:</p>
<ul>
<li><a title="Serverless Azure - Logic Apps and Functions - Granite State SharePoint Users Group - 07-Sep-2017" href="https://blog.codingoutloud.com/wp-content/uploads/2017/09/serverless-azure-logic-apps-and-functions-granite-state-sharepoint-users-group-07-sep-2017.pptx">Serverless Azure &#8211; Logic Apps and Functions &#8211; Granite State SharePoint Users Group &#8211; 07-Sep-2017</a></li>
</ul>
<p><div data-shortcode="caption" id="attachment_3688" style="width: 1210px" class="wp-caption alignnone"><img aria-describedby="caption-attachment-3688" loading="lazy" data-attachment-id="3688" data-permalink="https://blog.codingoutloud.com/2017/09/07/talk-logic-apps-functions-at-granite-state-sharepoint-users-group/djj-k-rwsauqecu/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2017/09/djj-k-rwsauqecu.jpg" data-orig-size="1200,675" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="djj-k-rwsauqecu" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2017/09/djj-k-rwsauqecu.jpg?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2017/09/djj-k-rwsauqecu.jpg?w=625" class="alignnone size-full wp-image-3688" src="https://blog.codingoutloud.com/wp-content/uploads/2017/09/djj-k-rwsauqecu.jpg" alt="djj-k-rwsauqecu" width="1200" height="675" srcset="https://blog.codingoutloud.com/wp-content/uploads/2017/09/djj-k-rwsauqecu.jpg 1200w, https://blog.codingoutloud.com/wp-content/uploads/2017/09/djj-k-rwsauqecu.jpg?w=150&amp;h=84 150w, https://blog.codingoutloud.com/wp-content/uploads/2017/09/djj-k-rwsauqecu.jpg?w=300&amp;h=169 300w, https://blog.codingoutloud.com/wp-content/uploads/2017/09/djj-k-rwsauqecu.jpg?w=768&amp;h=432 768w, https://blog.codingoutloud.com/wp-content/uploads/2017/09/djj-k-rwsauqecu.jpg?w=1024&amp;h=576 1024w" sizes="(max-width: 1200px) 100vw, 1200px" /><p id="caption-attachment-3688" class="wp-caption-text">Speaking at the &#8220;stimulation rich&#8221; Microsoft Store &#8212; photo credit: <a href="https://twitter.com/jfj1997/status/905925651408060420">@jfj1997</a> Julie Turner</p></div></p>
<p>By the time I turned off the Twitter =&gt; Slack Logic App, a lot of messages were posted (in the #demo channel within Boston Azure slack account &#8211; which is open &#8211; join <a href="http://bit.ly/baslack">here</a>):</p>
<p><img loading="lazy" data-attachment-id="3710" data-permalink="https://blog.codingoutloud.com/2017/09/07/talk-logic-apps-functions-at-granite-state-sharepoint-users-group/slack/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2017/09/slack.png" data-orig-size="786,549" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="slack" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2017/09/slack.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2017/09/slack.png?w=625" class="alignnone size-full wp-image-3710" src="https://blog.codingoutloud.com/wp-content/uploads/2017/09/slack.png" alt="slack" width="786" height="549" srcset="https://blog.codingoutloud.com/wp-content/uploads/2017/09/slack.png 786w, https://blog.codingoutloud.com/wp-content/uploads/2017/09/slack.png?w=150&amp;h=105 150w, https://blog.codingoutloud.com/wp-content/uploads/2017/09/slack.png?w=300&amp;h=210 300w, https://blog.codingoutloud.com/wp-content/uploads/2017/09/slack.png?w=768&amp;h=536 768w" sizes="(max-width: 786px) 100vw, 786px" /></p>
<p>I will be giving a longer and more general version of this talk at the SharePoint Saturday New England 2017 event on <a href="http://spsnewengland.org/">Sat Oct 28 in Burlington MA</a>.</p>
<p>Also planning other variants of this talk in the coming weeks:</p>
<ol>
<li><a href="https://www.meetup.com/bostonazure/events/243100428/">Azure Functions at Boston Azure &#8211; Thu Sep 14 in Cambridge MA (NERD)</a></li>
<li><a href="https://www.vtcodecamp.org/">Serverless Azure at VT Code Camp &#8211; Sat Sep 16 in Burlington <strong>Vermont</strong></a></li>
<li><a href="https://www.meetup.com/North-Boston-Azure-Cloud-User-Group/events/243124890/">Serverless Azure at North Boston Azure &#8211; Tue Sep 26 in Burlington MA</a></li>
<li><a href="https://www.meetup.com/NE-MSFT-Devs/">Logic Apps Thu Oct 5 at NE Microsoft Dev Group</a></li>
<li>Serverless Azure at SharePoint Saturday NE event mentioned above <a href="http://spsnewengland.org/">Sat Oct 28 in Burlington MA</a></li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2017/09/07/talk-logic-apps-functions-at-granite-state-sharepoint-users-group/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3678</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2017/09/djj-k-rwsauqecu.jpg" medium="image">
			<media:title type="html">djj-k-rwsauqecu</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2017/09/slack.png" medium="image">
			<media:title type="html">slack</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Logic Apps at Boston Azure</title>
		<link>https://blog.codingoutloud.com/2017/09/07/talk-logic-apps-at-boston-azure/</link>
					<comments>https://blog.codingoutloud.com/2017/09/07/talk-logic-apps-at-boston-azure/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Thu, 07 Sep 2017 17:51:33 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3642</guid>

					<description><![CDATA[Last night&#8217;s Boston Azure meetup featured two talks &#8211; No App Left Behind by Kevin Brown of SoftNAS after an opening talk on Logic Apps by me. My slides are below. Serverless Azure &#8211; Logic Apps &#8211; Boston Azure &#8211; 06-Sep-2017 I did not have time to show it, but the Slack =&#62; Email process did [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.meetup.com/bostonazure/events/242925914/">Last night&#8217;s Boston Azure meetup</a> featured two talks &#8211; No App Left Behind by Kevin Brown of SoftNAS after an opening talk on Logic Apps by me. My slides are below.</p>
<ul>
<li><a title="Serverless Azure - Logic Apps - Boston Azure - 06-Sep-2017" href="https://blog.codingoutloud.com/wp-content/uploads/2017/09/serverless-azure-logic-apps-boston-azure-06-sep-2017.pptx">Serverless Azure &#8211; Logic Apps &#8211; Boston Azure &#8211; 06-Sep-2017</a></li>
</ul>
<p>I did not have time to show it, but the Slack =&gt; Email process did succeed. I saw this later when I checked my email. Subject: bill-tux-full.png, Body: 1504739903F6YKE996C bill-tux-full.png bill-tux-full.png. And you can see the photo for yourself in the <a href="http://bit.ly/baslack">Boston Azure slack</a> #demo channel.</p>
<p>If you&#8217;d like to learn more about Serverless Azure, check out these upcoming talks: <a href="https://www.meetup.com/Granite-State-SharePoint-Users-Group/">Azure Functions and Logic Apps Thu Sep 7 in NH</a>, <a href="https://www.meetup.com/bostonazure/events/243100428/">Azure Functions Thu Sep 14 in Cambridge MA (NERD)</a>, and various playing of Serverless Azure (Azure Functions and Logic Apps) on <a href="https://www.vtcodecamp.org/">Sat Sep 16 in Burlington <strong>Vermont</strong></a>, <a href="https://www.meetup.com/North-Boston-Azure-Cloud-User-Group/events/243124890/">Tue Sep 26 in Burlington MA</a>, and (if my talk is accepted for the Sharepoint event) <a href="http://spsnewengland.org/">Sat Oct 28 in Burlington MA</a>.</p>
<p>As always, please let me know if you are interested in more talks at Boston Azure. <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2017/09/07/talk-logic-apps-at-boston-azure/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3642</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Azure Security Toolbox at Boston Azure</title>
		<link>https://blog.codingoutloud.com/2017/07/12/talk-azure-security-toolbox-at-boston-azure/</link>
					<comments>https://blog.codingoutloud.com/2017/07/12/talk-azure-security-toolbox-at-boston-azure/#respond</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Wed, 12 Jul 2017 15:49:21 +0000</pubDate>
				<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Boston Azure User Group]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3538</guid>

					<description><![CDATA[Last night&#8217;s Boston Azure meeting featured Marija Strazdas from @AlertLogic who spoke about the Shared Security Model for security in the cloud. I also showed in more detail some of the tools that Azure provides to help customers with their side of the responsibility model including some with Azure SQL DB, Storage, KeyVault, and Azure Security Center. Here [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.meetup.com/bostonazure/events/239440704/">Last night&#8217;s Boston Azure meeting</a> featured Marija Strazdas from <a href="https://twitter.com/alertlogic">@AlertLogic</a> who spoke about the Shared Security Model for security in the cloud. I also showed in more detail some of the tools that Azure provides to help customers with their side of the responsibility model including some with Azure SQL DB, Storage, KeyVault, and Azure Security Center. Here are <a title="Baug-AzureSecurityTips-BillWilder-2017-Jul-11" href="https://blog.codingoutloud.com/wp-content/uploads/2017/07/baug-azuresecuritytips-billwilder-2017-jul-11.pptx">the slides I presented</a> (though I didn&#8217;t get through most of them).</p>
<p>EDIT: Here is the deck presented by Marija Strazdas from <a href="https://twitter.com/alertlogic">@AlertLogic</a> who spoke about the Shared Security Model for security in the cloud:</p>
<p><a title="Alert Logic Azure Security Presentation" href="https://blog.codingoutloud.com/wp-content/uploads/2017/07/alert-logic-azure-security-presentation.pdf">Alert Logic Azure Security Presentation</a></p>
<p><img loading="lazy" data-attachment-id="3558" data-permalink="https://blog.codingoutloud.com/2017/07/12/talk-azure-security-toolbox-at-boston-azure/marija/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2017/07/marija.png" data-orig-size="835,494" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="marija" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2017/07/marija.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2017/07/marija.png?w=625" class="alignnone size-full wp-image-3558" src="https://blog.codingoutloud.com/wp-content/uploads/2017/07/marija.png" alt="marija" width="835" height="494" srcset="https://blog.codingoutloud.com/wp-content/uploads/2017/07/marija.png 835w, https://blog.codingoutloud.com/wp-content/uploads/2017/07/marija.png?w=150&amp;h=89 150w, https://blog.codingoutloud.com/wp-content/uploads/2017/07/marija.png?w=300&amp;h=177 300w, https://blog.codingoutloud.com/wp-content/uploads/2017/07/marija.png?w=768&amp;h=454 768w" sizes="(max-width: 835px) 100vw, 835px" /></p>
<p>You can find <a href="https://twitter.com/bostonazure">@bostonazure</a> on twitter, and feel free to join us on <a href="http://bit.ly/baslack">slack</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2017/07/12/talk-azure-security-toolbox-at-boston-azure/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3538</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2017/07/marija.png" medium="image">
			<media:title type="html">marija</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: When NOT to use PowerShell with Azure</title>
		<link>https://blog.codingoutloud.com/2017/06/02/talk-when-not-to-use-powershell-with-azure/</link>
					<comments>https://blog.codingoutloud.com/2017/06/02/talk-when-not-to-use-powershell-with-azure/#comments</comments>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Fri, 02 Jun 2017 16:35:33 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[ITPro]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3504</guid>

					<description><![CDATA[Today at PowerShell in Action I spoke twice about not going TOO far in your PowerShell when managing Azure resources. The point of the talks wasn&#8217;t really that using PowerShell is bad/wrong, more that it might not be the best tool for the job in certain scenarios. In particular, an ARM template is a powerful modeling tool in [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Today at <a href="https://www.meetup.com/North-Boston-Azure-Cloud-User-Group/events/240193551/">PowerShell in Action</a> I spoke twice about not going TOO far in your PowerShell when managing Azure resources.</p>
<p>The point of the talks wasn&#8217;t really that using PowerShell is bad/wrong, more that it might not be the best tool for the job in certain scenarios. In particular, an ARM template is a powerful modeling tool in support of a &#8220;no pets&#8221; policy, which is interesting to consider as your cloud environments grow more complex while also wanting to make environments easier to manage. Another benefit stems from keeping the ARM template itself as an &#8220;infrastructure as code&#8221; artifact that can be used to document &#8211; and, more to the point, as <em>executable documentation</em> &#8211; for stamping out environments predictably. And still another feature: the ARM runtime handles a lot of the complex parts that could come by trying to script one resource at a time via imperative PowerShell scripts &#8211; for example, error recovery and retries.</p>
<p>The deck is on the <a href="https://github.com/dstolts/PSinAction/blob/master/PowerShell%20in%20Action-When%20NOT%20to%20use%20PS-Bill%20Wilder-2017-Jun-02.pptx">event shared github repo</a>.  There are lots of otherPowerShelly resources on that repo that you may find worth checking out.</p>
<p><strong>(Added 03-June)</strong> For those of you who attended my Advanced session, when I attempted to clean up at the end using <strong><a href="https://docs.microsoft.com/en-us/powershell/module/azurerm.resources/remove-azurermresourcegroupdeployment?view=azurermps-4.0.0">Remove-AzureRmResourceGroupDeployment</a></strong>, my PowerShell command had an error in it. Here is the correct version. In the first screen shot I show how to ascertain the correct value for  the first the parameter using <a href="https://docs.microsoft.com/en-us/powershell/module/azurerm.resources/get-azurermresourcegroupdeployment?view=azurermps-4.0.0"><strong>Get-AzureRmResourceGroupDeployment</strong></a>.</p>
<p><img loading="lazy" data-attachment-id="3534" data-permalink="https://blog.codingoutloud.com/2017/06/02/talk-when-not-to-use-powershell-with-azure/get-azurermresourcegroupdeployment/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2017/06/get-azurermresourcegroupdeployment.png" data-orig-size="943,419" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Get-AzureRmResourceGroupDeployment" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2017/06/get-azurermresourcegroupdeployment.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2017/06/get-azurermresourcegroupdeployment.png?w=625" class="alignnone size-full wp-image-3534" src="https://blog.codingoutloud.com/wp-content/uploads/2017/06/get-azurermresourcegroupdeployment.png" alt="Get-AzureRmResourceGroupDeployment" width="943" height="419" srcset="https://blog.codingoutloud.com/wp-content/uploads/2017/06/get-azurermresourcegroupdeployment.png 943w, https://blog.codingoutloud.com/wp-content/uploads/2017/06/get-azurermresourcegroupdeployment.png?w=150&amp;h=67 150w, https://blog.codingoutloud.com/wp-content/uploads/2017/06/get-azurermresourcegroupdeployment.png?w=300&amp;h=133 300w, https://blog.codingoutloud.com/wp-content/uploads/2017/06/get-azurermresourcegroupdeployment.png?w=768&amp;h=341 768w" sizes="(max-width: 943px) 100vw, 943px" /></p>
<p class="p1"><strong>Remove-AzureRmResourceGroupDeployment</strong> `<br />
<strong>   -Name</strong> <span style="color:#ff0000;">Microsoft.Template</span> <strong>-ResourceGroupName</strong> <span style="color:#ff0000;">k1</span></p>
<p class="p1"><img loading="lazy" data-attachment-id="3535" data-permalink="https://blog.codingoutloud.com/2017/06/02/talk-when-not-to-use-powershell-with-azure/remove-azurermresourcegroupdeployment/" data-orig-file="https://blog.codingoutloud.com/wp-content/uploads/2017/06/remove-azurermresourcegroupdeployment.png" data-orig-size="941,191" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Remove-AzureRmResourceGroupDeployment" data-image-description="" data-image-caption="" data-medium-file="https://blog.codingoutloud.com/wp-content/uploads/2017/06/remove-azurermresourcegroupdeployment.png?w=300" data-large-file="https://blog.codingoutloud.com/wp-content/uploads/2017/06/remove-azurermresourcegroupdeployment.png?w=625" class="alignnone size-full wp-image-3535" src="https://blog.codingoutloud.com/wp-content/uploads/2017/06/remove-azurermresourcegroupdeployment.png" alt="Remove-AzureRmResourceGroupDeployment.png" width="941" height="191" srcset="https://blog.codingoutloud.com/wp-content/uploads/2017/06/remove-azurermresourcegroupdeployment.png 941w, https://blog.codingoutloud.com/wp-content/uploads/2017/06/remove-azurermresourcegroupdeployment.png?w=150&amp;h=30 150w, https://blog.codingoutloud.com/wp-content/uploads/2017/06/remove-azurermresourcegroupdeployment.png?w=300&amp;h=61 300w, https://blog.codingoutloud.com/wp-content/uploads/2017/06/remove-azurermresourcegroupdeployment.png?w=768&amp;h=156 768w" sizes="(max-width: 941px) 100vw, 941px" /></p>
<p class="p1">Once that PowerShell command executed, all 8 resources associated with that deployment were removed (deleted, and billing stopped).</p>
<p class="p1">Ta da!</p>
<p class="p1">Hope to see all you locals at <a href="http://bostonazure.org">Boston Azure</a> (<a href="https://twitter.com/bostonazure">@bostonazure</a>) in the future for more Azurey action.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.codingoutloud.com/2017/06/02/talk-when-not-to-use-powershell-with-azure/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3504</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2017/06/get-azurermresourcegroupdeployment.png" medium="image">
			<media:title type="html">Get-AzureRmResourceGroupDeployment</media:title>
		</media:content>

		<media:content url="https://blog.codingoutloud.com/wp-content/uploads/2017/06/remove-azurermresourcegroupdeployment.png" medium="image">
			<media:title type="html">Remove-AzureRmResourceGroupDeployment.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Talk: Spy vs. Spy (SQL Server vs. SQL #Azure SQL DB) at @NorthBTownAzure</title>
		<link>https://blog.codingoutloud.com/2017/03/29/talk-spy-vs-spy-sql-server-vs-sql-azure-sql-db-at-northbtownazure/</link>
		
		<dc:creator><![CDATA[Bill Wilder]]></dc:creator>
		<pubDate>Wed, 29 Mar 2017 11:46:24 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Bill gave a talk]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.codingoutloud.com/?p=3468</guid>

					<description><![CDATA[Last night I spoke at the North Boston Azure cloud group, where the topic was Azure SQL Database – not just a cloud version of SQL Server. So much of the talk was interactive &#8212; a really high-energy discussion &#8212; big thanks to Jason for hosting me and to the group for a great conversation. Here&#8217;s the deck [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.meetup.com/North-Boston-Azure-Cloud-User-Group/events/238316175/">Last night I spoke at</a> the North Boston Azure cloud group, where the topic was <strong>Azure SQL Database – not just a cloud version of SQL Server</strong>. So much of the talk was interactive &#8212; a really high-energy discussion &#8212; big thanks to <a href="https://twitter.com/haleyjason">Jason</a> for hosting me and to the group for a great conversation.</p>
<p>Here&#8217;s the deck I used:</p>
<p><a title="comparing-azure-sql-database-and-sql-server-North-Boston-Azure-28-Mar-2017-bill-wilder" href="https://blog.codingoutloud.com/wp-content/uploads/2017/03/comparing-azure-sql-database-and-sql-server-north-boston-azure-28-mar-2017-bill-wilder.pptx">comparing-azure-sql-database-and-sql-server-North-Boston-Azure-28-Mar-2017-bill-wilder</a></p>
<p>And here is some of the CLI 2.0 action, including the last line to clean up a resource group:</p>
<pre class="p1"><span class="s1">
az login</span>
<span class="s1">az account set --subscription MySubscriptionName
</span><span class="s1">./<a href="https://gist.github.com/codingoutloud/bca4ebf1bf28313acce29e3c84934108">show-resourcegroup-contents.sh</a> nbazure
</span><span class="s1">z group delete -n nbazure --no-wait

</span></pre>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3468</post-id>
		<media:content url="https://2.gravatar.com/avatar/2f5bf8ae72a5df9aca0e920e6097604b10695c2a06ec78789d2b325c13dbd53c?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">codingoutloud</media:title>
		</media:content>
	</item>
	</channel>
</rss>
