Posts

Showing posts from July, 2024

[MS] Enhancing #help in F# Interactive - devamazonaws.blogspot.com

Image
This is a guest blog post by David Schaefer. David is a freelance software developer with a focus on functional programming. He's a member of Amplifying F# , a community initiative to improve the F# ecosystem. There he works mainly on developer tooling and helps maintain various open-source projects. F# interactive, or fsi , is a favorite among F# programmers. This component executes F# scripts and provides a REPL (Read, Evaluate, Print Loop) for F#. The feature is well-established and documented, with extensive configuration opportunities (see dotnet fsi --help ). This post describes the most recent addition to fsi - the #help "idn" directive, which allows users to quickly obtain documentation for things like library functions. Background Some of you might remember our Unlocking F# Potential session from last November when I showed the first prototype of fsih . This small package, modeled after the h function of the Elixir IEx REPL, provides documentation avai...

[MS] How to compress out interior padding in a std::pair and why you don’t want to - devamazonaws.blogspot.com

My survey of many popular STL types began with std::pair , and in the comments, Jan Ringoš noted that the layout of a std::pair could result in padding between the two elements that could be recovered from padding within one of the elements. struct bulky { uint16_t a; void* b; }; If you assume 64-bit pointers and natural alignment, then the bulky structure contains 2 bytes for a , then 6 bytes of padding to reach the next aligned pointer boundary, and then 8 bytes for b . 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F a   b This padding is unavoidable for bulky on its own, since you need to get b aligned on a pointer boundary, and the entire structure needs to be 8-byte aligned so that you can have an array of bulky objects. But what if we put it inside a std:: pair<lithe, bulky> , where lithe is something like this: struct lithe { uint16_t v; }; std::pair<lithe, bulky> p; This produces the following std:: pair : ...

[MS] Transforming Fleet Operations with vCore-based Azure Cosmos DB for MongoDB Geospatial Capabilities - devamazonaws.blogspot.com

Image
Efficient fleet management is essential for industries that rely on transportation, such as logistics, delivery services, and public transportation. vCore-based Azure Cosmos DB for MongoDB supports enabling developers to create sophisticated geo-enabled applications with ease. Organizations can streamline fleet operations, monitor vehicle locations in real-time, and optimize routes for enhanced efficiency. Scenario: Streamlining Fleet Operations Imagine you are responsible for managing a fleet of vehicles in a logistics company. Geospatial data, which includes location coordinates and spatial relationships, is crucial for effective fleet management. It enables you to: Track Vehicle Locations: Monitor where your vehicles are at any given time. Optimize Routes: Find the best routes to improve delivery times and reduce fuel costs. Monitor Fleet Efficiency: Analyze data to make informed decisions and improve operational efficiency. Respond to Real-Time Events: Quickly locate veh...

[MS] Announcing a new Learn module: Create a copilot to help promote your podcast - devamazonaws.blogspot.com

Image
Microsoft Learn has always been a way to learn new skills and concepts and discover the power of Microsoft products with step-by-step guidance. Recently, there has been an increase of learn paths and modules that throw you further into the deep end allowing you to develop new skills by building an end-to-end solution or project. This is where our new module Create a copilot to help promote your podcast comes in! Through 10 units, you'll be taken on a journey exploring the integration of the Power Platform with advanced AI models to create a dynamic application inspired by Kevin Scott’s Microsoft Build 2023 demo . This application makes it easy to generate a social media post promoting a new episode of your podcast. This module will explain how to: Create and deploy Azure OpenAI Service resources to interact with GPT models Build a .NET Web API using the .NET Azure OpenAI SDK and creating a Custom Connector from Visual Studio Build Power Apps UI and connect to the custom con...

Amazon Connect now supports Inbound DID calling in Vietnam - devamazonaws.blogspot.com

Amazon Connect has expanded availability to support Inbound Direct Dial (DID) telephone numbers and guaranteed number presentation for in-country calling for Vietnam from the Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), and Asia Pacific (Seoul) regions. The new Telephony Rates are now available as part of the standard pricing for Amazon Connect service usage for Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), and Asia Pacific (Seoul) regions. To see all AWS Regions where Amazon Connect is available, see the AWS Region table . Visit the Amazon Connect website for more information. Post Updated on July 30, 2024 at 06:00PM

[MS] There is no mystery over who wrote the Blue Screen of Death, despite what some may want you to believe - devamazonaws.blogspot.com

