Content Developer II at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
122001 stories
·
29 followers

Microsoft Fabric Machine Learning Tutorial - Part 2 - Data Validation with Great Expectations

1 Share
From: endjin
Duration: 14:03

In part 2 of this course, Barry Smart, Director of Data and AI, walks through a demo showing how you can use Microsoft Fabric to set up a "data contract" that establishes minimum data quality standards for data that is being processed by a data pipeline.

He deliberately passes bad data into the pipeline to show how the process can be set up to "fail elegantly" by dropping the bad rows and continuing with only the good rows. Finally, he uses the new Teams pipeline activity in Fabric to show how you can send a message to the data stewards who are responsible for the data set, informing them that validation has failed, itemising the specific rows that failed and the validation errors that were generated in the body of the message.

The demo uses the popular Titanic data set to show features in data engineering experience in Fabric, including Notebooks, Pipelines and the Lakehouse. It uses the popular Great Expectations Python package to establish the data contract and Microsoft's mssparkutils Python package to enable the exit value of the Notebook to be passed back to the Pipeline that has triggered it.

Barry begins the video by explaining the architecture that is being adopted in the demo including Medallion Architecture and DataOps practices. He explains how these patterns have been applied to create a data product that provides Diagnostic Analytics of the Titanic data set. This forms part of an end to end demo of Microsoft Fabric that we will be providing as a series of videos over the coming weeks.

00:12 Overview of the architecture
00:36 The focus for this video is processing data to Silver
00:55 The DataOps principles of data validation and alerting will be applied
02:19 Tour of the artefacts in the Microsoft Fabric workspace
02:56 Open the "Validation Location" notebook and viewing the contents
03:30 Inspect the reference data that is going to be validated by the notebook
05:14 Overview of the key stages in the notebook
05:39 Set up the notebook, using %run to establish utility functions
06:21 Set up a "data contract" using great expectations package
07:45 Load the data from the Bronze area of the lake
08:18 Validate the data by applying the "data contract" to it
08:36 Remove any bad records to create a clean data set
09:04 Write the clean data to the lakehouse in Delta format
09:52 Exit the notebook using mssparkutils to pass back validation results
10:53 Lineage is used to discover the pipeline that triggers it
11:01 Exploring the "Process to Silver" pipeline
11:35 An "If Condition" is configured to process the notebook exit value
11:56 A Teams pipeline activity is set up to notify users
12:51 Title and body of Teams message are populated with dynamic information
13:08 Word of caution about exposing sensitive information
13:28 What's in the next episode?

#microsoftfabric #dataengineering #greatexpectations #course #tutorial

Read the whole story
alvinashcraft
14 seconds ago
reply
West Grove, PA
Share this story
Delete

The Scrum Master Feedback Loop, Measuring What Really Matters For Scrum Masters | Mike Richards

1 Share

Mike Richards: The Scrum Master Feedback Loop, Measuring What Really Matters For Scrum Masters

Read the full Show Notes and search through the world’s largest audio library on Scrum directly on the Scrum Master Toolbox Podcast website: http://bit.ly/SMTP_ShowNotes.

In this segment, Mike shares his approach to measuring success through key performance indicators and anonymous feedback. How can scrum masters create a safe space for team feedback and foster a learning environment within their teams? Discover the significance of emotional security and predictability in achieving sprint goals and maintaining effective team dynamics.

Featured Retrospective Format for the Week: The Cat Memes Retrospective

Explore a unique retrospective format with Mike as he shares how using cat memes can inject humor and openness into team discussions. How does this light-hearted approach help teams express emotions and enhance engagement during retrospectives? Learn tips on varying retrospective formats to maintain team engagement and foster candid discussions about challenges and successes.

 

[IMAGE HERE] Retrospectives, planning sessions, vision workshops, we are continuously helping teams learn about how to collaborate in practice! In this Actionable Agile Tools book, Jeff Campbell shares some of the tools he’s learned over a decade of coaching Agile Teams. The pragmatic coaching book you need, right now! Buy Actionable Agile Tools on Amazon, or directly from the author, and supercharge your facilitation toolbox! 

 

About Mike Richards

Mike Richards, with over a decade in tech, goes beyond managing projects. He's passionate about transforming organizations, coaching on cloud migration, leading digital shifts, and empowering agile teams. More than a consultant, Mike is a catalyst for growth and change.

You can link with Mike Richards on LinkedIn here.





Download audio: https://traffic.libsyn.com/secure/scrummastertoolbox/20240502_Mike_Richards_Thu.mp3?dest-id=246429
Read the whole story
alvinashcraft
22 seconds ago
reply
West Grove, PA
Share this story
Delete

Episode 279: How Cool it is to be a .NET developer

1 Share

