344: Exploring CoreData and CloudKit (Merge Conflict) - Honestly it felt good hearing about those two genius struggling with data. But more than that to see them continue to look for different alternatives, and try new tools and patterns. Great episode, as usual.
Learning Blazor (David Pine) - This book is just perfect! It explains a bit of everything. It is packed with real examples and code variation (because there are so many ways to write something). There was even a full chapter un test with playwright, I didn't expect that and it was great!
It is time to share new reading notes. It is a habit I started a long time ago where I share a list of all the articles, blog posts, and books that catch my interest during the week.
If you think you may have interesting content, share it!
Host WordPress in Microsoft Azure with App Service (PaaS hosting) (Chris Pietschmann ) - When we are interested in WordPress, we are looking for a key in-hand experience. We don't want to manage code and connections and too much technical stuff. Having it hosted in PaaS Azure simplifies even more this.
Dapr 1.10 - More steps in the right direction (Mark Heath) - This is great! I'm happy to see the multi-app functionality as I was totally waiting for it. And the workflow is definitely something that interests me.
It is time to share new reading notes. It is a habit I started a long time ago where I share a list of all the articles, blog posts, podcast episodes, and books that catch my interest during the week.
If you think you may have interesting content, share it!
Programming
Web3 DevOps: The Series (Donovan Brown) - I'm just getting started with web3 there are so many tools.
How to Compare Two Json Objects Using C# (Code Maze) - Data is the core of most if not all applications and a common way to define the data is JSON. This post helps to understand how to compare a piece of information. Very useful.
Taking Comfortable Risks with Scott Galloway (A Bit of Optimism) - One thing he said that will stick with me I think, and that I need to now transform into my words: "There is nothing that will happen to you if you don't take some uncomfortable risks and talk to some people".
How to manage through a season of layoffs (Modern Mentor) - A season like those required more effort from everyone. It's hard and we all need to say nice and as much human as possible.
Already time to share new reading notes. It is a habit I started a long time ago where I share a list of all the articles, blog posts, podcast episodes, and books that catch my interest during the week.
If you think you may have interesting content, share it!
The Suggestion of the week
What is .NET, and why should you choose it? (.NET Team) - This is not an ordinary blog post. It makes me think of those deep interesting MSDN articles. A great read for young or older developers that would like to know more about .NET or refresh their memory.
Cloud
Azure DevOps Pipelines: If Expressions and Conditions (John Folberth) - This nice post in the series on Azure Pipeline focuses on conditions. Avery has efficient tools to customize our pipeline just like we want them.
What is an Azure Load Balancer? (Cary Roys) - Do you know what an Azure Load Balancer is or you only thing you know? In this nice post not only you will learn what it really is but it the post shares some OSS tools to test your ALB and explains how to use them.
Programming
Asynchronous Programming Patterns in .NET (Code Maze) - This is a great tutorial that explains 3 asynchronous patterns with code samples and explanation. Perfect to get started and understand legacy code or write new one.
Coding 102: Writing code other people can read (Max Pekarsky) - This is an excellent post with so much wisdom in it. Writing readable code is extremely important. Whether it's just a few lines in excel, a script, a query for a database, or a full app.
Sustainable Open Source with Sarah Novotny (.NET Rocks!) - Great episode with the Microsoft Open Source Lead talking about why truly open source is important and how Microsft really believes in its future.
Digging Up the Past with Sarah Parcak (A Bit of Optimism) - Using satellite images to do archeology... wait what?! Great episode really interesting from the early second until the last one.
Adventures in Dapr: Episode 0 - Introduction (James Dawson) - This first post of the series provides us details about the plans and why Dapr seams interesting as a resource for this project.
A Fancy Hover Effect For Your Avatar (Temani Afif) - Wow! From my point of views this look loke magic. With only one HTML element and a few lines of CSS... Bravo!
Blazor and Azure OpenAI (Michael Washington) - Cool demo using OpenAI API. Because yes ChatGPT is fun but there are APIs to build real apps.
341: Frank Masters In-App Subscriptions (Merge Conflict) - A big thank you to Frank and James for sharing that journey. We too often only ear about the happy path, and it's great to listen to all those challenges you incountered and how you managed to move forward.
Embracing The Fall with Carla Hall (A Bit of Optimism) - YES! So true! Falling instead of failling. Like a very wise man told me long time ago, the important is to bounce; get back on your feet and standup.
I use Azure Logic Apps in many of my solutions, I find them so conviennant to integrate different systemes. Recently one of them was failling and by lookink at the error message: The property value exceeds the maximum allowed size, I knew what was wrong. I was tying to save a JSON object into a Storage table but one property was too long. For this particular case I didn't need the value contain in the property so the plan was to delete it. At first, I thought it wasn't possible to edit a variable of type object in a Logic Apps, but it is!
In this post I will show how to use Compose action and setProperty to perform data operations in Azure Logic Apps.
The Context
First think to know is that the Compose action does not update the the current object but creates a new one. In this demo the JSON object use is quite short to simplyfy the demo.
{
"firstname":"Frank",
"lastname":"Boucher",
"alias":"fboucheros",
"bio":"With many years of experience in the IT industry, François (Frank) Boucher is a trusted Microsoft Azure professional whose expertise and bilingual service are relied upon in large Canadian markets (Ottawa and Montreal) as well as internationally. Among his many accolades, Francois has been awarded four times Microsoft Azure MVP status, named a Microsoft Azure Advisor, and Microsoft Azure P-Seller. Frank created the “Cloud 5 minutes” show. Where every second week, a new episode that answers a different technical question, is published both in French and English (cloud5mins.com). "
}
The Details
The Logic App recieve a JSON object from the request body. This is transfom as an Person object. To empty the bio property the action Compose will be used.
Inside the Compose action, use the context menu to find setProperty in the Expression section. The expression setProperty takes three parameters: the object, the property name, and the edited value. In this demo the goal was to empty the property therefore and empty string will be assign like this:
setProperty(variables('Person'),'bio','').
The edited object is accessible from the output of the Compose action and this what will be return in the Response action.
The Result
By adding a single action it's possible to edit JSON object in a Logic App without requiring to use inline code or external tools. A demo wouldn't be complite without a end-to-end run so here the result of a HTTP POST to the Logic App passing the Person JSON and the returned result.
Video version
If you prefer, I also have a video version of this post.
Already time to share new reading notes. It is a habit I started a long time ago where I share a list of all the articles, blog posts, podcast episodes, and books that catch my interest during the week.
You think you may have interesting content, share it!
Generating Sample Data with Bogus (Shawn Wildermuth) - We all need seed data, test data, temp data... Bogus seams sample and efficient. I'm definitely trying it, in my next project.
It's been a while since I had so many "ah-ah" moment while reading a book. Digital body language is about communication using many different technologies by different culture, generations and individuals...
It a must if you care about how your message are received.
Already time to share new reading notes.
It is a habit I started a long time ago where I share a list of all the articles, blog posts, podcast episodes, and books that catch my interest during the week.
You think you may have interesting content, share it!
Bringing GitHub Actions to GitHub Mobile (Maximilian Sachs) - I'm Involved in a few repos, and being about to review some PR or questions and be able to answer them quickly is super nice. Learn more about this app in the post.
Practice Tests released on Microsoft Learn (Georgia Kalyva) - So many of you asked me about where they could find those tests... Happy to provide an easy answer moving on.
It's time to share new ReadingNotes. Here is a list of all the articles, podcasts, and blog posts, that catch my interest during the week.
If you think you may have interesting content, share it!
Programming
Making an Asynchronous Breakfast in .NET (Assis Zang ) - This post explains so well using a task that we all did the difference between synchronous and asynchronous code. It's in .NET, but valid for all languages (that support async code of course).
Get Started with GitHub Actions (Mandy Hubbard) - This is a great post to get started with CICD. GitHub is free and accessible, give it a try and then automate some tests or a deployment.
Why tuples in C# are not always a code smell (Dennis Frühauff) - I didn't use Turple yet but it's not hard to see the potential and how it could become ugly. This post shows and explains a few simple rules to stay clear.
Lazy and once-only C# async initialization (Ian Griffiths) - An amazing post that explains so much and that has all the code snippets to be clear about it. I will have to copy-paste those into some test applications to really try them, but it is clear what I should expect.
Good Monday, it's time to share new ReadingNotes. Here is a list of all the articles, podcasts, and blog posts, that catch my interest during the week.
If you think you may have interesting content, share it!
Azure Storage Caching and Compression – The Missing Piece (Jeffrey T. Fritz) - This post shares all the gotchas learned along the way in developing and trying to optimize an application. The result is a faster application, a better experience for the client, and more money that stays in your pocket.
Programming
Build Containers Without a Dockerfile (Rockford Lhotka) - An interesting thing to be able to create a container without a dockerfile. This post explains why it can be useful and of course how to do it.
PowerShell IntelliSense completion (Mark Downie) - I noticed that a few days while being active in the prompt to do a bunch of installation and configuration. Super happy that prediction is finally part of the release.
Azure Boards – Organize and Plan All of Your Work (April Edwards) - Amazing post that not only go over a few great features of azure DevOps board but also explains the why.... why should we use them.
As a way to close the Reading Notes of 2022, I changed a little today's post by sharing the books I read during the year. I didn't include the novel and thriller as I'm not sure they would be relevant in this kind of post. However, if you are interested, find me at goodreads.com/fboucheros.
Let's make this new year a better one, and as usual, I'm always happy to receive your blog post and recommendations.
I like the stories and examples in this book. I mean it's 'easy' to say listen carefully but demonstrating how the opportunity was missed, and how to correct it is way more complex. Nice book.
I really enjoyed reading this book. Data is in the middle of everything, and when communicating that information it's often translated into numbers. To have an impact, the way we communicate those number is crucial. A book to read and probably read again after a while to refresh our memory.
This book oversimplifies a really complex topic, but I believe it was important to make each point clear. Nice read, it will help to be less afraid of making changes.
A nice book that mixt great advice and more 'easy' ones. Nevertheless, it was interesting to revisit what I already knew and to learn new things. With so many distractions around us, focusing is important.
Big fan of D&D and this book is a great read. It is a history of the game and the people behind it. It is an excellent read for anyone who is interested in the game or its history of it. I had no idea of all the "drama", and honestly even I didn't know either what it takes to create those books/games.
The important message here where we can achieve a lot more with less. The book shares many examples and breaks them down into simple principles. I recommend it to anyone who is looking to improve their work-life balance.
The mind is incredible. Goggins pushed it to not eleven... to twelve! We all encounter difficulties in our lives, and the lesson here is that the real limit is way past what we think. Great book and he just published a new one.
The first time I heard of that book it was in a podcast and it seems very promising. Even though I didn`t fall in love with that book the ideas are interesting and definitely worth the time to learn them.
Good Monday, it's the last ReadingNotes of 2022! So many great articles, podcasts, and blog posts. More than 350 of those catch my interest this year...
If you think you may have interesting content, share it!