Somehow, there is a claim of a 30-year mystery surrounding Microsoft's Blue Screen of Death . The argument goes that there are three conflicting sources of authorship: Steve Ballmer, John Vert, and me. But really, there is no conflict. There are three different blue-colored screens, and each has a different author. First is the Windows 3.1 Ctrl + Alt + Del screen , which is a blue screen of unhappiness, not death:     Contoso Deluxe Music Composer       This Windows application has stopped responding to the system.     *  Press ESC to cancel and return to Windows.   *  Press ENTER to close this application that is not responding.      You will lose any unsaved information in this application.   *  Press CTRL+ALT+DEL again to restart your computer. You will      lose any unsaved information in all applications.     The text for this m...

[MS] Support for Azure.AI.OpenAI and OpenAI v2 is coming - devamazonaws.blogspot.com

Microsoft announced the official OpenAI library for .NET at the Build 2024 conference. This new SDK ensures that .NET developers have parity with other programming language libraries when accessing Azure OpenAI models. This means the new SDK will be able to support the latest OpenAI features and models as soon as they come out, such as GPT4o and Assistants v2, by providing a unified experience across OpenAI and Azure OpenAI. Since the release of the official OpenAI library for .NET, the Semantic Kernel team has been working on updating our existing OpenAI connectors to use the new V2 OpenAI library and Azure.AI.OpenAI library . This is a significant update to Semantic Kernel. Once complete, it will enable developers to upgrade their projects to the v2 libraries from OpenAI and Azure OpenAI. What to expect when you upgrade Since the new .NET Azure.AI.OpenAI SDK has done a major version upgrade from v1 to v2, there have been significant updates to the underlying APIs. For developers ...

[MS] Easily Create Bindings for .NET MAUI with Native Library Interop - devamazonaws.blogspot.com

Image
In today's app development landscape, the ability to extend .NET applications by leveraging native capabilities is invaluable. The .NET MAUI handler architecture empowers developers to directly manipulate native controls with .NET code, even allowing for the seamless creation of cross-platform custom controls. Yet, the potential extends beyond just native platform APIs. What if you could also tap into native library APIs, unlocking even more possibilities? Native Library Interop for .NET MAUI, previously known as the Slim Binding approach, is an alternative method for integrating native libraries into .NET MAUI applications, including .NET for Android, .NET for iOS, and .NET for Mac Catalyst. This approach enables direct access to native library APIs in a way that is both streamlined and maintenance-friendly, eliminating the need to bind entire libraries through traditional methods. The Maui.NativeLibraryInterop repository serves as a valuable resource of community-curated sampl...

[MS] Why don’t Windows Imaging Component pixel format GUIDs continue their nice pattern? - devamazonaws.blogspot.com

A customer pointed out that the original pixel format GUIDs for the Windows Imaging Component (WIC) follow a pattern: The first 15 bytes are all the same, and the final byte starts at 1 and increases consecutively until 0x42 . On the other hand, the pixel formats that were added later do not follow the pattern. Why don't they just pick up where the previous GUIDs left off? Well, there was no promise that pixel format GUIDs would follow this pattern, so the component was well within its rights to break from the pattern. And in fact breaking from the pattern is important: Patterns are predictable, and sometimes you don't want predictability. Somebody might invent a custom pixel format and cleverly assign it a GUID that followed the pattern, with byte 0x43 as the final byte. They have squatted on that next GUID. Suppose the next version of WIC introduces support for a new pixel format and assigns it the GUID that ends with 0x43 . Now, when a program asks for a decoder of that ...

[MS] Sign VSIX packages with Sign CLI - devamazonaws.blogspot.com

Image
You can now leverage Sign CLI for a more secure, modern way to sign your Visual Studio extensions. Signing your VSIX packages improves security, prevents tampering, and builds trust with your users. This integration makes it easier and more convenient to sign your packages than ever before! Sign CLI replaces the older VSIXSignTool with a modern, general purpose sign tool that’s actively maintained and kept up to date with the latest security standards. It supports cloud and local signing from a variety of sources and can also fit seamlessly into your CI pipeline for easy integration. Continue reading to learn how to enhance your extension publishing workflow by using Sign CLI! Obtain a code signing certificate To sign your VSIX, you’ll need a valid EV or standard certificate from a public certificate authority that utilizes SHA 256, SHA 384, or SHA 512 digest algorithms. Windows supports certificates from many popular certificate authorities, such as Certum , Comodo , DigiCert , Glo...