Host(s):

Guest:

Recording date: April 18, 2024

Brought to you by

Resources:

Timejumps

  • 00:29 Is it cool to be a .NET developer?
  • 03:44 Introducing Frank Boucher
  • 05:30 What is Open at Microsoft?
  • 07:43 Sponsor: Ag Grid
  • 08:47 Do you enjoy the community or the language?
  • 14:18 If you develop in .NET, can you use multiple environments or platforms?
  • 17:28 What is Blazer?
  • 21:58 Where does Web Assembly fit?
  • 30:28 Sponsor: IdeaBlade
  • 31:29 Are there load time issues?

Podcast editing on this episode done by Chris Enns of Lemon Productions.





Download audio: https://cdn.simplecast.com/audio/df5fbc79-a4cb-46e5-9cd9-12d319d7f92b/episodes/d6cb044e-832a-49c7-abd4-37f3e185f2de/audio/135d09ed-48c0-4446-b592-f4d6ce159f87/default_tc.mp3?aid=rss_feed&feed=tOjNXec5
Read the whole story
alvinashcraft
29 seconds ago
reply
West Grove, PA
Share this story
Delete

#460: Dropbase: Build Internal Tools with Python

1 Share
Do you find yourself or your team building internal apps frequently for your company? Are you familiar with the term "forms over data"? They are super empowering for your org but they can be pretty repetitive and you might find yourself spending more time than you'd like working on them rather than core products and services. I invited Jimmy Chan from Dropbase to tell us about their service who's tagline is "Build internal web apps with just Python." It's a cool service and a fun conversation.

Episode sponsors

Mailtrap
Talk Python Courses

Links from the show

Build internal web apps with just Python.: dropbase.io
Dropbase on Github: github.com
Dropbase @ LinkedIn: linkedin.com
Dropbase on Twitter: twitter.com
Jimmy Chan: linkedin.com
Jimmy on Twitter: twitter.com
Dropbase Docs: docs.dropbase.io
Dropbase: dropbase.io
Watch this episode on YouTube: youtube.com
Episode transcripts: talkpython.fm

--- Stay in touch with us ---
Subscribe to us on YouTube: youtube.com
Follow Talk Python on Mastodon: talkpython
Follow Michael on Mastodon: mkennedy




Download audio: https://talkpython.fm/episodes/download/460/dropbase-build-internal-tools-with-python.mp3
Read the whole story
alvinashcraft
35 seconds ago
reply
West Grove, PA
Share this story
Delete

Exploring multi-window support for Linux, macOS, and Windows

1 Share

Exploring multi-window support for Linux, macOS, and Windows

Dual screen, Split-screen, or Fullscreen, whichever describes your workspace, we live in a time of heightened productivity and seamless multitasking. So, shouldn’t your app’s UI extend beyond a single window and let users interact with multiple components simultaneously without the need to toggle back and forth?

The short answer is yes, though the use case is much more evident for desktop users than mobile ones. Thankfully, if you’re an Uno Platform developer, the latest release introduces multi-window support for Windows, macOS, and Linux, so you can create richer, more engaging applications that can effectively multitask and handle complex workflows.

In this blog, we’ll explore the new multi-windowing feature, walk through its implementation, and share practical examples to help you integrate it into your Uno Platform projects.

Multi-Window Support Overview

What is Multi-Window Support?

Multi-window support allows applications to operate in more than one window at the same time. This feature is vital for desktop environments where users benefit from interacting with multiple datasets or interfaces concurrently.

Implementation

Multi-window capabilities are built into the Uno Platform by leveraging native operating system APIs, ensuring that additional windows perform as native ones on each platform. It allows for multiple windows to run simultaneously on the same UI thread, which simplifies communication between windows without the need for synchronization or dispatchers.

This means that each window can have its own set of resources and be independently managed. The entire system is rendered using Skia, ensuring a native appearance and consistent text presentation across all application content, complete with expected features.

This approach allows for a more scalable application design and can be crucial for applications that need to display a significant amount of independent data or interfaces simultaneously.

Key Features
  • Native Performance: Leveraging native APIs allows for smooth and responsive multi-window operations.
  • Independent Resource Management: Each window can manage its resources, making the application scalable and robust.
  • Consistent UI Rendering: The use of Skia ensures that the text and visuals remain consistent across all windows.
Uno Platform Windowing Sample
Sample code available on the Uno Platform repo.

Practical Applications and Benefits

Enhanced Productivity

Multi-window support allows users to handle multiple documents or views simultaneously, significantly reducing the need for switching contexts.

Improved User Engagement

By providing tailored window behaviors, applications can offer more dynamic and immersive user experiences.

Greater Flexibility

