Recent Discussions
How Linux Works: A Primer
If you attended my session on How Linux Works, you'll be able to find my notes here. - https://publicnotes.blob.core.windows.net/publicnotes/0-how-linux-works.png Don't forget to sign up for my next session on Linux on Azure talk here https://developer.microsoft.com/en-us/reactor/events/18178/4.3KViews10likes7CommentsMicrosoft Power Pages - Matchmaking
Hey Everyone, Thanks for joining the https://aka.ms/decpowerpagesbootcamp To help learners find other learners that are at the same skill level, geographic area, and even previous experience, I have created this thread. Feel free to post and contact others that you would like to learn Power Pages with. I will start with my own Name: Bruno Capuano Power Platform Experience: Intermediate Twitter: https://twitter.com/elbruno LinkedIn: https://www.linkedin.com/in/elbruno/2KViews6likes4CommentsBuilding your resume API with GitHub Codespaces and Azure Functions
Hi everyone, I'm Gwyn, host of the "Building your resume API with GitHub Codespaces and Azure Functions" workshop. Wanted to stop by and share the workshop resources and if you have any questions after the workshop, let me know here. Here's what the workshop walks you through building, you'll get hands-on with several Azure and GitHub services including GitHub Actions, Codespaces, Azure Functions, Azure Bicep, and more: You'll need: - Azure account - GitHub account No prerequisites when it comes to knowledge All the source code can be found here: madebygps/serverless-resume-api: Your resume api in Azure serverless (github.com) Please share any questions or comments below1.9KViews5likes4CommentsAnnouncing Microsoft Student Summit - Start and Accelerate your Career in Tech
Reactor is partnering with the Student Summit team to present this event globally in March. Read more about all the event has to offer at Lee_Stott's blog post here Microsoft Student Summit March 2023 - Start and Accelerate Your Career in Tech. We look forward to seeing you there! elbruno madebygps justgar koreyspace627Views4likes0CommentsLaunch your Career: Episode 1 Cybersecurity Engineer
Missed all those certs that Sarah was discussing in today's livestream? I've attached the powerpoint presentation to this thread. I loved when Sarah talked about pursuing free/cheaper resources before you purpose expensive industry certifications. Take a look at the security learning we have Microsoft Learn or start with our Launch your Career Cloud Skills Challenge here: https://aka.ms/launchyourcareerskills Missed the livestream? We'll air a pre-record with live speaker chat Q&A Feb 7th at 9AM PT. Joylynn Kirui, Senior Security Cloud Advocate will be joining us live! https://aka.ms/launchyourcareer Have a question for any of us? Ask it here! 🙂Rust Learners LATAM - Matchmaking
Buenas, ¡Gracias por unirse a los talleres Primeros Pasos con Rust! El interés en Rust es increíble. Con el fin de ayudar a los estudiantes a encontrar otros estudiantes que tengan el mismo nivel de habilidad, área geográfica y tal vez incluso experiencia previa en programación, he creado este hilo. Siéntete libre de publicar y contactar a otras personas con las que te gustaría aprender Rust. Voy a empezar con la mía: Nombre: Bruno Capuano Experiencia con Rust: Principiante Avanzado Experiencia previa en programación: Python (AI/ML), C#, C++ Dónde contactarme: General - https://aka.ms/elbruno Twitter - https://twitter.com/elbruno LinkedIn: https://www.linkedin.com/in/elbruno/1.4KViews4likes3CommentsMicrosoft Power Pages - Q&A
Hey Everyone, Thanks for joining the https://aka.ms/decpowerpagesbootcamp This space is dedicated to help learners find solutions or answer questions related to Power Pages. Feel free to share your question, and we will use this space to learn together. Regards.2.5KViews4likes6CommentsGetting Started With Rust: Rust Basics Recap and Discussion
Hey Everyone, Thanks for joining the Rust Basics session earlier! Listed below are all the Rust resources we shared in the session. Let us know if you have any questions and please feel free to share your own resources you have found helpful on your own Rust learning journey! Session Links Session Recording Building Your First Rust Project Course Rust with VS Code Crates.Io What Can You Do With Rust Build a CLI App Tutorial Create a Rust function in Azure using Visual Studio Code Bevy Game Engine Rust and WASM wasm-pack wasmtime Learning Materials The Rust Book Rust Playground Rust User Forum Feel free to share any other great resources here and share any questions and challenges you have had on your Rust learning journey!1.1KViews4likes0CommentsCreating TypeScript Apps with React and Node
Hey Everyone thanks for joining the session, here are all the resources and links we shared! Workshop Recording Get Started with React Introduction to Node.JS Episode 1 of Typescript For Beginners Series Episode 2 of Typescript For Beginners Series Node/ Backend Github Repo React/ Frontend Github Repo Interfaces in Typescript React TypeScript Cheatsheets Transform JSON to Interface Tool Challenge! Connect the Frontend to the new route on the Backend that allows a user to type in a Station Name and ping the new endpoint to get the station ID. This allows the user to get transit times without knowing the station id. Feel free to write in here if you get stuck!981Views2likes0CommentsEjercicio: Dibujar círculos con macroquad
Primeros Pasos con Rust Hola compañeros, si tienen un tiempo libre podrían ayudarme a terminar este corto programa con https://macroquad.rs/. El objetivo es dibujar en varios círculos de radio aleatorio en filas sin exceder las dimensiones de la pantalla. Para esto estoy creando un iterator personalizado que tiene en cuenta los últimos valores de radio y posiciones x e y generadas, y que trata de verificar que el círculo se pueda dibujar dentro del ancho y el alto de la ventana. Por el momento, mi programa dibuja los círculos en una diagonal. Creo que debo corregir el método next(). Gracias por su ayuda. cargo new shapes --vcs none [package] name = "shapes" version = "0.1.0" rust-version = "1.67" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] macroquad = "0.3" rand = "0.8" main.rs: use ::rand as ra; use macroquad::{color, prelude::*}; use ra::Rng; //use macroquad::rand::rand::prelude::*; /// Representa un objeto para ubicar un círculo en la pantalla. struct Posicionador { ultimo_r: f32, ultimo_x: f32, ultimo_y: f32, aleatorio: ra::rngs::ThreadRng, } impl Posicionador { /// Crea un nuevo objeto. fn new() -> Self { Self { ultimo_r: 0.0, ultimo_x: 0.0, ultimo_y: 0.0, aleatorio: ra::thread_rng(), } } } // Un iterador para crear varios círculos impl Iterator for Posicionador { type Item = Circulo; fn next(&mut self) -> Option<Self::Item> { // Espacio entre los círculos let espacio: f32 = 15.0; // Crear un radio aleatorio let nuevo_radio: f32 = self.aleatorio.gen_range(20..101) as f32; // Verificar que las dimensiones del círculo no sobrepasen las dimensiones de la ventana if (nuevo_radio + self.ultimo_x > screen_width()) || (nuevo_radio + self.ultimo_y > screen_height()) { // Aquí un círculo ya no cabe en la pantalla, por lo que terminamos el iterador return None; } // Actualizar los valores para el recién círculo creado self.ultimo_r = nuevo_radio; self.ultimo_x += nuevo_radio + espacio; self.ultimo_y += nuevo_radio + espacio; // Retornar el círculo pedido Some(Circulo { radio: self.ultimo_r, color: color::GOLD, posicion: Punto { x: self.ultimo_x, y: self.ultimo_y, }, }) } } /// Representa la ubicación x e y de un círculo. #[derive(Debug, Clone)] struct Punto { x: f32, y: f32, } /// Representa un círculo geométrico. struct Circulo { radio: f32, color: macroquad::color::Color, posicion: Punto, } impl Circulo { /// Dibuja el círculo en la pantalla fn dibujar(&self) { draw_circle(self.posicion.x, self.posicion.y, self.radio, self.color); } } #[macroquad::main("Figuras")] async fn main() { // Iterador para crear los círculos let mut posicionador = Posicionador::new(); // Vector de círculos let mut circulos: Vec<Circulo> = vec![]; // Crear tantos círculos como el iterador permita. while let Some(circulo) = posicionador.next() { circulos.push(circulo); } loop { clear_background(LIGHTGRAY); // Dibujar los círculos generados for circulo in &circulos { circulo.dibujar(); } next_frame().await } }778Views2likes2CommentsLaunch your Career
I'm starting a new Microsoft Reactor show on YouTube and LinkedIN Live called Launch your Career where I'll be profiling "a day in the life" of 24 different job roles to explore in tech. Our first livestream episode begins with Cybersecurity Engineer and guest Sarah Young. https://aka.ms/launchyourcareer. Want to share what you want to hear from us? Or have a question for our guest? Start here at TechCommunities! We'll also be continuing the discussion following the livestream. About the Series Are you exploring a new career? Or just curious how to become a Data Scientist, AI Engineer, Web Developer, Cybersecurity Engineer or other in-demand, high-growth potential technical job role? Want to know what “a day in the life of” is really like before you make a move? Or get a jumpstart on the skills needed for success? This is the series for you! Join host Justin Garrett and Microsoft Engineering guests from around the World as we explore what inspired us towards our chosen career, discuss strategies and core skills for landing your dream job and share our reflections & tips we’ve learned for continued success and career progression. And demos with the open source libraries and toolkits we use. Come get your questions answered and share your own ideas in our Microsoft Reactor community!961Views2likes1CommentAzure CLI Basics
What's the advantage of using an Azure command-line tool? Azure runs on automation. Every action inside the portal translates to code being executed to read, create, modify, or delete resources. Azure command-line tools automate routine operations, standardize database failovers, and pull data that provide powerful insight. Chose the right Azure Command Line Tool You have two options when it comes to Azure command-lines: Azure CLI and Azure PowerShell. Both are cross-platform, installable on Windows, macOS, and Linux. The most significant difference is that Azure CLI runs in Windows PowerShell, Cmd, Bash, and Unix shells. Azure PowerShell requires Windows PowerShell or PowerShell to run. Choose the tool that uses your experience and shortens your learning curve but use a different tool when it makes sense. Read more about this here How to install the Azure CLI The Azure CLI is available to install in Windows, macOS and Linux environments. It can also be run in a Docker container and Azure Cloud Shell. I personally use Azure CLI in Ubuntu on WSL. Pick whatever option is best for you. View them all here Commands you should know az login Before using any Azure CLI commands with a local install, you need to sign in with az login. If you're using the Azure Cloud Shell, you don't need to login. If a browser is not available for you to sign in, use az login --use-device-code Set your subscription It's important to set the CLI to work within the subscription you want to. When you login, a default subscription is set for you but you can change that using the az account commands. az account set --subscription {subscription-name} : Will set the subscription. You must provide the name. az account list : Will give you a list of available subscriptions. az account show : will display the current set subscription The Anatomy of an Azure CLI command Prefix: All CLIs have prefixes. Azure's is az . Group: Commands are organized into command groups. Each group represents an Azure service. Subgroup: If a service has various types or services, it will have a or various subgroups. Command: An operation on the service. Arguments: Values you provide the command for context. Arguments can be required, optional, and/or global. The words arguments and parameters are often used interchangeably. az config and az init The Azure CLI allows for user configuration for settings such as logging, data collection, and default argument values. The CLI offers a convenience command for managing some defaults, az config, and an interactive option through az init. az init is an extension that is intended to quickly set up global configurations suitable for your current environment. It adjusts the same configuration file as az config and is meant to help simplify the configuration process whereas az config allows you to go a bit deeper. az init You can set defaults for the CLI with the az config set command. This command takes a space-separated list of key=value pairs as an argument. The provided values are used by the Azure CLI in place of required arguments. az config set defaults.location=eastus2 defaults.group=MyResourceGroup Interactive mode You can use Azure CLI in interactive mode by running the az interactive command. The Azure CLI interactive mode places you in an interactive shell with auto-completion, command descriptions, and examples. Finding commands and help To search for commands, use az find . For example, to search for command names containing secret, use the following command: az find secret Globally available arguments There are some arguments that are available for every Azure CLI command. --help prints CLI reference information about commands and their arguments and lists available subgroups and commands. --output changes the output format. The available output formats are Json, Jsonc (colorized JSON), tsv (Tab-Separated Values), table (human-readable ASCII tables), and yaml. By default the CLI outputs Json. --query uses the JMESPath query language to filter the output returned from Azure services. --verbose prints information about resources created in Azure during an operation, and other useful information. --debug prints even more information about CLI operations, used for debugging purposes. If you find a bug, provide output generated with the --debug flag on when submitting a bug report. Persisted Parameters Azure CLI offers persisted parameters that enable you to store parameter values for continued use. Persisted parameter values are stored in the working directory of the Azure storage account used by Azure Cloud Shell. If you are using a local install of the Azure CLI, values are stored in the working directory on your machine. # Reminder: function app and storage account names must be unique. # turn persisted parameters on az config param-persist on # Create a resource group which will store "resource group" and "location" in persisted parameter. az group create --name RGlocalContext --location westeurope # Create an Azure storage account omitting location and resource group. az storage account create \ --name sa1localcontext \ --sku Standard_LRS # Create a serverless function app in the resource group omitting storage account and resource group. az functionapp create \ --name FAlocalContext \ --consumption-plan-location westeurope \ --functions-version 2 # See the stored parameter values az config param-persist show Reference Scope Set Use az config set defaults.= Scoped globally across the CLI Set explicitly using az config set defaults.= Use for settings such as logging, data collection, and default argument values az config param-persist Scoped locally to a specific working directory Set automatically once persisted parameters are turned on Use for individual workload sequential commands. Querying The Azure CLI uses the --query parameter to execute a JMESPath query on the results of commands. JMESPath is a query language for JSON, giving you the ability to select and modify data from CLI output. The --query parameter is supported by all commands in the Azure CLI. Even when using an output format other than JSON, CLI command results are first treated as JSON for queries. CLI results are either a JSON array or dictionary. Arrays are sequences of objects that can be indexed, and dictionaries are unordered objects accessed with keys. Commands that could return more than one object return an array, and commands that always return only a single object return a dictionary. A few examples: # The following command gets the SSH public keys authorized to connect to the VM by adding a query: az vm show --resource-group rg-demo1 --name vm1 --query "osProfile.linuxConfiguration.ssh.publicKeys" # To get multiple values, put expressions separated by commas in square brackets [ ] (a multiselect list) az vm show --resource-group rg-demo1 --name TestVM --query "[name, osProfile.adminUsername, osProfile.linuxConfiguration.ssh.publicKeys[0].keyData]" # To get a dictionary instead of an array when querying for multiple values, use the { } (multiselect hash) operator. az vm show --resource-group rg-demo1 --name TestVM --query "{VMName:name, admin:osProfile.adminUsername, sshKey:osProfile.linuxConfiguration.ssh.publicKeys[0].keyData}" # To access the properties of elements in an array, you do one of two operations: flattening or filtering. Flattening an array is done with the [] JMESPath operator. All expressions after the [] operator are applied to each element in the current array. If [] appears at the start of the query, it flattens the CLI command result. az vm list --resource-group rg-demo1 --query "[].{Name:name, OS:storageProfile.osDisk.osType, admin:osProfile.adminUsername}" # We can also use filters az vm list --resource-group rg-demo1 --query "[?storageProfile.osDisk.osType=='Linux'].{Name:name, admin:osProfile.adminUsername}" --output table Formatting TSV output format The tsv output format returns tab- and newline-separated values without additional formatting, keys, or other symbols. This is useful when the output is consumed by another command. USER=$(az vm show --resource-group QueryDemo --name TestVM --query "osProfile.adminUsername") echo $USER Table output format The table format prints output as an ASCII table, making it easy to read and scan. Not all fields are included in the table, so this format is best used as a human-searchable overview of data. Fields that are not included in the table can still be filtered for as part of a query. az vm show --resource-group QueryDemo --name TestVM --query "{objectID:id}" --output table4.6KViews2likes0CommentsExploring the GitHub certifications
Achieving GitHub certification is a powerful affirmation of your skills, credibility, trustworthiness, and expertise in the technologies and developer tools utilized by over 100 million developers globally. GitHub Foundations (visit the Learning Path): highlight your understanding of the foundational topics and concepts of collaborating, contributing, and working on GitHub. This exam covers subjects such as collaboration, GitHub products, Git basics, and working within GitHub repositories. GitHub Actions (visit the Learning Path) : certify your proficiency in automating workflows and accelerating development with GitHub Actions. Test your skills in streamlining workflows, automating tasks, and optimizing software pipelines, including CI/CD, within fully customizable workflows. GitHub Advanced Security (visit the Learning Path) : highlight your code security knowledge with the GitHub Advanced Security certification. Validate your expertise in vulnerability identification, workflow security, and robust security implementation, elevating software integrity standards. GitHub Administration (visit the Learning Path) : certify your ability to optimize and manage a healthy GitHub environment with the GitHub Admin exam. Highlight your expertise in repository management, workflow optimization, and efficient collaboration to support successful projects on GitHub.321Views1like1CommentImproving your code craft with Generative AI - Liam Hampton GopherCon UK 2024
Hey Everyone, Thanks for joining the my Generative AI talk today at GopherCon UK 2024! In order to help you find more material on the topics I covered from GitHub Copilot, extending LLM's with function calls and the Microsoft distribution of Go, I have put together some resources below. Resources: GitHub Copilot Quickstart Microsoft Go distribution Copilot best practices Azure Developer CLI (written in Go!) My demo CLI repository Go DevBlogs Contact me: LinkedIn X (Twitter)369Views1like0CommentsEvent resources: Scaling and maintaining your applications on Azure
Hi Folks! Thanks for joining the Reactor Livestream today, it was good fun to go through how to scale and maintain your apps on Azure and how to use the Azure Developer CLI to do that! Resources: Managed Identity Azd Azure OpenAI Chat Repo What is azd? Well Architected Framework - Security Principles Up next: Azure Developer CLI Community Call (24th July @5pm BST) CI/CD for AI (17th July @ 5pm BST) Contact me: LinkedIn GitHub X431Views1like0CommentsMicrosoft Developer Tools and Azure Symposium Meetup | Kuala Lumpur, Malaysia
Hey everyone! Thanks for joining the meetup today and listening to my session on the Azure Developer CLI. Here you can find all of the resources I shared during my session. Resources: Learn about AZD AZD main GitHub repository Template Library AI AZD Templates Demo repository - serverless-chat-langchainjs Contact: LinkedIn X (Twitter)325Views1like0CommentsLondon Reactor Founders Breakfast Club - April 2024
Hey Everyone! Thanks for joining our first Founders Breakfast Club, dedicated to Microsoft for Startup members! We hope you enjoyed the event and found it useful networking amongst like minded individuals. This is a new event we are running and we want YOUR help to shape it! Let us know what you think using this form - https://forms.office.com/r/Psp8776u8t Below you can find the resources shared throughout the event and the contact information of the speakers. Up Next: Microsoft Build 2024 Resources: Want to attend events? Visit our Reactor Website: https://aka.ms/ReactorWeb Join our community Meetup group: https://aka.ms/ReactorLDNmeetup Watch all of our Live and On-Demand content on our YouTube channel: https://www.youtube.com/@MicrosoftReactor Speaker contacts: Microsoft for Startups Anne-Claire Lo Bianco Microsoft Reactor Rav Khokhar - Program Manager HSBC Innovation Banking Kofi Siaw Expert Network Liam Hampton - Senior Cloud Advocate & Software Engineer Chris Noring - Senior Cloud Advocate & Software Engineer484Views1like1CommentLiam Hampton code.talks Session Resources
London Reactor Meetup | AI Edition September 2023 Hey Everyone! Thanks for joining my session at code.talks! Here you can find the resources that I shared and my contact details. Resources: Azure Developer CLI September 2023 Release Getting started with the Azure Developer CLI Azure Developer Templates GitHub Developer Tools (Copilot, Codespaces etc.) Microsoft for Startups Founders Hub Benefits Other Relatable resources: Microsoft Reactor Events Microsoft Reactor Meetup Contact the speakers: Liam Hampton, Senior Cloud Advocate @ Microsoft Twitter (X) LinkedInLondon Reactor Meetup | AI Edition September 2023
Hey Everyone! Thanks for joining the meetup. Here you can find the resources that have been shared during the meetup and the speakers contact details. Register for our next Event! AI Lightning Talks Resources: Microsoft Learn Student Ambassadors Microsoft for Startups Founders Hub Benefits Get started with GitHub Copilot and Python Microsoft Fabric Semantic Kernel Responsible AI Other Relatable resources: GitHub Tools (Codespaces, Copilot etc) Microsoft Reactor Events Microsoft Reactor Meetup Contact the speakers: Liam Hampton, Senior Cloud Advocate @ Microsoft Twitter (X) LinkedIn Amy Boyd, Principal Cloud Advocate @ Microsoft LinkedIn Nikhil Sehgal, AI Engineer & CEO/Founder of Vastmindz LinkedIn VastMindz Nikhil's Slides687Views1like0Comments