Most of the calls inside a production .NET agent are not “write me a paragraph.” They are small, repeated judgments: which team owns this ticket, is this reply promising a refund, how severe is this incident, should the agent continue or hand off. Those steps still get sent to a frontier chat model because that […]
When I wrote about GPT-6 Astra, the interesting question was: Can an agent take a messy problem, investigate it, and hand back something worth reviewing? The examples were deliberately substantial: bug investigations, BI recommendations, template-based reports, approval-gated record updates, and long-document synthesis. Now there is a different question: Can you afford to do that every […]
Every time Microsoft ships a new model into Foundry, I ask myself the same boring-but-important question: does this change anything for the way I actually write code? Most of the time the answer is “cool demo, doesn’t affect my day job.” This time it’s different. MAI-Thinking-1 — Microsoft’s first reasoning model — just went into […]
Now that we have learned how to create a VPC with C# using AWS CDK, let’s talk about how do we create RDS Database Instance with C# using AWS CDK. What is Amazon RDS? Amazon Relational Database Service (Amazon RDS) in simple terms is easy to set up, operate, and scale relational database. It provides […]
If you are working on AWS Lambda Dotnet with C# and find out that you are getting something like an error like below. The main reason is that you most likely created the lambda on the console first and then tried to upload the code using dotnet cli e.g dotnet lambda deploy-function “functionName”. In order […]
In C#7 there is an enhancement in the main method Async Main in C# that will allow you to await in your main method. Let me show you an example of how it was in C#6 and then how it has changed in C#7. You will remember this most likely
|
1 2 3 4 |
static int Main() { return SomeAsyncCall().GetAwaiter().GetResult(); } |
One will need to […]
In C#7 there is an improvement on using out parameter. Some of you may remember writing code like below.
|
1 2 3 4 5 6 7 |
string hourString = "5"; int hour; if (int.TryParse(hourString, out hour)) { Console.WriteLine($"The hour is {hour}"); } |
The improvement that C#7 brings is you can now declare out variables in the argument list of a method call, rather than writing a separate declaration statement like below:
|
1 2 3 4 5 6 |
string hourString = "5"; if (int.TryParse(hourString, out int hour)) { Console.WriteLine($"The hour is {hour}"); } |
And it doesn’t end there […]
In C# 7 there are Expression Bodied Accessors which allows you to write getter and setters somewhat more functional way, somewhat lambda’ish. Let me show you an example. You may remember the old way of writing getter and setters like below. Pre Expression Bodied Accessors Getter and Setter
|
1 2 3 4 5 6 7 8 9 |
public class Automobile { private string _brand; public string Brand { get { return _brand; } set { _brand = value; } } } |
Expression Bodied Accessors in C# 7 […]