The ability to customize window configurations enables applications to adapt seamlessly to various user scenarios, from professional environments to more casual settings.

It also might prevent your users from feeling like this:

Window Management

Standard Window Creation

Developers can quickly spawn new windows using the Microsoft.UI.Xaml.Window class, which behaves similarly across platforms thanks to Uno’s consistent API surface. This allows for the straightforward instantiation of new windows with minimal overhead.

Custom Window Types

For applications requiring specialized window behaviors and unique layouts or those who prefer working directly with XAML, Uno Platform accommodates this by creating custom window types. By inheriting from the Window class, developers can define their own window logic and UI in XAML with supporting code-behind, harnessing the full power of XAML styling and templating.

Each custom window utilizes a `.xaml` file along with a corresponding `.xaml.cs` code-behind file, containing both the UI elements and the logic required for operations such as incrementing window counters and generating dynamic background colors. This approach enables developers to easily craft and showcase customized UIs within their windows.

Advanced Customization with AppWindow

The AppWindow property offers advanced customization options, including window presentation – where developers can easily minimize or maximize the window, keep it on top of other windows, or switch it to full-screen mode.

Implementation Example

How to Create a Window

To create a multi-window setup, start by creating a new window instance, configuring its UI, and setting the UI to the window’s content property. The window is then made visible through an activation method.

Basic Multi-Window Setup

Here’s a straightforward example of how easily multi-window can be implemented with Uno.

				
					var newWindow = new Window();
newWindow.Content = new MainPage();
newWindow.Activate();


				
			

TODO Minimize and Maximize via OverlappedPresenter 

				
					e.g. ((OverlappedPresenter)AppWindow.Presenter).Maximize())
				
			

Fullscreen

Here is an example that toggles the application’s main window into fullscreen mode. 

				
					var app = Application.Current as App;
App.MainWindow.AppWindow.SetPresenter(Microsoft.UI.Windowing.AppWindowPresenterKind.Overlapped);

				
			

Window Title Feature

The window title feature exemplifies simple property settings, such as setting `window.title` to a text string, which can also be data-bound to other UI elements like a text box. This enables two-way data binding, allowing changes in the text box to be reflected in the window’s title bar.

Watch our Windowing demo from the Uno Platform 5.2 Webinar

Additional Resources
For detailed guidance on integrating multi-window support, visit our documentation.

Next Steps

If you haven’t already, install the Uno Platform extensions, then start by exploring our samples and tutorials to get hands-on experience.

And don’t forget to join the Uno Platform community

Tags:

Related Posts

The post Exploring multi-window support for Linux, macOS, and Windows appeared first on Uno Platform.

Read the whole story
alvinashcraft
44 seconds ago
reply
West Grove, PA
Share this story
Delete

Control Edge memory usage with resource controls

1 Share
Boost your gaming experience even more with the new resource controls setting in Microsoft Edge 125! Thanks to efficiency mode, Edge already reduces how much of your computer resources the browser uses while you play PC games. And now, starting with Microsoft Edge Beta 125 , if you want to have even more control over how much memory your browser uses, we're introducing the new resource controls setting to set how much RAM Edge can use.

How to access resource controls

To enable the new resource controls setting, make sure you have Microsoft Edge version 125 or later and go to Settings and more (...) > Settings > System and performance. Under the Manage your performance section, switch the toggle to enable resource controls: The Resource controls setting in Edge When you enable the setting, by default RAM usage is controlled only when you're PC gaming. If you want to limit Edge's RAM usage all the time, then select Always. Note that, depending on the limit you set, resource controls can affect your browser performance. When you set a limit for the memory Edge can use, your browser functions normally until that limit is hit. When Edge hits the limit, the browser will try to reduce its memory usage and you may notice increased page reloads with more tabs being slept and discarded. Setting a low limit may slow down your browser performance.

How to keep an eye on browser performance

To keep a close eye on your browser performance, use the Browser essentials sidebar in Microsoft Edge. The sidebar now also lets you monitor your newly set RAM limit. To open the Browser essentials sidebar, go to Settings and more (...) > Browser essentials: Browser essentials, showing the set RAM limit Browser essentials let you toggle efficiency mode and monitor the memory usage related to sleeping tabs. And now, if you have enabled the new resource controls setting, the RAM usage section will also appear. Note that there may be moments when the memory usage appears to be higher than your set limit. This is expected, Edge tries its best to keep usage below your set value but may not always be able to do so. Try the new resource controls setting and Browser essentials, and let us know what you think! If you have any feedback or suggestions for this feature, let us know by sending feedback in Edge: go to Settings and more (...) > Help and feedback > Send feedback.
Read the whole story
alvinashcraft
49 seconds ago
reply
West Grove, PA
Share this story
Delete
Next Page of Stories