Talk: Boston Code Camp 36 – Meet GitHub Copilot, Your AI Coding Assistant!

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 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 – 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.

It is fun have one AI 🤖 (GitHub Copilot) help us program another AI 🤖 (Azure OpenAI). 🤖 🤖 🤖 😀 After Copilot Chat was able to explain that Azure OpenAI did not have any notion of “today” we used Copilot to implement a trivial version of RAG to anchor the prompt to the current day.

We saw how the agents like @workspace can explain a body of code and even help us figure out where to implement a new feature (such as the --joke command line param).

Another demo was to get Copilot to write unit tests for me. The demo gods were not helpful 😱 😱 😱 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 /tests 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 InlineData attribute to consolidate similar test cases.We didn’t get to run the tests at the end, but hopefully the power of GitHub Copilot in helping to create unit tests came through.

I also had the opportunity to hang out with some smart soon-to-be graduates from my alma mater – University of Massachusetts at Boston (some of them were Rohini Deshmukh, Master’s in Information Technology, Kunal Sahjwani, Master’s in Information Technology, and Shounak Kulkarni, Master’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.

Here is the published talk abstract for the talk I delivered – and though much of the session was demos, the PowerPoint deck is attached after the abstract.

Meet GitHub Copilot, Your AI Coding Assistant

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.

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.

In this demo-heavy talk, we’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.

Since it is still early days, big features are still showing up at a fast clip, so we’ll highlight some recent features and some others just emerging. At the end we’ll squeeze in just a bit of prognosticating about what it might mean for the future of software development.

As you’ll learn in more depth during this session, the promise of GitHub Copilot is to help you be more productive – 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.

I believe the rise of AI coding assistants is unstoppable at this point – and that’s a good thing. By the end of this session, you might agree. And maybe you’ll join the revolution early.

Talk: Orlando Code Camp – Meet GitHub Copilot

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 – 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.

One part of the demo showed using one AI (GitHub Copilot) to help program another AI (Azure OpenAI).

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!

The deck I used in the talk is both attached for download and available on slideshare.

Talk: Meet GitHub Copilot, your AI Coding Assistant at Granite State Code Camp 02-Dec-2024

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’t know what GitHub Copilot is all about then come on by to get a glimpse of the future.

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’ll learn to talk like an AI nerd by explaining and examining terms like “prompt engineering” (how to get Copilot to do what we really want), prompts vs. suggestions, what is a “conversational AI”, what do you mean by “non-deterministic”, and how does this relate to ChatGPT (and its underlying LLM). And hallucinations. All will be explained.

The deck I used:

Talk: Exploring DORA! at Boston Code Camp 35

(I gave two talks at this event – 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’t heard about DORA yet? You will.

The annual DevOps Research and Assessment Report — affectionately known as the “DORA Report” — 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 – examples will be drawn from cloud technologies, automation, and security outcomes.

In this talk we’ll explore the DORA report as a data-driven toolbox for helping you “get better at getting better” 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’ll want to focus on to level up your own teams.

The deck I used:

Talk: Meet GitHub Copilot! at Boston Code Camp 35

(I gave two talks at this event – 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 how our generation got anything done without AI-powered assistants. If you don’t know what GitHub Copilot is all about then come on by to get a glimpse of the future.

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’ll learn to talk like an AI nerd by explaining and examining terms like “prompt engineering” (how to get Copilot to do what we really want), prompts vs. suggestions, what is a “conversational AI”, what do you mean by “non-deterministic”, and how does this relate to ChatGPT (and its underlying LLM). And hallucinations. All will be explained.

The deck I used:

Talk: GitHub Copilot is your AI Pair Programming Assistant

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:

Talk: GitHub Copilot: Meet Your AI Pair Programming Assistant!

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 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).

The deck I used is attached to this post:

Talk: Using GitHub Copilot to Code Azure (Boston Azure edition of Global Azure Bootcamp)

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 – 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 how to use the free trial, and was there to support the occasional questions by new users of GitHub Copilot during the bootcamp.

The opening talk was also AI:

My talks were later – 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. 😉

Talk: Exploring DORA at Boston Code Camp #34

Today at the 34th edition of Boston Code Camp (#boscc) I presented (in person – yahoo!) my talk “Exploring DORA – Using data to drive better outcomes” 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 outcomes. DORA can be used as a guide for choosing how to improve.

This topic is important because I predict research-backed practices (e.g., DORA) will become pervasive/routine in 2024.

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 SPACE metrics). So much to talk about.

The deck is here, followed by the published description of the talk:

Haven’t heard about DORA yet? You will. 

The annual DevOps Research and Assessment Report — affectionately known as the “DORA Report” — 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. 

In this talk we’ll explore the DORA report – 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.

Talk: Running #Azure Robustly – Granite State Code Camp #GSCC2022 – Fail and Retry

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 – like other distributed system environments – 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.

Here is the talk description:

Fail and Retry

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., “transient” failures) and those that don’t. Where retrying makes sense, we’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 (https://twitter.com/codingoutloud/status/1574138969134088192), though the concepts and patterns are generic.

If you want to experience MORE AZURE please check out https://meetup.com/bostonazure (currently operating as part of “Virtual Boston Azure”).

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 – I am @codingoutloud – or you can address it to @bostonazure.)