Developer Support
Advocacy and Innovation
Latest posts
Comment l’IA générative impacte-t-elle l’expérience développeur?
Adlene Sifi explore l'impact de l'IA générative sur l'expérience des développeurs. Dans cet article, nous allons tenter de déterminer s’il existe un lien entre l’utilisation de l’IA générative (ex. : GitHub Copilot) et l’expérience développeur (DevEx). Nous souhaitons vérifier plus précisément si l’utilisation de l’IA générative a un impact positif sur l’expérience développeur. Nous tenterons même de vérifier s’il existe un lien de causalité entre l’utilisation de l’IA générative et l’amélioration de l’expérience développeur. Nous allons dans un premier temps commencer par définir ces deux concepts. ...
How does generative AI impact Developer Experience?
Adlene Sifi explores the impact of generative AI on developer experience. In this article, we will try to determine if there is a link between the use of generative AI (e.g., GitHub Copilot) and developer experience (DevEx). Specifically, we aim to verify whether the use of generative AI has a positive impact on developer experience. We will even try to see if there is a causal link between the use of generative AI and the improvement of developer experience. First, let's define these two concepts. What is developer experience? Is it a new buzzword? A market trend? Worse, is it a new marketing tactic...
Supercharge Developer Workflows with GitHub Copilot Workspace Extensions
David Minkovski takes you on a hands-on journey to extend GitHub Copilot beyond just being a code assistant — turning it into a true AI-powered teammate inside VS Code. Motivation It is 2025 and Software Developers are faced with an incredibly fast-paced high-tech landscape — full of innovation and automation around every corner. Even with the consideration of AI taking on many roles (and hopefully not our jobs just yet) we are constantly challenged with rising complexities of distributed systems, cloud-native architectures and cognitive loads as well as context switching and endless interruptions. I c...
AI-Powered Customer Support: The Ultimate Multi-Agent System
David Minkovski explores using Azure OpenAI and Rust to Build Intelligent and Scalable AI Systems Motivation For the past few months, I’ve had the pleasure of taking the front seat to some really fascinating and exciting AI projects, thanks to my amazing customers and colleagues at Microsoft. During these sessions, I noticed a common challenge: How do I use ChatGPT while keeping control? So, I thought to myself, why not write a little article to help? Let’s break it down and create a super simple “multi-agent” system. This system will handle everything from the initial customer support request to e...
Deploying WebJobs to Azure Container Apps
Debjyoti Ganguly walks through the process of migrating existing WebJobs to Azure Container App Jobs, highlighting the benefits and providing practical steps to implement this migration effectively Introduction As businesses scale, the need for a robust and scalable environment for running background jobs becomes essential. Azure Container App Jobs offer a modern, scalable, and containerized solution for running background jobs, providing significant benefits over traditional Azure WebJobs. This guide will walk you through the process of migrating existing WebJobs to Azure Container App Jobs, highlighting...
AI: The New Frontier for Developers
AJ Enns reflects on his journey as a new developer and the impact of AI as an integrated, coding assistant for improving developer velocity. The year is 2024, and AI has been around for a while. ChatGPT broke onto the scene and changed the world forever. As soon as I heard about it, the first thing I did was try to learn Blazor with the help of AI. Within 3 weeks, I had a working example in a language I did not know before, as a result I was hooked. How do I share my recent learnings and amazement? Working as a Developer Advocate, I quickly learned that both the Developer and the Business were not early ad...
Debugging a managed identity connection to Azure SQL in Azure App Service using containers
Dominique St-Amand explores how to debug a managed identity connection from a container-based App Service to Azure SQL. So you’ve been eager to deploy your containerized web application that you’ve been working on for a while, to Azure App Service. You follow the best security practices which means you’ve setup your connection to your Azure SQL database using a managed identity. Upon loading your application, you get a dreadful exception that you can’t connect to the database. You then wonder, is this a database permission problem or some another problem, such as the application cannot connect to the datab...
Autogen RAG
Linkai Yu explores the retrieval-augemented generation pattern with Azure OpenAI Assistants API. The Retrieval-Augmented Generation (RAG) pattern is the standard for integrating ground AI with local data. One powerful way to implement RAG is through the function call or tool call feature in the Function Call API. When examining the samples provided by the Azure OpenAI Assistant API Function Call, Completion API Function Call, or Autogen Function Call, they all require the function metadata to be specified in the code. Imagine you have hundreds of data I/O functions, ranging from SQL queries to microservice...
Boosting Azure DevOps Security with GHAS Code Scanning
Debjyoti Ganguly shares insights on the security benefits and configuration of GHAS Code Scanning with Azure DevOps. Boosting Azure DevOps Security with GHAS Code Scanning Code scanning, a pipeline-based tool available in GitHub Advanced Security, is designed to detect code vulnerabilities and bugs within the source code of ADO (Azure DevOps) repositories. Utilizing CodeQL as a static analysis tool, it performs query analysis and variant analysis. When vulnerabilities are found, it generates security alerts. CodeQL CodeQL is a powerful static analysis tool used for showing vulnerabilities and bugs in so...
Running Open AI Whisper on Azure
Monu Bambroo explores Whisper, a speech to text model from OpenAI that you can use to transcribe audio files. The model is trained on a large dataset of English audio and text. The model is optimized for transcribing audio files that contain speech in English. The model can also be used to transcribe audio files that contain speech in other languages. Whisper is an advanced automatic speech recognition (ASR) system, developed using 680,000 hours of supervised multilingual and multitask data from the web. This extensive and diverse data set enhances its ability to handle various accents, background noise, a...
Copilot Studio – Prompt Response Times
Tahir Naveed walks through how to measure prompt response times with Microsoft Copilot Studio and explores considerations that factor into the overall performance of these requests. Building custom copilots (GenAI chatbots) in Microsoft Copilot Studio is amazing. Especially with the new functionalities which were released in Microsoft Build 2024. What’s more amazing is when we can point the custom copilots to different kinds of external and internal data sources like public websites (external), Dataverse tables (internal), SharePoint etc. Today we will be looking at how to check the response time of a p...
VBScript deprecation: Timelines and next steps
Scripting options for web development and task automation are modernizing. To provide you with the most modern and efficient options, we are replacing VBScript with more advanced alternatives such as JavaScript and PowerShell. Find out what VBScript deprecation means for you and how you can get ready. What is VBScript? Visual Basic Scripting Edition, commonly referred to as VBScript, is a lightweight scripting language first introduced by Microsoft in 1996. The language has been available as a system component in Windows OS and has been widely used for automating tasks and controlling applications on Windows-ba...
Azure CI/CD: Govern seamlessly from start to finish
Debjyoti Ganguly shares insights on a resilient end-to-end cloud governance framework for Azure CI/CD pipelines. Hey there, tech enthusiasts! This article serves as a technical guide to implementing a resilient end-to-end cloud governance framework for Azure CI/CD pipelines. It is designed to be vendor-agnostic and aligns seamlessly with enterprise security objectives, considerations, and compliance requirements. Throughout this discourse, we will employ the Azure Role-Based Access Control (RBAC) model, a familiar concept utilized within the Azure Resource Manager framework. Decisive Process Deconstructi...
Azure Machine Learning Service for Kubernetes Architects: Deploy Your First Model on AKS with AZ CLI v2
Joseph Masengesho provides a step-by-step tutorial on how to deploy your first ML model on AKS. In a previous post, I provided a lengthy write-up about my understanding of using Kubernetes as a compute target in Azure ML from a Kubernetes architect’s perspective. In this post, I will offer a step-by-step tutorial that teaches you how to deploy your first ML model on AKS. As a disclaimer, I am not a data scientist; however, I work with customers who deploy ML workloads on Kubernetes. In this tutorial, we will deploy a trained regression model based on the MNIST Dataset, which consists of 60K handwritten digi...
How to visualize Semantic Kernel & Azure OpenAI plans using Mermaid
Jordan Bean explores how to visualize Semantic Kernel & Azure OpenAI plans using Mermaid. Using the function calling ability of Semantic Kernel/OpenAI is very exciting from an application development point of view. Instead of hard-coding paths though the system, Semantic Kernel & OpenAI can decide for themselves what plugins to call, the order of operations, parsing input & output, etc. However, it can be challenging to understand why the system decided to go down a path & all of the operations, prompts, function calls, etc. that occurred. Semantic Kernel provides a class that record...
Azure DevOps Pipelines: Discovering the Ideal Service Connection Strategy
John Folberth explores various configurations, decisions, and pros/cons that should be evaluated when deciding how your DevOps environment will deploy code into Azure. About This post is part of an overall series on Azure DevOps YAML Pipelines. The series will cover any and all topics that fall into the scope of Azure DevOps Pipelines. I encourage you to check it out if you are new to this space. Introduction When an organization is trying to configure their Azure DevOps (ADO) environment to deploy into Azure, they are immediately met with the dilemma on how their DevOps instance will execute the deploy...
Hands-On Azure Container Apps 101 — Deploying a scalable Go-Backend
David Minkovski shares a hands-on guide to explore the power and simplicity of Azure Container Apps and Azure Front Door as a great alternative to Azure Kubernetes Services and other Kubernetes implementations for developers. Motivation I am sure you have seen the world go crazy about Kubernetes and while this technology is amazing and has many benefits, the complexities of managing these clusters can be quite, how shall I put this…challenging. Well lucky for us Microsoft has come up with some real magic — Embrace the simplicity and power of Azure Container Apps and enjoy hassle-free web app deployment....
How to enhance your chatbot so it can retrieve data from multiple data sources & orchestrate its own plan with C# Semantic Kernel, planner & Azure OpenAI – part 4 (local development & deployment details)
In this multi-part series, Jordan Bean shares how to enhance a chatbot to retrieve data from multiple data sources and orchestrate plans with C# Semantic Kernel, planner, and Azure Open AI. In the previous post, I detailed how the demo app runs. In this post, let’s talk about some of the techniques & technologies I used to make the demo easy to deploy & run. Here is the link to the GitHub repo. Project Tye Project Tye is an open-source project that makes it easy to stand up a microservice-based application locally. It is easy to run any individual API or web app, such as running or . Ho...
How to enhance your chatbot so it can retrieve data from multiple data sources & orchestrate its own plan with C# Semantic Kernel, planner & Azure OpenAI – part 3 (demo app)
In this multi-part series, Jordan Bean shares how to enhance a chatbot to retrieve data from multiple data sources and orchestrate plans with C# Semantic Kernel, planner, and Azure Open AI. In the previous post, we talked about the implementation details of how the demo app works & how to set up Semantic Kernel, with the and Azure OpenAI. Now that you understand the code, let’s look at the demo application. Here is the link to the GitHub repo. Use case As a reminder, we are building a customer support chatbot for our fictional outdoor sporting equipment company. We want to be able to answer commo...
How to enhance your chatbot so it can retrieve data from multiple data sources & orchestrate its own plan with C# Semantic Kernel, planner & Azure OpenAI – part 2 (demo app implementation)
In this multi-part series, Jordan Bean shares how to enhance a chatbot to retrieve data from multiple data sources and orchestrate plans with C# Semantic Kernel, planner, and Azure Open AI. In the previous post, we discussed how the RAG pattern isn’t enough to answer complex user questions. We talked about using Semantic Kernel to orchestrate AI calls can allow AI to generate its own plan for answering questions from various data sources. In my GitHub repo, I have a sample application that demonstrates this idea. Azure Architecture In this example, all the APIs & web apps are hosted in Azure Con...
How to enhance your chatbot so it can retrieve data from multiple data sources & orchestrate its own plan with C# Semantic Kernel, planner & Azure OpenAI – part 1
In this multi-part series, Jordan Bean shares how to enhance a chatbot to retrieve data from multiple data sources and orchestrate plans with C# Semantic Kernel, planner, and Azure Open AI. As discussed in the previous post about Azure OpenAI, using the Retrieval Augmented Generation (RAG) pattern is a simple & effective way to enable Azure OpenAI to “chat with your data”. This pattern enables you to search your data with Azure Cognitive Search (a search engine), retrieve relevant snippets of information from your data, then add that additional information to your prompts to the Azure OpenAI service to...
Configuration of Data Movement between On-prem or private network to Azure Cloud
In this post, Yanzhong Liang (Microsoft Cloud Solution Architect) and Todd Shain (United Healthcare Group) share some learnings from the field, moving data between environments with Azure Data Factory. In this article, we will take a look at how to transfer files between your on-premises or private network and Azure cloud storage, automatically. Consider a scenario where researchers need to securely transfer small or large files, like databases, from virtual machines to Azure cloud storage for archiving and backup purposes. They also need to download result files or data to local machines, then upload t...
Effective Kubernetes for JakartaEE and Microprofile Developers
In this post, David Minkovski explores some best practices to get your deployment up and running on Kubernetes and Azure. Motivation Kubernetes has become one of the most loved solutions for managing containers. But can you tell me why people love it? Because it runs magic containers (essentially what you want) where you want. Whether on-premises or in the cloud (Azure), Kubernetes enables engineering teams to ship containers and scale and manage deployments and clusters easily. Let’s look at some of those benefits some other time, OK? I am sure you will find plenty of resources out there explaining why...
Azure DevOps Workload Identity Federation
With the recent arrival of the Public preview of Workload identity federation for Azure Pipelines, you may be wondering how to efficiently migrate dozens or even hundreds of ARM Service Connections to take advantage of these benefits. In this post, Emmanuel Knafo dives right in. Updating Your Azure DevOps ARM Service Connections To Use The Recommended Workload Identity Federation With the recent arrival of the Public preview of Workload identity federation for Azure Pipelines, you may be wondering how to efficiently migrate my dozens or even hundreds of ARM Service Connections to take advantage of these ...
Part 5 – Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process
John Folberth and Joe Fitzgerald share sample guidance for developing and deploying an Azure Data Factory into multiple environments. Introduction Part 1 Part 2 Part 3 Part 4 This section will build on that and include how to build/deploy larger Data Factories which leverage Azure Resource Manager Linked Templates for deployment. When Linked Templates Are Required Typically, users will not desire to use linked templates; however, there are explicit limitations of a single ARM template which may require one to dep...
Configuring Azure Blob Trigger Identity Based Connection
So want to connect your blob triggered function to a storage account, but you don’t want to put your connection string or secrets into the configuration? Andrew Redman explores how to do it in this blog post. What’s the problem? You want to connect your blob triggered function to a storage account, but you don’t want to put your connection string or secrets into the configuration. Prior to Azure Blobs extension 5.0.0, this was your only option, but not anymore. With these later versions you can now connect to your storage account using a managed identity. Here are the simple steps involved to make thi...
Part 4 – Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process
John Folberth and Joe Fitzgerald share sample guidance for developing and deploying an Azure Data Factory into multiple environments. Background This post is the next post in the series Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process. This also happens to overlap and is included in the series on YAML Pipelines. All code snippets and final templates can be found out on my GitHub TheYAMLPipelineOne. For the actual data factory, we will leverage my adf_pipelines_yaml_ci_cd repository. Introduction After reading parts 1-3 on Unlock the Power of Azure D...
Programmatically Create SAS tokens in .NET
Andrew Redman explores how to programmatically create SAS tokens using .NET. Introduction In today's digital landscape, data security and controlled access are critical concerns for businesses. Azure Blob Storage is a popular cloud storage solution, allowing you to store and manage unstructured data. To safeguard your data while granting controlled access to authorized users, one effective approach is to generate Shared Access Signature (SAS) tokens programmatically in .NET. In this blog post, we'll explore how to create SAS tokens in .NET, to enhance the security of your Azure Blob Storage. ...
Part 3 – Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process
John Folberth and Joe Fitzgerald share sample guidance for developing and deploying an Azure Data Factory into multiple environments. Introduction To see a complete introduction to this blog series, including links to all the other parts, please follow the link below: Part 1 - Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process Part 3 of the blog series will focus on: Access to all files is in GitHub. The YAML Pipeline Structure To create the YAML pipeline for publishing data factory artifacts and then deploying those art...
Azure DevOps Pipelines: Practices for Scaling Templates
John Folberth explores what is considered "good practices" when looking to leverage one repository consisting of YAML templates in this blog series. Introduction This article is part of a larger series on Azure DevOps Pipelines regarding leveraging YAML templating. As part of this series, I have had numerous requests or questions around what is considered "good practices" when looking to leverage one repository consisting of YAML templates. Objective The objective on what we are trying to achieve is create a structure by which we can create a task, job, stage, or variable template once and let...
Part 2 – Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process
John Folberth and Joe Fitzgerald share sample guidance for developing and deploying an Azure Data Factory into multiple environments. Introduction To see a complete introduction to this blog series, including links to all the other parts, please follow the link below: Part 1 - Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process Part 2 of the blog series will focus on: Configure Azure Data Factory Source Control After you have the Azure resources created Launch the Azure Data Factory Studio for the development instance, adf-demo-dev-eastus-001...
Load testing your applications using Azure Load Testing, JMeter and GitHub Actions
Dominique St-Amand shares an introduction on JMeter concepts and goes on to create a basic test plan to load test a sample application and run it through a GitHub Action workflow. I’ve been working with more customers that are starting to take testing (unit, integration, end to end and load testing) more seriously. You may ask, “Dom, really? I thought testing was trivial”. Unfortunately not. As we’re entering an era where businesses are producing software like never before, relatively speaking, these businesses are not software companies. They are seeking to prioritize the speedy creation of business value...
Part 1 – Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process
John Folberth and Joe Fitzgerald share sample guidance for developing and deploying an Azure Data Factory into multiple environments. Introduction In the fast-paced world of cloud architecture, securely collecting, ingesting, and preparing data for health care industry solutions has become an essential requirement. And that's where Azure Data Factory (ADF) comes in. As an Extract, Transform, and Load (ETL) cloud service, ADF empowers you to scale-out serverless data integration and data transformation with ease. Imagine being able to effortlessly create data-driven workflows that orchestrate data movem...
The Art of HTTP Connection Pooling: How to Optimize Your Connections for Peak Performance
Ramakrishna Thanniru, Engineering, Optum / United Health Group Pete Tian, Sr Cloud Solution Architect, Microsoft Migrating an on-prem system to the public cloud can be a daunting task. While many companies have successfully made the transition, some have struggled with unexpected issues. One common problem is the sudden decrease in transaction speed, which can lead to system crashes and frustrating downtime. The Ops team may find themselves scratching their heads when faced with messages such as "timeout exceptions" or "HTTP 504 Gateway Timeout" in the logs, unsure of how to address these issues. As ...
Hosting Option for OpenEMR in Azure
Cloud Solution Architect, Monu Bambroo, spotlights OpenEMR and various ways to host the service in Azure. OpenEMR is the most popular open source electronic health records and medical practice management solution. OpenEMR is designed to be used by healthcare providers and organizations of all sizes, from small clinics to large hospitals. It is a web-based application that can be accessed from any computer with an internet connection, making it easy for providers to access patient records from anywhere. Open EMR software is also fully customizable, allowing providers to tailor it to their specific needs and...
Azure DevOps Pipelines: Leveraging Stages with YAML Objects
John Folberth continues his series on Azure DevOps Pipelines, by Leveraging Stages with YAML Objects. Introduction By now we’ve covered the basics on tasks, jobs, stages, environments, variables and templates for jobs and tasks. It is now time to move towards stage templates. Additionally, to assist with templating we will cover one way to leverage YAML objects which is a key tool when templating up and keeping your pipelines DRY (Don’t Repeat Yourself). To follow along I am leveraging non-ADO code in from Azure IaC Flavors and YAML templates from TheYAMLPipelineOne Stages Recapping from a previous...
Azure DevOps Pipelines: If Expressions and Conditions
John Folberth continues his series on Azure DevOps Pipelines by taking a deep dive into If Expressions and Conditions. At this stage in the series we’ve talked about tasks, jobs, stages, how to template them, and how to leverage environments in variables. This post will attempt to cover some basics around using if and conditions in your YAML Pipelines. If Expressions If expressions are simple and easy enough in YAML pipelines, they are a powerful tool. In my experience I have leveraged if expressions to: The key to unlocking their power is the understanding that an if expression will e...
Developer Support and MSDN/Visual Studio Subscription Benefits
Visual Studio provides valuable subscription benefits for building software and creating test environments. This includes access to installation media, developer tools, online training, Azure/Office 365 subscriptions, and even basic support. Since most development teams have access to MSDN/Visual Studio Subscriptions, businesses will frequently ask: Why would we need to add Developer Support as part of a Unified Support Contract? It is important to understand the limited scope of support benefits included with a Visual Studio Subscription. Some VS subscriptions include incident support made available to...
Azure DevOps Pipelines: Tasks, Jobs, Stages and more!
John Folberth recently contributed a series of Azure DevOps posts in our Tech Community covering a range of Pipeline topics, including Template Tasks, Jobs, Environments, Variables, Jobs, and Stages. There is a lot of great information, so be sure to check these out. Azure DevOps Pipelines: Tasks, Jobs, Stages When starting in Azure DevOps Pipelines one can immediately become inundated with terminology that may seem foreign or question what pipeline structure will lead to the most flexibility and streamlining of their build/deployment process. This post will focus on the hierarchy of Tasks->Jobs-Sta...
Deploying Kubernetes Cluster on Azure VMs using kubeadm, CNI and containerd
Cenk Caglar and Toros Gökkurt walk through how to deploy Kubernetes clusters on Azure VMs using kubeadm, CNI and containerd. Although managed Kubernetes clusters are great, ready for production, and secure, they hide most of the administrative operations. I remember the days I was working with Kubernetes the hard way repository to deploy on Azure Virtual Machines and I was thinking that there should be an easier way to deploy your cluster. One of the well-known methods is kubeadm which is announced at 2018. Since then, it is part of the Kubernetes and has its own GitHub page. When we were studying for K...
Azure DevOps – Leveraging Pipeline Decorators for Custom Process Automation
In this post, Jin Lee explores how Azure DevOps Pipeline Decorators can bridge the gap in a cloud environment with a customer's existing security processes on their on-premises IIS server. Background In the recent pandemic, health institutions all across the world have been pushed to their limits on about every facet. Through this, many such institutions have begun to reprioritize their modernization efforts around their cloud infrastructure to support increasing demands and hedge against uncertainty. As institutions are migrating their existing workloads into the cloud, a common challenge they are faced ...
Introduce RBAC in PostgreSQL Flexible Server
Pete Tian spotlights RBAC for PostgreSQL Flexible Server. As more enterprises modernize identity management by using RBAC and simply authentication with Single Sign-On, the efforts of maintaining separate sets of username/password for every legacy database instance is still excessive operational overhead that is considerable for IT admins. Even worse, once the databases migrated to public cloud with public IP exposure, the legacy identity management system became a security nightmare. The voice demanding integration of RBAC / RDBMS access management has been crescendo in recent years, and finally a solu...
Azure Cosmos DB for PostgreSQL w/ React QuickStart
John Folberth and Daniel Kim dive into Azure Cosmos DB for PostgreSQL and React with this overview and QuickStart. At Ignite 2022, Microsoft made an announcement for PostgreSQL in Azure CosmosDB! What is Azure Cosmos DB for PostgreSQL? Azure Cosmos DB - is a fast, distributed NoSQL database. Scalable with 99.999% availability! (Get started) PostgreSQL - Here are some reasons why you might want to use PostgreSQL – Azure Cosmos DB for PostgreSQL has combined these two technologies and extended with Citus extension to bring distributed tables for PostgreSQL. Combining Azure Cosmos DB...
Tracking Azure History with Azure Resource Graph
John Folberth explores how Azure Resource Graph can help you can track environmental changes that span multiple subscriptions and resources. When administrating an Azure environment, or any environment really, one will most likely find a way to track changes that were introduced. There are a number of ways to do this. Within Azure can query the Subscription or Resource Group Deployment, the downside though is this approach is limited to just the scope you are querying on. What if this is a larger organization with multiple subscriptions? You could also rely on a well-established CI/CD pipeline, a third-par...
Deep Dive into Social Media Analytics
Daniel Kim shares a two-part series exploring how to use Social Media, Azure Synapse & Power BI to make Insightful decisions with Social Media Analytics. Imagine you are a product developer for a healthcare company who wants to find trending topics around your recently developed product - or - you are a researcher for a company who wants to search around what is trending on the market to come up with new innovative products. You’ll first need to find a way to scrape different news sites and search popular social media platform, like Twitter, to find trending topics. Also imagine, after all the sc...