TENTANG EPISODE INI
In this episode of Dynamics Corner, Kris and Brad are joined by Volodymyr Dvernytskyi — a BC developer from Ukraine, a recent Microsoft MVP, and the creator of many open-source tools — for a grounded, practical look at what AI-assisted AL development actually looks like in the real world. Volodymyr doesn't sugarcoat it: AI has made code cheaper to produce, but that speed comes with a trap that most developers aren't talking about yet. What happens when you generate thousands of lines of code you didn't write and don't fully understand? And who's responsible when that code breaks in production? The conversation takes an unexpected turn when Volodymyr reveals what's been happening to his open-source repositories — a flood of AI-generated pull requests from contributors who don't understand the problems they're trying to solve. But the episode isn't all cautionary tales. Volodymyr lays out a clear progression for anyone looking to get started: from IDE-based agents to CLI tools to MCPs, with a critical reminder that understanding Business Central's functionality matters now more than ever. Brad shares a testing experiment that produced eye-opening results on an old production project, and the group lands on a closing insight that reframes the entire "what do we do with the free time" debate. If you think AI development means less work, this episode will change your mind — it means better work, and the developers who understand that distinction are the ones who'll thrive.
#MSDyn365BC #BusinessCentral #BC #DynamicsCorner
Follow Kris and Brad for more content:
https://matalino.io/bio
https://bprendergast.bio.link/
TAMPILKAN CATATAN 🔗
TRANSKRIP 🔗
00:00:00.400 --> 00:00:01.439
Task worker.
00:00:01.520 --> 00:00:11.759
It's like a library for developers where you can able to uh easily to split some uh huge slow processes into chunks and run it in separate sessions.
00:00:12.000 --> 00:00:15.759
Because I encounter this problem very often in my experience.
00:00:16.160 --> 00:00:20.000
Welcome everyone to another episode of Dynamics Corner.
00:00:20.160 --> 00:00:27.600
What does Two Cats have anything to do with AI, workflows, framework, etc.?
00:00:28.399 --> 00:00:29.440
We're about to find out.
00:00:29.519 --> 00:00:30.800
I'm your co-host, Chris.
00:00:30.960 --> 00:00:31.760
And this is Brad.
00:00:31.839 --> 00:00:34.880
This episode is recorded on April 10th, 2026.
00:00:35.039 --> 00:00:36.320
Chris, Chris, Chris.
00:00:36.640 --> 00:00:38.640
Two cats in AL development.
00:00:38.719 --> 00:00:40.320
That's an interesting concept.
00:00:40.640 --> 00:00:52.799
Also, we learned about tips and tricks for starting your AI AL development journey, as well as what you can do with your free time now that we're using in living in the world of AI.
00:00:52.960 --> 00:01:11.040
With us today, we had the opportunity to speak with you doing.
00:01:17.359 --> 00:01:18.480
It's morning for me.
00:01:18.640 --> 00:01:20.560
It's eight o'clock in the morning right now.
00:01:20.799 --> 00:01:22.159
Oh, it's your also morning.
00:01:22.319 --> 00:01:22.640
Yeah.
00:01:22.879 --> 00:01:23.519
I see.
00:01:23.840 --> 00:01:25.840
It's uh it's 6 p.m.
00:01:26.000 --> 00:01:27.519
for me, so it's for me, it's evening.
00:01:27.760 --> 00:01:29.439
Oh dinner, dinner time.
00:01:29.760 --> 00:01:31.040
Your day's over, it's good.
00:01:31.280 --> 00:01:35.760
I like uh I like the the cats that you have joining you as well.
00:01:36.000 --> 00:01:38.319
Um it's not planet.
00:01:38.480 --> 00:01:45.920
Immediately when I uh join uh meeting during our session, they just decide to be here.
00:01:46.079 --> 00:01:47.040
I think they would like to.
00:01:48.159 --> 00:01:49.280
They wanted to join with you.
00:01:49.359 --> 00:01:50.640
What are their names?
00:01:50.879 --> 00:01:54.560
So uh white cat is uh he is uh Hades.
00:01:55.359 --> 00:01:56.319
Say that again, please.
00:01:56.560 --> 00:01:56.879
Hades.
00:01:57.359 --> 00:01:59.280
It's like uh yeah, Hades, Hades.
00:02:00.400 --> 00:02:03.920
From the Greek uh Yeah, from Greek mythology, it's actually yeah.
00:02:04.159 --> 00:02:05.840
And she is Nyx.
00:02:06.719 --> 00:02:07.599
What is that again?
00:02:07.920 --> 00:02:11.599
Nix Nix, it's also from Greece uh mythology as well.
00:02:12.400 --> 00:02:22.639
So that's like some interesting uh name choice, but uh I I love them, they I like them, and uh they're like very new for me.
00:02:22.800 --> 00:02:24.879
Uh only two years ago.
00:02:24.960 --> 00:02:44.560
I I I I it's it's nice, it's it's good to have a companion uh with you when you're you're sitting at home working, and it's it's been a wild, crazy couple of months with uh with technology, with development, with AL.
00:02:45.039 --> 00:02:51.360
Business Center released Wave 1 for 2026, just a short period ago.
00:02:51.840 --> 00:03:03.599
Usually, and I have to figure out why, usually I go through all of the features well before the release and experiment and play with them.
00:03:04.400 --> 00:03:12.240
But I think with the way things are going, I've been extremely busy and and I was doing some reflection and figuring out why am I so busy.
00:03:12.400 --> 00:03:25.919
And I think part of it is because in the age of AI and development, we can do so much more, so we're busier doing more, whereas before we would take the time to do things.
00:03:26.319 --> 00:03:45.840
And I was looking at the list of development editions for 2026 Wave One, and I'm curious to know if you had the chance to work with them because I because I just started working with them recently.
00:03:46.000 --> 00:03:48.560
Uh some of them I'm really excited about.
00:03:49.439 --> 00:03:54.560
I actually take um short look on it.
00:03:54.639 --> 00:04:05.599
Uh I also was not able to handle it uh fully, and uh it's like it was a lot of uh new changes regarding agents, if you notice.
00:04:05.759 --> 00:04:14.719
Uh like now you can uh build some agents in uh your sandboxes environments, and uh after that you can export it and use it in code.
00:04:14.960 --> 00:04:19.199
Uh in theory, it's just uh perfect idea.
00:04:19.279 --> 00:04:20.000
I like it.
00:04:20.240 --> 00:04:36.240
Uh there's many different changes uh regarding um how uh you can use unified interfaces to work with IA inside business central, like um those specific um code units interfaces.
00:04:36.879 --> 00:04:40.079
And I even use it, I I I try to use them.
00:04:40.879 --> 00:05:04.959
But some of some of my part of experience was great, some of it's not great, like there are some limitations, like you cannot uh pass um files and uh work with them efficiently, like it's it's still in uh in the stage where it's evolving, and there are some challenges which we are uh right now trying to uh to solve and Microsoft trying to solve.
00:05:05.120 --> 00:05:08.639
So yeah, it's yes it it is, it's exciting.
00:05:08.720 --> 00:05:11.839
So it's the trouble I haven't played with it.
00:05:11.920 --> 00:05:18.240
I I've looked at some chats, but the enabled troubleshooting MCP server for AL, I really want to play with.
00:05:18.319 --> 00:05:23.199
I I know that's due in May, so I'm I'm looking forward to seeing that.
00:05:23.759 --> 00:05:31.439
The AL tests from Visual Studio Code, I'm excited about that um should be out now.
00:05:32.160 --> 00:05:40.959
And also, as you had mentioned, BC Bench or uh agent preview or agent playground to be able to create agents in the sandbox.
00:05:41.120 --> 00:05:47.839
I've created many of those and have been running the tasks through the sandbox user interface.
00:05:48.079 --> 00:05:57.120
I really do hope that they make it to where you can create the agents and not have to create the code for the agents with what you create with the preview.
00:05:57.199 --> 00:06:03.279
But it feels it feels so natural to just not to quote it, but just to um like configure it and use it.
00:06:03.439 --> 00:06:04.480
I totally agree on that.
00:06:04.879 --> 00:06:20.399
Yes, I I've created many and you go back and the task run, and I just feel like I should be able to click schedule task or run task or do something, and uh that's my hopes that one day we get there because as you had mentioned, it feels so natural, and you can do some uh great things.
00:06:20.560 --> 00:06:27.040
I've had some demonstrations that I've done with it, and that's what everybody's saying is why do we have to code it now?
00:06:27.120 --> 00:06:28.319
It's already there.
00:06:28.639 --> 00:06:31.199
Uh maybe, maybe it won't take too long.
00:06:31.360 --> 00:06:33.360
Maybe uh give it a few months.
00:06:33.680 --> 00:06:35.759
Yeah, it just it's just very fresh.
00:06:39.680 --> 00:06:41.680
Or maybe we can contribute somehow.
00:06:41.839 --> 00:06:42.319
Who knows?
00:06:42.879 --> 00:06:43.920
Maybe, but still in future.
00:06:44.240 --> 00:06:45.199
That's what they want though.
00:06:45.360 --> 00:06:46.480
That's what they want, right?
00:06:46.560 --> 00:06:50.800
They want you to uh contribute and enhance it.
00:06:50.959 --> 00:06:52.319
Here's the tool.
00:06:53.120 --> 00:06:54.959
Make something right.
00:06:55.680 --> 00:07:10.720
So so those are some of the big ones that we're excited about, but uh we definitely wanted to speak with you about a lot of things from business central uh with what you're doing from the technical point of view, because uh I know you're doing quite a bit in development and development workflow.
00:07:10.879 --> 00:07:15.040
Uh, but before we talk about that, can you tell us a little bit about yourself?
00:07:15.519 --> 00:07:16.240
Uh sure.
00:07:16.399 --> 00:07:26.480
So um I'm Volodymyr, uh ABC developer from Ukraine, a recent Microsoft MVP, uh, and I have been in the ecosystem for nine years.
00:07:26.639 --> 00:07:29.279
Um I have worked with BC in different capacities.
00:07:29.439 --> 00:07:35.360
I work at B Dynamics with Swiss partner, Microsoft Partner, where I focus on enterprise level projects.
00:07:35.680 --> 00:07:43.759
Additionally, I run company Volodiner LC where I do freelance work for small medium-sized clients and publish my own app source extensions.
00:07:44.560 --> 00:07:52.000
I spent also a good chunk of my time contributing on open source and writing a technical blog at uh vldbc.com.
00:07:52.879 --> 00:08:02.319
Uh what I really focus on is more developer tooling, building things that make everyday life easier for BC developers, uh partners, customers.
00:08:03.199 --> 00:08:16.240
Um my open source uh product, data unitor tool, for example, uh, has over 160 stars on GitHub and almost 1000 installs on App Source, and uncounted number of installs on PT.
00:08:16.480 --> 00:08:17.680
I don't know, I didn't count it.
00:08:18.399 --> 00:08:20.240
And I enjoy Business Central.
00:08:20.399 --> 00:08:24.079
I do all of this because I believe in BC as a product and its community.
00:08:24.240 --> 00:08:33.679
I think open source helps everyone grow, and I love sharing what I learned, whether that's thoughts on my blog, at events, or just in conversations like this one.
00:08:34.720 --> 00:08:35.279
That's great.
00:08:35.440 --> 00:08:42.799
So you you have the open source project that, as you mentioned, has a number of stars and a lot of installs.
00:08:43.120 --> 00:08:58.799
And I'd like to talk about open source projects, but some of these tools that you've created for development, how are they impacting the development workflow and the benefits to users of the tool when their development process?
00:09:00.080 --> 00:09:00.960
Great question.
00:09:01.200 --> 00:09:19.279
Uh I think uh the idea behind it is to uh fill all these gaps what Microsoft are uh have because they are have many many focuses, like IA, uh all of these important uh tools as well.
00:09:19.519 --> 00:09:32.879
But there are some gaps which I can see uh that I can add some value and add some value to community to to create something that can be useful specifically uh to solve some specific problem.
00:09:33.039 --> 00:09:52.639
For example, data you tool trying to solve problems, uh how you can manage, edit, view, data mostly for testing uh in environments, as you remember in old days uh you were able to do it in Object Designer, uh in Navision Classic or RTC, doesn't matter, or even a SQL.
00:09:53.279 --> 00:09:58.480
Uh but after BC14, if I remember correctly, they change it and you cannot manage data.
00:09:58.960 --> 00:10:01.039
Uh same story.
00:10:01.279 --> 00:10:05.679
Uh recently I released um parallel task worker.
00:10:05.840 --> 00:10:15.759
It's like a library for developers uh where you can able to uh easily to split some uh huge slow processes into chunks and run it in separate sessions.
00:10:16.320 --> 00:10:23.360
Because I encounter this problem very often in my experience that some huge processes which you cannot make it faster, it's like impossible.
00:10:23.440 --> 00:10:25.919
There is no uh room for that.
00:10:26.399 --> 00:10:32.399
So I think uh idea behind it is to find some problem and trying to solve it.
00:10:32.639 --> 00:10:47.440
And if you don't see any solutions in um in the internet and community, then it's even best uh or greater uh idea to put some effort on it and to make life uh for developers and partners easier.
00:10:48.320 --> 00:10:50.159
That's what I think about it.
00:10:50.559 --> 00:10:52.879
No, no, it's important to see those tools.
00:10:53.039 --> 00:11:04.399
And you had mentioned, I know with Business Central, you can now, and you have been for many years, able to make contributions to the application to enhance the features and the functionality of the application.
00:11:04.639 --> 00:11:17.200
And then also, as you had mentioned, many individuals are making open source contributions to help with uh PTEs uh or for the application or even some development tools.
00:11:17.279 --> 00:11:24.399
I know a lot of individuals are adding development tools um uh uh options available.
00:11:24.480 --> 00:11:25.600
The cats are going a little crazy there.
00:11:25.679 --> 00:11:27.679
It's kind of why I had a brief pause.
00:11:27.840 --> 00:11:29.519
It's fighting, fighting.
00:11:29.840 --> 00:11:34.399
Yeah, I thought there was going to be a battle, a battle soon with uh with the cats.
00:11:34.879 --> 00:11:37.840
They started when you mentioned open source uh contributions.
00:11:38.399 --> 00:11:38.960
Interesting.
00:11:39.120 --> 00:11:39.519
Why?
00:11:40.080 --> 00:11:46.480
They're excited about the open source contributions and well with that.
00:11:46.879 --> 00:11:54.080
Uh we appreciate all that you're adding, and you have a lot of great tools available on your uh GitHub repository.
00:11:54.240 --> 00:12:07.039
But another thing that we were talking about previously is the impact of AI in development in general, and in general also with AL.
00:12:07.519 --> 00:12:20.080
So you've been working with development for nine years, so you've come into the tail end, I believe, of um the old way, as everybody talks about with Cal, transitioned into AL, working with AL.
00:12:20.320 --> 00:12:26.960
And now, as we talked about, Microsoft's even adding development tools, as we talked about the introduction to this session.
00:12:28.159 --> 00:12:35.919
How has AI impacted your AL development, or how do you see it impacting AL developers?
00:12:36.720 --> 00:12:39.120
That's a very uh great question.
00:12:39.279 --> 00:12:40.960
Let me think about it more.
00:12:41.200 --> 00:12:53.919
Um first of all, I would like to admit you mentioned very correctly there is not only open source projects which you maintain by your own, there's also contributions to uh direct contributions to business central uh itself.
00:12:54.080 --> 00:13:01.440
You can uh contribute uh as open source contribution uh to system application, to uh base application also as well.
00:13:01.679 --> 00:13:13.919
And uh I would like to like to highlight it to all developers uh who listen it, or maybe will listen it, don't afraid to contribute to business central itself.
00:13:14.000 --> 00:13:21.519
It's actually add a lot of value, it's uh you solve your problem, your community problem, and product itself will gain some value from it.
00:13:21.919 --> 00:13:23.840
So don't afraid don't afraid to do it.
00:13:24.159 --> 00:13:25.279
Start with something simple.
00:13:25.679 --> 00:13:35.279
And uh back to your question uh about the effect of uh how artificial intelligence can affect uh development process specifically for AI and in general.
00:13:35.919 --> 00:13:44.559
Um I will start with uh some valuable uh insights.
00:13:44.720 --> 00:13:52.080
What I found out when I uh start to um realize that I is closer and closer uh in development process.
00:13:52.320 --> 00:13:59.120
I start to use uh IA firstly, uh I think when uh GPT 3.5 was released.
00:13:59.200 --> 00:14:02.799
Uh it is 2020, 21.
00:14:02.960 --> 00:14:08.799
Not I don't remember exactly the year, but it goes so fast I can't keep up with it either.
00:14:09.120 --> 00:14:17.440
It seems like yesterday a lot of times that something was released and someone will tell me it was months ago or years ago.
00:14:17.840 --> 00:14:25.519
I totally agree, it's evolving very fast every month, every six months, every uh place or situation is changing dramatically.
00:14:25.679 --> 00:14:27.279
That's what's happening.
00:14:27.600 --> 00:14:53.279
Uh and today, if you speak about today, uh what I actually see that uh IA is to make code is cheaper, you can generate and create many uh many products uh without spending much amount of time uh for writing all specific line of code.
00:14:53.360 --> 00:15:19.679
You can spend more amount of time uh to focus on architecture of product, how you can build things, you can do actually real software engineering, because if you think about software engineering, it's not just about uh uh write some lines in text in on in in in notebook, it's actually to design, to think about architecture, to think about limitations, to think how it will be maintained in the future.
00:15:20.240 --> 00:15:35.120
And I think II give us a huge uh tool to avoid some um boring work which are not super actually software engineering if you think it about more.
00:15:35.440 --> 00:15:52.960
So I think it gives you an opportunity to generate a lot of code, but at the same time, I think uh it's also a dangerous um because when you will generate too much line of code, how you will understand them very well.
00:15:53.440 --> 00:16:01.200
Someone will tell you don't need to understand it because you can just uh delegate all work to agent and it will do everything for you.
00:16:01.679 --> 00:16:17.039
Maybe, but we are not on this stage where we can avoid reading code, we still need to read code, uh, and there is no real huge product uh in the market which was fully wipe coded without reading and fixing the real code.
00:16:18.399 --> 00:16:20.879
It's still a case where we need to read code.
00:16:21.360 --> 00:16:42.240
And when we generate too many lines of code, we also uh lose some um how to say, you are you are not fully understand what it was, uh how it was generated, how it actually works, because you are not who writes these lines, you are not aware of them, and you have no psychology bound to project.
00:16:42.320 --> 00:16:46.879
You are not understanding it uh so good as you can do it when you write it.
00:16:47.279 --> 00:16:50.320
So I think agents can also create problems here.
00:16:50.960 --> 00:16:56.879
So there is some performance speed up, and there are some issues with quality, I think.
00:16:56.960 --> 00:17:04.960
It's my from my my perspective, uh it can be some issues with quality, but still many of these issues can be fixed with proper usage of it.
00:17:05.119 --> 00:17:33.440
Like you can uh generate uh you can use some strict uh uh limiters uh to avoid some standard uh problems, you can improve uh what uh tools you use inside your agent, for example, uh you can improve uh system, how you work with uh cloud or agent MD file, how you try uh like everything how you can handle and increase quality of code, it actually gives you a lot of truth.
00:17:33.680 --> 00:17:53.119
And MCPs as business central MCP is a good example, as you mentioned before, business central MCP, which is a great tool where you would like to manipulate data inside business central uh through your agent, as example, and because of it, you can simplify processes.
00:17:53.599 --> 00:18:21.440
There's many points, uh testing, testing, you can generate tests uh for A and before, and I'm not I'm not sure if you're aware, I think you're aware, but before uh if a customer asks you to write some or to build some project, and if you will try to try to mention tests and you will say some numbers, they will mostly say no because I don't customers don't see value in tests, direct value.
00:18:21.599 --> 00:18:24.640
There's value, of course, but they don't see it as direct value.
00:18:25.119 --> 00:18:33.519
But now with IA you can generate tests very easily, and and you know and not just you can, but I think you have to generate tests.
00:18:33.680 --> 00:18:38.079
I think test is now uh standard for uh IL.
00:18:38.559 --> 00:18:44.880
We all need to generate tests, we all need to understand a little bit how it works, but mostly we can delegate this.
00:18:45.519 --> 00:18:59.039
And uh I like the idea that I listened or heard on uh LinkedIn from Tiny or from uh Vecco that TDD is a great choice for L.
00:18:59.440 --> 00:19:06.799
Like we can start from tests to be sure tests are correct, and after only after that go to develop something.
00:19:08.000 --> 00:19:11.759
You you hit on a number of key points in that whole conversation.
00:19:12.319 --> 00:19:15.759
It's yeah, it's uh just in general, but we can focus on something specifically.
00:19:17.440 --> 00:19:32.799
We'll get into a lot of those because uh as with many uh individuals that we speak with, I hear some of the things that you're saying, and I just get excited, and my mind goes deeper into it because I spend a lot of time now doing this.
00:19:33.680 --> 00:19:37.200
I uh I have some questions for you, but I want to make some comments on.
00:19:37.359 --> 00:19:40.880
We can start with the tail going forward here or backwards.
00:19:41.200 --> 00:19:42.960
Testing, I agree with you.
00:19:43.119 --> 00:19:55.440
Customers used to not see the value of tests, but I don't know if it was necessary to tell them that we were doing the test or if they should have just been included in the project.
00:19:55.680 --> 00:20:06.079
Thankfully, now with AI and the rate of development that we can make, those tests can now be a part of it.
00:20:06.559 --> 00:20:08.559
Uh, it's interesting about tests.
00:20:08.640 --> 00:20:23.920
I did some experiments the other day with test TDD, I've been a fan of for a long time because I found it also helps architect the code better because now it forced you to modulize the code to have small tests in the process.
00:20:24.079 --> 00:20:32.000
And by doing it now, AI can help you do the tests and also plan the development for it from the test.
00:20:32.240 --> 00:20:38.880
But an interesting thing, uh uh just had a conversation with someone this morning about creating tests, and now the same thing.
00:20:38.960 --> 00:20:44.240
Everybody's starting to say tests are required, and not only having tests, but proper tests, right?
00:20:44.400 --> 00:20:49.440
The tests need to fail properly, the tests need to pass properly, not just pass fail.
00:20:49.519 --> 00:20:52.559
You need to make sure it's really feeling failing for the right reason.
00:20:52.799 --> 00:21:06.079
But I went back to an old project that had few tests because sometimes it's not always easy to come up with all the scenarios that you want to test for, to be honest with you, because users will do things that you may not think of.
00:21:06.319 --> 00:21:16.319
So I asked a you know, the AI model or mentioned to the AI model or the framework, excuse me, are there any other tests that I should test for?
00:21:16.640 --> 00:21:17.759
I'm simplifying it.
00:21:17.920 --> 00:21:34.880
And it went through and it created or suggested, I was planning at this point, so many tests that I didn't even think of, but were valid tests, meaning the code should pass these tests.
00:21:35.200 --> 00:21:38.160
I then had it again, I had existing tests.
00:21:38.240 --> 00:21:42.720
So this isn't just is this against an old project that you did this against?
00:21:42.960 --> 00:21:43.039
Okay.
00:21:43.759 --> 00:21:47.440
Against an old project that had some tests in there already.
00:21:47.599 --> 00:21:55.519
So it had my I have an instruction file that we're using now for uh modeling how we want the tests to be created.
00:21:55.680 --> 00:21:58.400
But I said, go back and can you suggest some tests?
00:21:58.640 --> 00:22:05.440
It created a whole List of tests, and then the question is here's the plan, this is what I'm going to do, and we all see it.
00:22:05.519 --> 00:22:08.160
Now that I have the plan, do you want me to go ahead and do this?
00:22:08.319 --> 00:22:08.640
Right?
00:22:08.880 --> 00:22:10.000
I said yes.
00:22:10.240 --> 00:22:19.519
It went through and created all of those tests, and it made one mistake for the set of probably 10 new tests that it made.
00:22:19.759 --> 00:22:20.880
It's a suppressive, right?
00:22:21.599 --> 00:22:28.640
Followed the structure because I do this in I follow the Garrickin scenario, the you know, the g the the scenario, the give and the win, the then.
00:22:29.119 --> 00:22:37.599
And it created, I had an existing library code unit with certain functions, and then I had tests broken down by area.
00:22:38.400 --> 00:22:39.279
It did it.
00:22:39.519 --> 00:22:45.440
And I was is this a project that's already live that you went back and ran the test?
00:22:46.000 --> 00:22:46.400
Yes.
00:22:55.599 --> 00:22:57.200
It's an extension that's creative.
00:22:57.279 --> 00:23:02.400
So we had some tests and it went through and it created the tests for the code.
00:23:02.880 --> 00:23:11.440
And it just goes to show, as you had mentioned, there is no reason now to not have the tests.
00:23:11.680 --> 00:23:31.279
And now also um, what I found with testings from a previous scenario is code was introduced to a project that if we had not had tests for it, we would not have identified a problem that it created.
00:23:31.599 --> 00:23:31.839
Right?
00:23:32.000 --> 00:23:36.400
So now you have extensions, you have code that works.
00:23:37.039 --> 00:23:59.279
If you don't have tests for it, if somebody wants to add functionality to it, you may inadvertently, because you're not aware of the flow, and this is where I think you would get into it becomes more important because now AI is just creating so much code that it's very easy to break something else that's auxiliary to uh your project.
00:23:59.680 --> 00:24:08.559
So I think it goes back to the value component because I see that you went back to test an old project that's already in production.
00:24:09.440 --> 00:24:13.920
A end user or client would not see that as like a direct value.
00:24:14.079 --> 00:24:22.480
Obviously, it's a value to you as a developer because now you're like saving this client from future headaches if someone was to extend it.
00:24:22.640 --> 00:24:24.240
But I think that's the missing components.
00:24:24.480 --> 00:24:33.680
Like uh back in the day, whether you test it or not, you create test scenarios, you you uh the clients imply that you're already doing that.
00:24:33.839 --> 00:24:36.319
Like you've it's like you should be doing that, right?
00:24:36.559 --> 00:24:38.480
But there's different types of testing.
00:24:39.599 --> 00:24:47.359
And I think it's it's too much to when I I think I think testing's important's always been an important, I think it's even more important now.
00:24:48.240 --> 00:24:52.079
Not again, I'm I'm not trivializing how important it was before.
00:24:52.160 --> 00:24:56.880
I I've had years of sessions at conferences on creating tests.
00:24:57.680 --> 00:25:09.599
But I think telling some, I I think saying I'm developing an app and part of this is creating tests, part of it's creating the documentation, part of it's creating this.
00:25:09.759 --> 00:25:13.839
To a customer, it's hard to assess the value because they don't know the value.
00:25:14.079 --> 00:25:18.640
They the tests are going to save them in the future from mistakes.
00:25:18.720 --> 00:25:24.720
But to your point, Chris, I would assume that if you're going to deliver something to me, it should work.
00:25:24.960 --> 00:25:27.440
Why why why should I have to say test?
00:25:27.680 --> 00:25:34.160
So it's more of here's what we're doing, this is what the cost will be, is it of value to you?
00:25:34.400 --> 00:25:38.000
And I'm going to give you documentation which AI can help create.
00:25:38.160 --> 00:25:46.319
The testing shouldn't even be it's almost like saying I'm coming over to your house, Chris, but I'm going to walk over there.
00:25:46.480 --> 00:25:48.400
Like, does it is it really even matter?
00:25:48.559 --> 00:25:50.079
It just matters that I'm going to get there.
00:25:50.400 --> 00:26:03.759
From my experience, customers some sometimes try to uh have more detailed numbers, like they try to understand uh why you have numbers, why you have this amount of foul spending.
00:26:03.920 --> 00:26:11.920
And and if you will say I spent some amount of files to test in the past without IA, they will be not so happy, you know.
00:26:12.319 --> 00:26:13.279
No, I understand.
00:26:13.519 --> 00:26:27.599
I I've lived it and I understand it, but it's almost a matter of somebody needs to test it somewhere, whether it's automated testing or developer testing or user testing.
00:26:27.839 --> 00:26:30.400
No one should implement something without testing.
00:26:30.640 --> 00:26:31.519
Yeah, yes.
00:26:33.279 --> 00:26:36.079
My favorite type of testing is production testing, right?
00:26:36.640 --> 00:26:39.920
There are many implementations where that was their model.
00:26:40.079 --> 00:26:51.200
They they assumed that the developer uh developed the extension properly and they just threw it in, and then they get mad when nobody tested it.
00:26:51.359 --> 00:26:54.400
And it's it's uh interesting.
00:26:55.359 --> 00:27:14.880
So I mean, so the testing is extremely helpful, and I think now it's even more important, but there is an offset because of the speed at which we can create code, we now can include more such as testing, extension documentation, and those infamous guides that nobody used to write.
00:27:14.960 --> 00:27:31.519
Yeah, and I think together with it, it actually means you are not losing quality or almost not losing quality, because on top of uh fast generation manual line of code, you have tests, you have documentations which you don't have before in the past with without artificial intelligence.
00:27:31.680 --> 00:27:49.200
So actually, I think uh quality may be even better a little bit if you have processes in correct way configured, you have CI CD, you follow all best practice with IA, with working with IA, it actually can even uh increase quality.
00:27:50.319 --> 00:27:52.400
Yes, absolutely.
00:27:52.880 --> 00:28:01.920
So another thing you went back to talking about was the amount of code that we can create um with AI.
00:28:02.319 --> 00:28:10.079
And testing, just to come back and loop up a testing, testing is not just extensions that partners may deliver or contractors may deliver.
00:28:10.240 --> 00:28:18.480
If you're a developer for a customer, some some more implementations have their own internal team that can create extensions, they should also test as well.
00:28:18.640 --> 00:28:25.039
The testing is not specific to deliverables from partners or outside agencies.
00:28:25.279 --> 00:28:32.480
Even if you're working internally, you should take the time to create those tests for yourselves and you get better quality.
00:28:32.559 --> 00:28:45.359
And as I had mentioned before, you can make sure that any changes or additions that you make won't impact your existing workflow or your existing code.
00:28:45.519 --> 00:28:54.240
Uh even to the point where if you have multiple extensions, I always say run your test for all of the extensions as well.
00:28:54.480 --> 00:29:10.400
Because I have found, and this is uh where we jump into AI assisted development, where have you found AI to be helpful or not so helpful with development?
00:29:10.559 --> 00:29:18.079
Have there been any situations where you can say that AI for sure saved you a lot of time?
00:29:18.319 --> 00:29:25.200
And other cases where you said AI probably created more work than it saved?
00:29:25.599 --> 00:29:26.319
Good question.
00:29:26.559 --> 00:29:33.359
Actually, I have several examples where I have many examples where it's helped me to save my time.
00:29:33.599 --> 00:29:44.319
For example, when you write tests, as you mentioned, it's actually a good uh point to show where tests are save you time time dramatically.
00:29:45.200 --> 00:29:55.359
Um in my experience, but it's more interesting to to to speak about where it's actually uh create some problems for you or it can take your time.
00:29:56.240 --> 00:30:09.359
Uh and first of all, uh it can create you some uh difficulties when you uh collaborate with other people who use IA, but they don't uh understand properly how to properly use it.
00:30:09.519 --> 00:30:28.319
They are not using um uh specific uh uh best practices with agents, they're not uh understanding how it works, they think it is like a magic and uh they don't provide enough context to agents, and uh the quality of this work can be uh less than you expect.
00:30:28.720 --> 00:31:03.279
And as open source maintainer, uh I realize that sometimes people come to uh repository, to my repository of my open source project, and they try to uh create pull requests, uh contributions to uh to my uh this like for example that editor tool, and they generate it via agent without proper specified context of problem, without proper specifying uh what is a problem about, what is it we you try to solve, and agents generate something which can be like matched.
00:31:03.440 --> 00:31:28.799
And I heard that many uh open source uh maintainers encounter issues that they are overwhelmed with number of pull requests, with number of contributions which people try to bring to uh projects uh because of IA, because I just generated, and they are not understand how AI works, and it creates some overload without um necessary uh purpose.
00:31:29.039 --> 00:31:31.519
It's one example where it can be a problem.
00:31:32.720 --> 00:31:33.920
Yes, yes.
00:31:34.079 --> 00:31:47.200
Uh I I've heard that as well with open source projects that a lot of AI pull requests are being made, and it's difficult for the maintainers to keep up with those changes to review them properly.
00:31:47.440 --> 00:31:51.920
It's interest, it's it's it's an interesting time that we live in.
00:31:52.319 --> 00:32:10.559
The stepping back into AL development with AI and some challenges that you may have had, or any suggestions for someone that may be working with AI and AL development uh when they're creating extensions.
00:32:10.720 --> 00:32:25.759
What are some things that you have found, whether it's working with ISVs and how AI could uh help with that, or any other places where you notice some challenges using AI?
00:32:26.079 --> 00:32:26.559
Yeah.
00:32:27.359 --> 00:32:36.559
I see some I got some patterns from my experience when I work with AI, how I use it, how I try to get most possible value from it.
00:32:36.799 --> 00:32:42.480
Uh and first of all, I think you always have to start with planning mode.
00:32:42.559 --> 00:32:54.000
Like if you um have some problem or you would like to build something new, uh like totally entirely new application, do not start quote or ask uh uh agent to quote for you.
00:32:54.720 --> 00:32:55.599
Focus on plan.
00:32:56.000 --> 00:32:57.759
Ask agent to plan.
00:32:58.559 --> 00:33:08.559
Like give all possible context which you can give, like what you can know about your problem or about idea of what you would like to implement.
00:33:08.799 --> 00:33:10.480
Give proper context to model.
00:33:10.799 --> 00:33:26.720
Try to uh highlight what specific if it's some modification of some exist application in uh ISV of a PGA extension, highlight specific objects which you think are um related or can be related to this problem, highlight why you think about it.
00:33:26.960 --> 00:33:38.799
Try to communicate with agent as you are communicate with uh person, like try to understand that it can magically understand uh get all information if you are not specified.
00:33:39.039 --> 00:33:48.079
It can, but it will lose context window, and quality of uh generation will be lower and lower because context management is very important when you work with agents.
00:33:48.559 --> 00:33:58.880
So you try to provide as less but as much as possible uh context because it's actually like you're always fighting with uh two different uh problems.
00:33:59.039 --> 00:34:03.119
Like one problem you provide not enough context, so agent cannot generate something for you.
00:34:03.359 --> 00:34:11.519
Another one you provide too much uh context and it's like overwhelmed and it's unfounded on uh your specific idea and task.
00:34:11.840 --> 00:34:14.960
So that's a key point I've I've heard from people.
00:34:15.360 --> 00:34:16.880
It's less is more.
00:34:17.360 --> 00:34:26.960
Don't get into please thank you and keep adding additional words or even try to tell it what to do, in a sense.
00:34:27.119 --> 00:34:35.679
If you the more boundaries that you give it, it seems to have more of a challenge with the output.
00:34:36.079 --> 00:34:36.639
I agree.
00:34:36.719 --> 00:34:42.159
And when you set some boundaries, sometimes if you're very sure about it, it can be useful.
00:34:42.320 --> 00:34:52.800
But many times I realize when you set some boundaries, like you try to lead agent in some specific way, but you can be sure that your way is the best way to do things.
00:34:52.880 --> 00:35:03.360
Like you have to learn from it as well, and try to try to look what it suggests, and then you will see all possible uh branches of solutions how you can solve the problem.
00:35:03.599 --> 00:35:06.239
Uh you can like choose the best one.
00:35:07.199 --> 00:35:12.960
Um so plan mode, context management, uh session management.
00:35:13.039 --> 00:35:18.239
Of course, you don't say I I I I saw this mistake very often in the past.
00:35:18.639 --> 00:35:31.920
People uh speak with agents in one session, they're not pay attention on context window, and uh agent just overwhelmed with all different specific tasks which uh people try to manage in one session and screen problem.
00:35:32.320 --> 00:35:34.239
Start new sessions, try to manage it.
00:35:34.480 --> 00:35:36.480
Um what else?
00:35:37.840 --> 00:35:48.960
Also, it's important to choose right tool because there's many benchmarks in the internet which they specify, like we are best agent or we are best model for specific agent.
00:35:49.440 --> 00:36:00.960
Uh it's hard to uh predict what is better for AL development on those benches because they are mostly based on C sharp, Python, on other languages.
00:36:01.280 --> 00:36:19.199
But uh recently Microsoft released a BC uh bench uh for agents and they uh it was as I remember they only count two agents, quote quote, and maybe uh codex, not sure about codex and it's one point when you can look on it.
00:36:19.599 --> 00:36:32.400
Try to find IL benches to understand it, but actually what I will uh give one small advice to everyone who is interested in it is try to yours try to use it by yourself, try to use different tools.
00:36:32.719 --> 00:36:39.039
Uh because if if it's something good for one person, it can be not good for you.
00:36:39.199 --> 00:36:48.400
You have to choose, you have to try, and you have to spend time on it, and and it will give a lot of value uh later when you will realize what tool is better.
00:36:48.559 --> 00:36:56.079
Because there's like cursor, uh codex, cloud code, uh uh copilot, all different tools what you have.
00:36:56.800 --> 00:37:01.440
But my honest answer, try it, and you will see the difference.
00:37:01.599 --> 00:37:04.639
Try to compare it by yourself, by your internal tickets.
00:37:04.960 --> 00:37:15.199
I even have some small internal um tasks, and I try to uh evaluate those tasks every three months or something like that.
00:37:15.440 --> 00:37:23.280
Six three months uh on all uh popular agents or clients which I can use, and I can see the situation is changing.
00:37:23.360 --> 00:37:29.519
Like six months ago, codex was better, six months ago, compilot was better, and so on and so on.
00:37:29.599 --> 00:37:32.239
It's constantly changing situation.
00:37:32.480 --> 00:37:37.119
I prefer Clot Code, I even uh wrote about it uh several times.
00:37:37.440 --> 00:37:42.320
Um but I'm not sure if it will be forever.
00:37:42.400 --> 00:37:46.239
Like maybe tomorrow it will be better, something from Google, who knows?
00:37:46.400 --> 00:38:07.760
Like so, one of the things as you're going through your development workflow with AL development is not all models or frameworks work the same, and what may be good for one person for one task may yield different results for somebody with a different task.
00:38:08.079 --> 00:38:11.519
Yeah, and also it uh depends on how you communicate with model.
00:38:11.760 --> 00:38:15.360
Every parse person has a unique style of communication, right?
00:38:15.599 --> 00:38:22.480
And it also affects uh how uh how what output you will get from agent from models.
00:38:22.800 --> 00:38:23.920
It's a challenge to keep up with.
00:38:24.639 --> 00:38:42.639
For the both of you, so how does that work when you have uh when you're working on a project together and you have maybe three of you working on a solution, and then they may have someone that's a third party, outsource whatever, uh that a client hires.
00:38:43.119 --> 00:38:46.960
Do you all use different uh framework?
00:38:47.199 --> 00:38:49.119
And how does how do you maintain that?
00:38:49.360 --> 00:38:50.320
Like how does that work?
00:38:50.400 --> 00:38:51.920
What's the workflow for that?
00:38:52.239 --> 00:38:59.679
Uh from my perspective, I have such experience um very often that people use different tools and agents.
00:39:00.000 --> 00:39:13.599
They uh one developer uses codex, one developer uses copilot, uh, one developer use uh copilot inside Visual Studio Code, one is using copilot uh as uh command line, right?
00:39:15.679 --> 00:39:24.400
Technically, it's not so important that people use different tools because the main things to get the best output from it.
00:39:24.639 --> 00:39:37.440
Uh I think like even if you are using two uh different tools, but it gives you good output, it doesn't matter what tool created.
00:39:38.320 --> 00:39:51.039
But how you uh communicate with different agents uh and your experience, it can affect quality of work what is uh will be as output from agent.
00:39:51.280 --> 00:39:57.039
But at the end, it doesn't matter what was by what tool it was generated.
00:39:57.199 --> 00:39:58.800
That's what I see.
00:39:59.280 --> 00:40:00.480
Yeah, I agree with you.
00:40:00.639 --> 00:40:13.760
I I uh it's a it's a good question, Chris, because it's not to confuse the tool that somebody's using to create something, it's what they create is the important thing.
00:40:14.079 --> 00:40:17.760
As Old Me had mentioned, it's the output of the quality.
00:40:17.920 --> 00:40:31.599
What becomes important in those situations is not the focus of which AI tool they used or which edit IDE they used, it's what they did and how you manage it.
00:40:31.920 --> 00:40:42.559
How you manage your development workflow with source control management, with branching, with merging, with code review, those are the things that become important.
00:40:42.719 --> 00:40:54.559
So you can have an internal team that has multiple developers, and then you may need to have another person also contribute, they still can fall into your workflow.
00:40:54.800 --> 00:40:57.119
What they use to create it's not important.
00:40:57.280 --> 00:41:12.639
So even if you are a customer of or a user of Business Central, excuse me, and you're managing your own source code and your own uh repository and workflow, you can bring in others and have them fall into your workflow.
00:41:12.800 --> 00:41:16.079
You just need to have the discipline of how to manage the different branches.
00:41:17.360 --> 00:41:36.239
Yeah, I think I think that's a good point because I think down the road there's going to be, I feel as though there's going to be more of that as a lot of clients uh understand that you can have multiple partners working on a solution and as people vibe code, you know, someone has to manage that.
00:41:36.400 --> 00:41:45.920
And then at some point, I mean, you're right, it doesn't matter what tool they use as long as the output is the the the right expectation or the correct expectation of the output.
00:41:46.000 --> 00:42:01.679
Um but at the same time you may have some balance of like if you're using a specific framework, then your testing scenarios may produce different things or different testing scenarios versus someone that just you know uh committed their their code into.
00:42:01.840 --> 00:42:10.000
So it's it's an interesting balance of what that looks like in the near future, uh, especially when your clients may want to be more involved in that.
00:42:10.159 --> 00:42:13.920
Uh because you know, actually, yeah, it's uh great points.
00:42:14.079 --> 00:42:19.920
And uh CICD is what can help us to manage all this uh mass workflow.
00:42:20.239 --> 00:42:25.039
Uh we just can um try to automate as much as many process as we can.
00:42:25.280 --> 00:42:57.119
Automate uh test running, automate uh linters, uh automate uh compilation of projects, automate everything of it, and it creates and it starts to be even more it was important before, before Artisan Terence uh was starts to be more popular, but uh it's important now even more, same as testing all the CICDE processes, and uh that's why we all need to look on LGO, how it works, how we can implement it in our projects, and it's actually for free.
00:42:57.199 --> 00:43:01.519
You can implement it for your uh open source project and for PG extension.
00:43:01.599 --> 00:43:02.639
Go ahead, use it.
00:43:02.880 --> 00:43:07.840
And I actually very um I almost all my projects that I work with customers.
00:43:08.000 --> 00:43:33.760
I always try to say we need to implement CICD, we need to implement LGO in uh this specific project, and I explained why, like uh like what value it brings to customers, and mostly most of the time they are actually supported because they see it's actually very easy to show them uh value of workflows of how automations help.
00:43:34.079 --> 00:43:54.559
Uh for example, from to save uh project from regression bugs or problems, a lot of things can be um automated, and but I think it's main tool also what we can focus as developers of L developers and to using ALGO, to using uh CI CD processes.
00:43:55.760 --> 00:43:58.559
Yeah you brought up a good point.
00:43:58.719 --> 00:44:03.199
ALGO is It is a free tool that runs in GitHub.
00:44:03.360 --> 00:44:10.079
There could be a cost to the runners that you use, depending on how you set that up for your projects, just to put that in there.
00:44:10.159 --> 00:44:11.280
There is a tool for it.
00:44:11.360 --> 00:44:34.800
But I I I literally had a conversation with someone this morning about that in implementing these on projects, that they were having problems with developers building the workflow is to have a branch, review the branch, bring it into the merge it into the main branch, as we'll call it, and then that gets deployed.
00:44:35.440 --> 00:44:55.199
Whereas if you have a developer that didn't update their main branch with other code changes from other branches, and they just did it with their branch merged in and then uh built the application and deployed it, you in essence can remove changes that were made.
00:44:55.360 --> 00:45:07.119
So by using tools such as ALGO and GitHub, the extreme benefit is you have the security of knowing whatever was built, the artifact that gets built as part of your CI CD is what should be deployed.
00:45:07.199 --> 00:45:10.960
You don't have to auto-deploy it, but that's where whomever is going to load it.
00:45:11.039 --> 00:45:16.320
And I'll be the first to say is I don't think developers should be the ones responsible for loading the changes that they make.
00:45:16.559 --> 00:45:20.800
You should have someone who knows how to pull down the artifact, and then that's what gets loaded.
00:45:20.960 --> 00:45:28.480
But that just verifies that the tests were run because the AL Go will run the tests that are within the extension.
00:45:28.719 --> 00:45:44.400
And it also validates that anything that's in the main branch is what gets built, used, and deployed, and you're not relying on somebody refreshing their branches or refreshing the changes of the code that they have because using Git you have a local copy of it.
00:45:44.719 --> 00:45:52.400
Yes, it does sync, you know, you do pull and push from the central location for it, but you still have to go through that exercise of doing that.
00:45:52.559 --> 00:45:56.239
Yes, it can be automated, yes, you can do it, but some people still like to do it manually.
00:45:56.400 --> 00:46:05.360
So the point that you had made is using tools like that in this world of AI development to me and team development becomes even more important.
00:46:05.519 --> 00:46:09.360
Not that it was less important yesterday, it's more important today.
00:46:09.519 --> 00:46:11.679
So you these are some good things.
00:46:11.760 --> 00:46:25.119
I know we're talking about AI and AL development and open source, but um so it with your AL development and AI, what tools do you find useful to help you with it?
00:46:25.440 --> 00:46:35.920
Are there any other tools that you have found can assist you in this journey, or even uh if somebody wants to start using it?
00:46:36.000 --> 00:46:39.599
You had mentioned a little bit ago, just start using the tools, right?
00:46:39.679 --> 00:46:42.239
Just start using AI for your projects.
00:46:42.559 --> 00:46:48.079
What are some things that you found were helpful to get you to where you are with your development journey?
00:46:48.800 --> 00:46:57.519
Um, yeah, there's several tools which I uh think is important uh to um to start with or to learn or to look on it uh a little bit.
00:46:57.920 --> 00:47:04.800
Uh first of all, uh I think it's a good point to get some basics.
00:47:05.199 --> 00:47:17.599
Uh because if you look on uh different tools, as example, like uh agents in common line, uh they all have some different same uh similar uh technologies behind like MCP.
00:47:17.679 --> 00:47:27.199
What is MCP like if you try to understand what is MCP it can help you to uh get more efficient with any agent?
00:47:27.440 --> 00:47:29.440
Like you are not focused on specific tool.
00:47:29.760 --> 00:47:31.840
Uh so I will start.
00:47:32.000 --> 00:47:35.599
I think it's better to start with some basics, like to understand this MCP.
00:47:35.679 --> 00:47:44.719
Like, okay, MCP is some protocol which will uh allow my uh IA to uh communicate and to change something on external services.
00:47:44.800 --> 00:48:00.239
It can be business central, it can be your browser MCP, it can run uh for you some uh business central um page and even try to click some uh buttons directly in uh your um browser if you need it.
00:48:01.360 --> 00:48:03.679
And all these are done by via MCPs.
00:48:04.639 --> 00:48:12.719
So start from basics to understand the context windows, MCPs, but speaking about specific tools, yeah, I have several in my mind.
00:48:12.880 --> 00:48:19.039
So I started uh originally with uh um cursor, if you heard about it.
00:48:19.199 --> 00:48:27.519
Uh it's like uh form of Visual Studio Code, but with implemented um models of AI.
00:48:29.519 --> 00:48:40.960
But it was like in the beginning of the uh my journey, and um I realized that now you are not needed uh cursor because everything works inside Visual Studio Code.
00:48:41.360 --> 00:48:45.519
Uh naturally you can have uh several different models.
00:48:45.760 --> 00:48:49.840
So now I think it's good to start from Visual Studio Code.
00:48:49.920 --> 00:48:54.960
It's our daily uh EDE where we as L developers work every day.
00:48:55.760 --> 00:49:02.400
So it may be uh good starting point to use uh copilot inside Visual Studio Code to select some models.
00:49:02.480 --> 00:49:03.599
You can select different models.
00:49:03.679 --> 00:49:07.920
You are um you can select uh anthropic models, you can try open eye models.
00:49:08.639 --> 00:49:11.360
Try to mix it, try to to start with EDE.
00:49:11.440 --> 00:49:14.079
I think ED is a good starting point.
00:49:14.719 --> 00:49:21.679
Uh next, what I uh think is worth to try after you focus on some Visual Studio Code.
00:49:21.840 --> 00:49:28.000
Um I think it's next this will be useful is uh common light agents.
00:49:28.639 --> 00:49:34.000
They are independent from ED, you can run them inside your terminal.
00:49:35.920 --> 00:49:38.960
And there is some value behind it.
00:49:39.199 --> 00:49:41.920
First of all, you can run it everything there.
00:49:43.199 --> 00:49:49.599
Next, they are working this file system differently than ED works.
00:49:49.920 --> 00:50:02.400
It works uh per my experience more efficiently with um all these uh commands which you can execute inside your uh terminal, like bash command, uh PowerShell command.
00:50:02.719 --> 00:50:06.079
It's very easy to automate, and you as a developer can easily handle it.
00:50:06.880 --> 00:50:14.320
Um so try some command-line agents, and there are several popular agents on the market or in general.
00:50:14.559 --> 00:50:24.880
There's like uh compiler agent as well, there's uh codex from OpenAA, and there's uh Cloud Code uh from Anthropic.
00:50:25.360 --> 00:50:36.800
Uh I try to use them and try to mix a little bit to understand what tool is better now to what is better than now because it's changing dramatically, as I mentioned.
00:50:37.039 --> 00:50:43.760
So try with Visual Studio code ED agent inside it, try to um read the basics.
00:50:44.239 --> 00:50:56.159
What is MCP, what is context window, what is uh slash comments, or uh uh what is um MD file skills, it's it's actually called skills now.
00:50:56.480 --> 00:50:58.480
Before it was slash comments, now it's skills.
00:50:58.960 --> 00:51:04.400
Uh how skills can affect your um generation, agent generation.
00:51:05.599 --> 00:51:10.239
Try to next do next steps to use some MCPs actually to on practice.
00:51:10.639 --> 00:51:18.320
Next steps try to use comment line agents, try to compare different agents to see what uh value uh you can get from it.
00:51:19.440 --> 00:51:32.960
I think uh also try business central MCP, it's also a good point to check uh how it works, how data is flowing, how you can just tell to agent, please show me or delete customer numbers.
00:51:33.360 --> 00:51:41.039
Of course, it's not for production, you just do your daily work on some sandboxes or on some uh uh Docker environment.
00:51:41.760 --> 00:51:46.400
So I think those like main entrance points that you can go.
00:51:50.239 --> 00:51:58.079
It does sound like there is a lot, but as with anything else, it sounds worse than it is.
00:51:58.800 --> 00:52:02.880
And I think once you start working with it, it all comes into play.
00:52:03.039 --> 00:52:21.360
And I think the important part is to start using it and not try to know everything, just know what you need to know to get kind of work your way through the task and see what you need to do for that task to to be uh uh be successful with it.
00:52:21.760 --> 00:52:24.239
Yeah, and I I can tell you practice and practice.
00:52:24.400 --> 00:52:28.480
Like if you just will read theory, it's will not be so useful.
00:52:28.639 --> 00:52:30.000
Try to do it in practice.
00:52:30.159 --> 00:52:35.360
I realize by myself that when I do practice, I um start to understand things better.
00:52:35.440 --> 00:52:50.639
But when you just read theory, yeah, you know MCP, but try to it in practice, and you will realize uh actually how it can be useful for you and how it can uh give you some output, valuable output.
00:52:53.280 --> 00:53:13.119
It's it's um yeah, it's a strange world now with all of this output and uh business central developments coming along, and the business central tools that they keep adding are also nice to have, and it's nice to see that they're adding all these tools to assist with the development point of view.
00:53:13.360 --> 00:53:21.840
And in my opinion, it's also reinforcing that the days of just development are gone.
00:53:22.159 --> 00:53:34.400
I think that developers need to have a good understanding of the application and the function of the application so that they can work with AI to develop these solutions.
00:53:34.480 --> 00:53:44.239
And also, as you had mentioned at the beginning, the importance of still understanding and the ability to know the architecture and the code.
00:53:44.400 --> 00:53:52.000
So it's not it's not one of those things that, oh, AI, I can create this extension, it's going to do this thing.
00:53:52.239 --> 00:54:01.119
I think you do need to have a sense of understanding and review how to review what gets created.
00:54:01.360 --> 00:54:07.519
Uh, I think I keep saying business central to me is a little bit different because it's in a box.
00:54:07.679 --> 00:54:16.239
It's a predefined application that you need to work with within the constraints of how the process and the application works.
00:54:16.400 --> 00:54:21.920
We can't just change a complete application, every build is a standalone application, it has to work within a framework.
00:54:22.159 --> 00:54:31.519
So it's important to be able to understand that framework so you can review what gets generated and then deliver something of quality.
00:54:31.679 --> 00:54:36.880
It's is that I actually agree, and you bring a great point.
00:54:37.039 --> 00:55:06.320
Like as business-centered developers, we are not just developers like um Python developers who just know language and know all these um keywords and how to do and write some algorithms, but with business centered as business-centered developers, we are also should and we actually should really and must know the basic functionality of business center, how it actually works right now, how it actually works from a functionality perspective, not just from code how it's coded.
00:55:06.400 --> 00:55:21.280
It's one part, and but understanding how it works for different types of businesses, how you can configure it, it's actually super important in uh any era, even before I it's also was super important.
00:55:22.400 --> 00:55:35.760
Understanding of how it works, it's actually because if you without this understanding, you can build efficient tools, you can build efficient uh uh solutions for your customers because you will not aware how to handle it in the best way.
00:55:36.000 --> 00:55:40.800
That uh you don't need to quote anything what you hear what the customer asks you.
00:55:40.880 --> 00:55:45.679
You need to think, okay, is this already a functionality existing business central?
00:55:46.320 --> 00:55:49.679
Can you just implement just use it without coding anything else?
00:55:49.760 --> 00:56:00.079
Because I saw in my experience, many poor developers try to build something immediately when someone asks them, like, please create me this and this.
00:56:00.320 --> 00:56:08.880
No, try to think if this is actually required to build, if it's actually maybe already a part of standard business central library, maybe you're not aware of it.
00:56:09.119 --> 00:56:11.280
Try to do some research before you say something.
00:56:11.440 --> 00:56:12.400
Try to think.
00:56:12.960 --> 00:56:26.320
And yeah, so I think understanding of functionality is important, and now with AI, it's even more important because now we have more time for architecture and also more time for understanding functionality of business central as L developers.
00:56:26.480 --> 00:56:28.480
Like now you cannot say, Oh, I'm just code.
00:56:28.719 --> 00:56:30.559
Noah, it's not on, man.
00:56:31.119 --> 00:56:40.239
You hit that well, and you answered the question, and I think it's a great way, I hate to say it, it's a great way to wrap it up.
00:56:40.480 --> 00:56:42.559
What do you do with all that free time?
00:56:42.719 --> 00:56:47.599
That's the question that everybody's saying is okay, with all this free time, I don't have free time.
00:56:47.920 --> 00:56:54.400
Don't look at it as you have free time to go uh you know, not work as much.
00:56:54.559 --> 00:56:58.320
Now you have free time to, as you had mentioned, learn the application.
00:56:58.480 --> 00:57:06.800
You have more time to understand the architect, the application, more time to architect and plan a solution.
00:57:06.960 --> 00:57:11.599
So it's not necessarily that we have all this free time.
00:57:11.760 --> 00:57:14.559
I can get work done in two minutes and now I'm done for the day.
00:57:14.719 --> 00:57:17.679
It's I can deliver better quality work.
00:57:17.760 --> 00:57:20.559
And this is where that question gets asked.
00:57:20.719 --> 00:57:22.000
What do you do with the time?
00:57:22.239 --> 00:57:26.880
You take the extra time to add that extra quality to it.
00:57:26.960 --> 00:57:29.360
And again, not to say that quality wasn't important before.
00:57:29.440 --> 00:57:37.679
I'm not trying to discount it, but now you can deliver a better quality product in a shorter period of time.
00:57:37.840 --> 00:57:42.400
That to me is the answer to all of this.
00:57:42.559 --> 00:57:45.760
It's better quality in a shorter period of time.
00:57:46.400 --> 00:57:47.760
I fully agree.
00:57:49.119 --> 00:57:50.079
That's a good one.
00:57:50.159 --> 00:57:52.800
That was a good, good with that.
00:57:53.039 --> 00:57:56.239
I think uh would like to thank you for taking the time to speak with us today.
00:57:56.320 --> 00:58:03.199
I could talk about this stuff, and I'll probably now I'll just have to put you on my list of calls to have that I could talk about this stuff all day, every day.
00:58:03.280 --> 00:58:06.880
Because we can spend days and hours to speak about it.
00:58:06.960 --> 00:58:22.239
It's actually board topics like oh yes, and it's uh you're in some of the same chat groups we're in, and we get to talk about this a lot, and uh, you know, it's the wonderful chat groups because I'm in the United States, most of you are in Europe.
00:58:22.400 --> 00:58:27.840
I can wake up in the morning and there's like 65, 70 messages I have to read through and screen through.
00:58:28.400 --> 00:58:32.320
And it's just like you know, really what's going on.
00:58:32.400 --> 00:58:35.599
But it's it's it's a it's an exciting time for everybody.
00:58:35.840 --> 00:58:40.159
And again, thank you very much for taking the time to speak with us today and sharing your valuable insights.
00:58:40.239 --> 00:58:46.400
I think anybody who's in the AL journey, uh, we're all in the beginning of this journey.
00:58:46.559 --> 00:58:52.719
Anybody who says they're an expert on it, I mean, how can you be an expert for technologies that's so new and it's changing?
00:58:52.960 --> 00:58:58.960
So anybody that's uh currently using AI, hopefully that uh thank you for sharing so many insights.
00:58:59.119 --> 00:59:02.079
Somebody that's new to it, you also shared some insights for that as well.
00:59:02.239 --> 00:59:14.320
And if anybody would like to talk to you more to learn about your open source projects or maybe any other AI for AL development tips that you can share with them, what's the best way to contact you?
00:59:15.440 --> 00:59:17.519
Sure, um there are several ways.
00:59:17.679 --> 00:59:21.840
Um you can have just uh comment and put a comment in uh my blog.
00:59:21.920 --> 00:59:34.559
I have a blog uh where I uh try to share my um knowledge, what I learned from uh my experience about development specifically for business center development, also some some IA insights and tools.
00:59:34.639 --> 00:59:36.159
Uh you can comment it.
00:59:36.239 --> 00:59:41.360
You can contact on LinkedIn if you want to ask anything.
00:59:41.440 --> 00:59:43.360
I'm very open-minded.
00:59:43.440 --> 00:59:48.880
If you just just ask me on LinkedIn, I will immediately answer you, or when I will have time, of course.
00:59:49.039 --> 00:59:55.360
Um, so LinkedIn, my blog, I have also um uh Blue Sky.
00:59:55.920 --> 00:59:59.519
Anything of it will be okay to contact me.
00:59:59.840 --> 01:00:00.719
Uh great, thank you.
01:00:00.880 --> 01:00:05.119
And we'll have your contact information with the show as well.
01:00:05.280 --> 01:00:07.039
Uh again, thank you for taking the time to speak with us.
01:00:07.119 --> 01:00:08.719
Look forward to speaking with you again soon.
01:00:08.800 --> 01:00:11.280
Uh enjoy the rest of your day and have a great weekend.
01:00:11.360 --> 01:00:11.840
Talk to you soon.
01:00:11.920 --> 01:00:12.559
Chao ciao.
01:00:12.880 --> 01:00:13.360
Take care.
01:00:13.840 --> 01:00:14.400
Bye.
01:00:15.599 --> 01:00:22.880
Thank you, Chris, for your time for another episode of In the Dynamics Corner Chair, and thank you to our guests for participating.
01:00:23.119 --> 01:00:24.719
Thank you, Brad, for your time.
01:00:24.880 --> 01:00:28.400
It is a wonderful episode of Dynamics Corner Chair.
01:00:28.559 --> 01:00:31.920
I would also like to thank our guests for joining us.
01:00:32.159 --> 01:00:34.880
Thank you for all of our listeners tuning in as well.
01:00:35.119 --> 01:00:38.960
You can find Brad at developerlife.com.
01:00:39.119 --> 01:00:43.519
That is D V L P R L I F E dot com.
01:00:43.760 --> 01:00:49.280
And you can interact with them via Twitter, D V L P R L I F E.
01:00:49.920 --> 01:01:02.639
You can also find me at mattalino.io, m-a-t-a-l-in-o.io, and my Twitter handle is mattalino16.
01:01:03.440 --> 01:01:06.400
And see you can see those links down below in the show notes.
01:01:06.559 --> 01:01:07.760
Again, thank you everyone.
01:01:07.920 --> 01:01:09.679
Thank you, and take care.