MindByte Issue #39: Turbocharging Your Code Game with GitHub's Latest Upgrades

Exploring New GitHub Copilot Features, Unveiling Hidden Tips in GitHub Projects, and Navigating the Changing Landscape of IDEs and Azure

Introduction

Hold onto your keyboards, folks—Edition #39 is revving up to deliver the latest GitHub features and insights that could redefine your coding game!

Working Comedy Central GIF by Drunk History

Pulse of the week

This week's standout is the GitHub Copilot update, making waves with its smarter and more interactive features in both Visual Studio and Visual Studio Code. It's not just about auto-completing code anymore; Copilot is evolving into an intelligent coding partner. This is a game-changer, folks!

GitHub Digest

GitHub Copilot Enhances Interactivity in Visual Studio and Visual Studio Code

The latest update to GitHub Copilot offers a more integrated and interactive coding experience. Within Visual Studio, you can now engage directly with Copilot via the new Interactive Code Assistant view. Simply use "Ask Copilot" for inline answers and code suggestions right next to your existing code, streamlining your workflow.

Copilot Chat in the editor

In Visual Studio Code 1.81, editing becomes more efficient with block-rendered slash commands, and Quick Chat gets an upgrade with conversation history and command completion.

Significantly, the Copilot's context window has been expanded to 8k. This is not just a numbers game; it means Copilot can understand a broader context, making its code suggestions more accurate and relevant to your current work.

For a more comprehensive understanding of these updates, read the full release notes.

Unlock the Full Potential of GitHub Projects: 10 Tips You Didn't Know

Whether you are a program manager, an open-source maintainer, or an individual developer, you'll find GitHub Projects indispensable for tracking issues and pull requests. The latest guide shares 10 tips to supercharge your GitHub Projects experience, making it easier to manage your work from start to finish.

Here's a teaser: did you know you can manage your projects directly from the CLI (Command Line Interface)? With the gh project item-create command, you can add draft issues to your project without even leaving your terminal. It's all about using the GitHub CLI project command to automate and update your workflows effectively.

Create a project item via the CLI

The guide also covers features like exporting projects to TSV, creating reusable project templates, and bulk editing for quicker task assignment. Plus, the feature that caught our eye—deep linking—allows you to send a specific issue from your project to a teammate with just a link.

Interested in learning more? Check out the full guide to discover all 10 tips.

Timeless Advice: How GitHub’s CTO Architects Scalable Engineering Teams

While the article is from 2019, the insights from Jason Warner, at that time GitHub's CTO, on architecting engineering teams that can scale remain timeless. With a background that includes serving as VP of Engineering at Heroku and leading product engineering for Ubuntu at Canonical, Warner brings a wealth of experience to the table.

In the article, Warner offers more than a dozen impactful tips as well as critical do's and don'ts for building and scaling engineering teams. His guidance ranges from the conceptual to the tactical, giving leaders at all levels food for thought on how to create teams that not only function well but also scale efficiently.

Coding Corner

Today brings some significant news for developers, especially for those of us using Macs. Microsoft has announced the retirement of the Visual Studio for Mac IDE. While this IDE will continue to receive support until August 31, 2024, it’s clear that Microsoft is pivoting towards optimizing Visual Studio and VS Code for cross-platform development.

I've got to be honest, when I switched from Windows to macOS, I excitedly installed Visual Studio for Mac, thinking I'd pick up where I left off. However, I never actually ended up using it much. JetBrains Rider and Visual Studio Code quickly became my go-to IDEs on the Mac. I've talked about dev kits before in a previous edition, and Microsoft's focus seems to be shifting in that direction too, with the recently announced C# Dev Kit for VS Code.

What Does This Mean For You?

If you're an existing user of Visual Studio for Mac, you don't need to panic just yet. Microsoft has pledged to continue servicing updates for the next year, focusing on security issues and platform updates from Apple. And while no new features will be added, rudimentary support for .NET 8 will be available for building and debugging applications.

What Are Your Alternatives?

1. Visual Studio Code with the new C# Dev Kit and related extensions: This is especially promising for Mac users and aligns with Microsoft’s ongoing investments in .NET development on a Mac.

2. Visual Studio IDE running on Windows in a VM on Mac: For those who need more extensive IDE features like legacy project support, this remains an option.

3. Visual Studio IDE running on Windows in a VM in the Cloud: Via Microsoft Dev Box, this provides access to the full capabilities of Visual Studio without requiring a VM to run on your local machine.

For me, the shift doesn't affect my workflow much as I've become quite comfortable with Rider and VS Code. However, it’s a crucial update that underscores the changing landscape of IDEs and development environments, and something every developer should keep an eye on.

Azure Updates & Insights

More Power and Flexibility with Azure Container Apps' New Features

Microsoft has rolled out several new features for Azure Container Apps, elevating its capabilities and offering you more control and customization. If you're keen to know what this means for your development projects, read on.

What's New?

  1. Workload Profiles Environment: This environment supports apps in both Consumption and Dedicated plans. You can have multiple workload profiles of varying sizes within the same Azure Container Apps environment, optimizing spend and performance for microservices.

  2. Dedicated Plan: This plan allows you to run your apps on dedicated compute resources. You can choose from a range of compute sizes and types, scaling up to 32 vCPUs and 256 GiB of memory.

  3. Additional Networking Features: Azure Container Apps now supports user-defined routes (UDR), smaller subnet sizes, and network address translation (NAT) gateway. These features are accessible regardless of your chosen workload profile and plan type.

  4. Jobs: A highly versatile feature that enables you to run containerized jobs on-demand, on a schedule, or in response to events. This can be particularly useful for CI/CD pipelines.

Why Does It Matter?

The new features make Azure Container Apps more adaptive to various deployment scenarios. Whether you are deploying a simple application or a complex microservices architecture, these updates offer greater control over your environment.

.NET Nook

The Cost and Complexity of Modernizing .NET Applications by Jimmy Bogard

Ever wondered, "How much will it cost to modernize my .NET applications?" Jimmy Bogard breaks down the challenges of migrating to the latest .NET release, from retiring old libraries to strategizing the move. Learn about his hands-on approach to cataloging endpoints, middleware, and dependencies, and why existing tooling may not be the answer. A must-read for anyone grappling with application modernization.

Understanding BearerToken in .NET 8

In ASP.NET Core 8, Microsoft introduces a new authentication handler called BearerToken, aimed at simplifying authentication. Unlike traditional cookie-based authentication, BearerToken issues access and refresh tokens for client-web application interactions. These tokens are not JWTs but are intended for use within ASP.NET Core, often alongside libraries like ASP.NET Core Identity.

BearerToken enhances user experience consistency between single-page and server-rendered apps. It's specifically designed for clients that prefer programmatic authentication, which can be tested using tools like Postman. Both access and refresh tokens contain encrypted user details, like ClaimsPrincipal information, and can be decoded for inspection. Unlike the Cookie handler, it currently lacks options for customizing token size and refresh token content.

This BearerToken handler is part of Microsoft's broader efforts to improve authentication in ASP.NET Core and provides an alternative to traditional Cookie and JwtBearer handlers.

Closing Thoughts

That's a wrap for Edition #39! Thanks for joining us on this deep dive into the GitHub universe.

If you found this newsletter valuable, please consider forwarding it to your colleagues and friends.

Not a subscriber yet? Click the button to join the list and get these insights straight to your inbox.

Until next time, happy coding! 🚀

Computer Science Women GIF by Diversify Science Gifs

Join the conversation

or to participate.