[MS] Microsoft Entra External ID: Secure, scalable external identity management for your apps and resources - devamazonaws.blogspot.com

Implementing and managing identity securely and efficiently is crucial for your applications. Microsoft offers a variety of external identity solutions designed to cater to different end-user segments, including external business partners, consumers, and business customers. In this third blog post of the series , we explore both new and existing solutions. Our goal in this blog post is to provide you with helpful, scenario-based guidance so you can confidently select the option best suited to your needs. We focus on Microsoft Entra External ID , a solution that makes secure and customizable identity management simple. While External ID supports many external identity scenarios, these are two of the most common we see with customers: To manage customer identity and access, use External ID to quickly add authentication to your consumer applications . This scenario requires a Microsoft Entra tenant with an external configuration . To enable employees to collaborate with business p...

AWS Step Functions now supports Customer Managed Keys - devamazonaws.blogspot.com

AWS Step Functions now supports the use of Customer Managed Keys with AWS Key Management Service (AWS KMS) to encrypt Step Functions State Machine and Activity resources. This new capability enables you to encrypt your workflow definitions and execution data using your own encryption keys. AWS Step Functions is a visual workflow service capable of orchestrating over 12,000+ API actions from over 220 AWS services to build distributed applications and data processing workloads. With support for Customer Managed Keys, you have more fine-grained security control over your workflow data, making it easier to meet your organization's regulatory and compliance requirements. You can also audit and track usage of your encryption keys with AWS CloudTrail . To learn more about using Customer Managed Keys with AWS Step Functions, visit AWS Step Functions documentation and AWS KMS documentation . Post Updated on July 25, 2024 at 09:00PM

Amazon EC2 D3en instances are now available in Asia Pacific (Jakarta) region - devamazonaws.blogspot.com

Starting today, Amazon EC2 D3en instances, the latest generation of the dense HDD-storage instances, are available in the Asia Pacific (Jakarta) region. D3en instances are ideal for workloads including distributed / clustered file systems, big data and analytics, and high capacity data lakes. With D3en instances, you can easily migrate from previous-generation D2 instances or on-premises infrastructure to a platform optimized for dense HDD storage workloads. Amazon EC2 D3en instances are built on the AWS Nitro System, a collection of AWS-designed hardware and software innovations that enable the delivery of private networking, and efficient, flexible, and secure cloud services with isolated multi-tenancy. D3en instances offer up to 336 TB of local HDD storage. These instances also offer up to 75 Gbps of network bandwidth, and up to 7 Gbps of bandwidth to the Amazon Elastic Block Store (Amazon EBS). To get started with D3en instances, visit the AWS Management Console , AWS Command L...

[MS] In my Visual Studio project, I set my Conformance mode to permissive, but it’s still not permissive - devamazonaws.blogspot.com

Visual Studio lets you configure the conformance mode of your C++ project under Configuration Properties, C/C++, Language, Conformance mode. But if you set it to "No (/permissive)", it might still not be permissive. What's going on? The documentation for the /permissive flag says The /permissive- option is implicitly set by the /std:c++latest option starting in Visual Studio 2019 version 16.8, and in version 16.11 by the /std:c++20 option. … The /permissive option must come after any option that sets /permissive- implicitly. I created a project, set the C++ Language Standard to "ISO C++20 Standard (/std:c++20)", and set the Conformance mode to "No (/permissive)". I confirmed that the compiler was still not running in permissive mode by using the first example on the page and seeing whether the compiler accepted it. After confirming that permissive mode was disabled, I looked at the Command Line page to see what flags were ultimately being p...

[MS] Announcing Semantic Kernel for Java 1.2.0 - devamazonaws.blogspot.com

Hello Java AI developers! We are announcing the release of Semantic Kernel for Java v1.2.0! Since our release of v1.0 this past May, we have been working to improve and expand the capabilities we provide. Today, we are thrilled to share the latest updates, new features, and experimental features with you. What’s New in Semantic Kernel for Java v1.2.0? A Java-Specific Repository This release marks the beginning of Semantic Kernel for Java as a separate Java repository. The source code for Semantic Kernel for Java is now at github.com/microsoft/semantic-kernel-java . With this arrangement, we aim to make it easier for Java developers to contribute and collaborate. We still track our work in the Semantic Kernel project to keep in alignment with our peer language groups. See our current backlog and our planned work this sprint here: Current Sprint · Semantic Kernel for Java. Fixes We have addressed several issues reported to use by the community. Here are some of the key fixes included...