Episode 513: No Windows, No IDE, No Problem: BC Development from the Terminal
In this episode of Dynamics Corner, Kris and Brad sit down with Stefan Maron — two-time Microsoft MVP, open-source powerhouse, and the mind behind the BC History repo and LinterCop — for a conversation that will make you rethink everything about your development workflow. Stefan casually reveals that he barely opens VS Code anymore, running nearly 100% AI-generated code across multiple projects simultaneously from nothing but terminal windows. But how does he trust what the AI produces? That's where it gets interesting — Stefan has built a proprietary code analyzer mapped to ISO 5055 international coding standards. What drove him to create it, and what is he finding in AI-generated extensions headed for production? You'll want to hear the answer. The conversation takes an even wilder turn when Stefan describes his quest to run Business Central on Linux without Windows. And just when you think the tooling talk can't get more creative, wait until you hear how he's bringing test-driven development back from the dead to solve the trust problem with AI-generated tests. Is human-readable code heading for obsolescence? Stefan's workflow might just be the preview of what's coming for all of us.
#MSDyn365BC #BusinessCentral #BC #DynamicsCorner
Follow Kris and Brad for more content:
https://matalino.io/bio
https://bprendergast.bio.link/
00:00 - Keeping Up With AI Changes
06:15 - Meet Stefan Maren Again
07:34 - Why Code Review Matters Now
16:16 - Vibe Coding Risk In Business Central
19:05 - Claude Code CLI Workflow Basics
28:02 - Agents Commands And Skills
31:11 - Learning New Features By Need
35:54 - Near 100% AI Generated Code
47:25 - CLI Compile And Publish Automation
49:43 - Running Business Central In Linux Docker
55:40 - Test First To Trust AI Output
01:02:29 - Context Switching And Mental Load
01:04:05 - The Future Of Code And Languages
01:15:25 - Where To Find Stefan And Closing
Keeping Up With AI Changes
SPEAKER_04
On one side it's something that really Um I I want to keep up and I feel I I have to keep up with everything But I I would imagine that if you would skip a few things and a few obsoletion cycles of new features you would probably be Welcome everyone to another episode of Dynamics Corner.
SPEAKER_00
Can you develop without VS Code? Man, my mind is blown. I'm your co-host Chris.
SPEAKER_02
And this is Brad. This episode is recorded on March 30th, 2026. Chris, Chris, Chris. Development has changed. Development workflows have changed. The world has changed. And with us today, we had the opportunity to speak with Stefan Moran about his development workflow and some of the cool things that he's doing with AI assisted development. Hey Stefan.
SPEAKER_04
Good morning. I'm doing good. I hope you can hear me. Can hear you very well.
SPEAKER_02
Very well, thank you. That's perfect. That's good. It's nice to see you again. Haven't spoken to you in some time. Yeah, it's been a moment. The world has changed a lot since we last spoke. Even if we spoke last week, I can say the world has changed a lot. Yes, absolutely. So it's uh it's uh it's mind-blowing. It's uh I've never been more mind uh mind-blown or or mind saturated with things and and ideas of things that I want to do, as I had before. I always have this constant energy of my mind, I think, uh just all the new stuff that's being uh released and created as well. Absolutely. And sometimes I wonder uh, do I keep up with it? Do I just, you know, if I take a couple days off from it and I come back and pick right up with it, will I miss much? Uh or I I I don't know. It's kind of sometimes of a challenge because to me, some things become so new in that I don't want to say obsolete, but one day we have uh instruction files, one day we then the next day we have prompts, then the next day we have agents, then the next day we have skills. You know, do they replace each other? Do they work well with each other? Do you ever miss anything?
SPEAKER_00
So it's it's something else I think of uh in the field that like that it's just uh maybe a little rat race within yourself because uh you know I've spoken to other people that's been in this space for some time, and uh some of them don't even know some of these features. But uh we're we're so eager to want to get caught up. But uh there's still a lot of people. I think we're almost like I mean we're still living in the bubble, right? Uh but there's still many people are like, oh, I didn't know that existed. Even features that came out like I don't know, like two waves ago.
SPEAKER_04
Yeah, research means the day before yesterday, right?
SPEAKER_02
Still don't know about it.
SPEAKER_01
Yeah, yeah, yeah.
SPEAKER_02
Well what what is your thought on that? What's your take on that? Um I know there's a lot I wanted to talk with you about, but this is just something that was fresh on my mind before you jumped in.
SPEAKER_04
I think at at uh on one side it's something that really um I I want to keep up and I feel I I have to keep up with everything. But I I would imagine that if you would skip a few things and a few obsoletion cycles of new features, you would probably still need to get up to speed again quickly because again we are constantly learning new things right now, and if you just skip a few things which get introduced and then obsoleted a few weeks later, I mean Yeah.
SPEAKER_02
Some so maybe there's some having uh awareness of it at least.
SPEAKER_04
Um I think that's important, yes.
SPEAKER_02
Yeah, that's it.
SPEAKER_04
But I also like I'm I'm sitting in the same boat with you. I I'm I feel like I need to I'm I feel like I'm keeping up pretty well, and then I go like on on X or wherever on LinkedIn, and then I see so many different people doing so crazy stuff that I feel like I'm just barely scratching the surface.
SPEAKER_02
So it's it's funny that you say that because I do the same thing, and Chris, it might be some to your point. I don't know if it comes to imposter syndrome, but it's I read, I keep up, I go with this, I'm like, oh, I have this down, and then I go on to X, LinkedIn, and then I'm like, oh, Stefan's doing another code live stream with Claude, and he's doing all this other stuff, and he's creating in our chats, you know, in our groups of the chat groups that we have like you created the stuff, and I'm going same exact thing. I thought, but it just shows you like I sit there, I see some of the stuff that you do, for example, and I'm like, wow, I thought I really had this with my prompts, with my agents, with my task skills. You know, I'm doing it from my phone, you know, via voice, and then you come up with something, I'm like, ah, I really don't understand it.
SPEAKER_00
So you just get lost again. It's like I thought I got it, I'm still going the wrong right direction, but maybe in the wrong path.
SPEAKER_04
I had the same situation. I talked to uh to Torben uh Leith the other day. Yes, and he showed me something he was doing, like I I felt felt like I was keeping up pretty good, and then he showed me his tooling, and I was like, okay, now I'm I'm just barely starting.
Meet Stefan Maren Again
SPEAKER_02
It's funny how that works, I I think. And at this point, with the rapid rate of introduction to new uh features, I guess you can call them. I don't even know if you want to features because there's models, there's you know framework features, I guess we could say. And then you have all of the popular frameworks. I don't know if they're competing with each other, but they're adding features that are similar to each other, so it's very difficult sometimes to uh keep up with it. But before we talk a little bit more about that, some of the things that you're doing, uh, can you tell us a little bit about yourself?
SPEAKER_04
Yeah, my my name is Stefan Maren. I think I have been on the podcast two times already. Um yeah, I'm I'm doing what I what I can to keep up with with business center development and AI and everything around it. I think I need to check my yeah, I'm a two times uh MVP award holder. So um yeah, and I do business center for I think 10 years now almost approaching.
Why Code Review Matters Now
SPEAKER_02
So that's excellent. Wow. A couple things I wanted to talk to you about. Congratulations again on the MVP and congratulations on some of the great things you're doing. I've I've watched your live streams uh uh and uh as you told me, your ramblings about it, but it's it's very informative and interesting, and it does give some ideas. And uh I saw also maybe before we get into that, I saw something interesting that you had posted uh a few weeks back. Unlike you, a lot of things I I remember, I and I I try to remember the timing, and to be honest with you, sometimes I could say yesterday and was a year ago, or a few weeks back and it was this morning. So uh I saw you started doing um a code review service, I believe. Yes. And I thought that was interesting. Um and I didn't get a chance to text and talk to you about it, but I just wanted to ask you a little bit about that now before we start talking into this crazy world of AI and development. But I thought that was relevant and interesting, giving it from my perspective, and then maybe um you can tell me what you or maybe tell me a little bit of what's behind that. Um and I'll tell you what the first thing that I thought when I first saw that notice. Okay.
SPEAKER_04
Um so maybe the the beginning of this came a little bit through um conversations I've had with different people saying that uh more and more solutions are getting used and deployed and everything put into production, which are really nearly 100%. I don't want to say vibe coded because that's not really a term anymore, I believe. But more like uh coded with AI assistant, heavily assistants. Um and I was uh thinking that maybe there would be a need for people to have an opinion or to to buy an opinion basically from somebody who is not using AI. Um to have like the experience-backed opinion of somebody who is doing this stuff for for some time. That was basically the the origin of why I started to draft this service.
SPEAKER_02
That's exactly what I thought when I saw when I saw that. I said it the timing was I think appropriate because in the world of as you had mentioned, where everyone's doing AI assisted development and uh deploying it, and even more so I think with Business Central. I mean, I think this uh Business Central or AL is uh in a unique space, in my opinion, because with some of the other popular languages, you're developing applications with languages that have been around and there's a lot of code available. With Business Central, you're developing code, but that code is a mature language, or it's becoming an extremely mature language as they keep adding fiction functionality to it, but you're within already a defined framework of an application that you're not creating. So you have sort of a box to work within uh for your solution. And that's what I was wondering was that um if that was a basis for it, whereas uh it's everyone makes it look that easy to develop with AI. I mean, I mean, some things it does really well, some things you may have to do a little bit more. And I was wondering uh with that review, it it's probably appropriate so that you can take a look at that. Some people use words like AI slop or AI other um you know terms for the AI code, uh just to have another person take a look at it from uh an outside view, I think.
SPEAKER_04
Uh yeah, I think that's a very good point. With and I I can't speak for other languages or frameworks that much, as I've been only working with AL and Business Central ever since. But I think um we are a little bit more constrained with things that are uh outside of the coding frame a little bit, with the runtime, with business processes, with the base application, with the update and upgrade cycles that Microsoft forces on us, basically in the cloud. And all those kind of things have to be taken into consideration when developing. And I'm not sure how good a coding agent really gets at this without the proper assistance given by the developer or the user of the AI assisted to so with this service that you have, I'll ask, do you do any AI review with it, or is it something that you go through and you review I'm assuming maybe you someone would submit to you.
SPEAKER_02
So if someone wanted to have a third party review their code for I I can think of many reasons why. Uh one, just to revalidate the solution to make sure it's working within the framework, or you know, some organizations I've had other organizations I talked to where they were required to have a third party review anything that went into production for security reasons and such. So uh there's maybe many reasons. So using this the service that you had started, somebody I'm assuming would contact you and give you a specification and then give you the code. And then what do you do to go through and review that? And yeah, how you know what is usually the timing that it takes uh to do that, or kind of go through the process of how you do that and what you provide to them.
SPEAKER_04
Okay. Um the first step would be, and I don't want to make this a sales session here, by the way, but I want to explain what what I what I did.
SPEAKER_01
No, no, this is gonna show something that I'm intrigued by.
SPEAKER_02
So I'm I'm the one that brought this up, and we didn't even talk about this beforehand, so this is completely me.
SPEAKER_04
So I I do offer a free part, which is basically the kind of quick assessment, which is mostly automated, uh, where I ran a proprietary analyzer I've developed over the last weeks uh against the code base, which is later then also used for the actual review to just give give an indication of like how well the code performs under this analyzer, basically. Um that's the first step, and that can everybody just do on my website. Um and behind the analyzer or behind that service is a set of rules. I have looked at the ISO 5055 standard, which is an international standard for coding quality basically, and uh um worked through all the rules. I think it's like 170 rules or something that are in there and map them to the AL language because something like memory exploits or things like this we cannot do in AL. So those are uh are excluded by definition, but others can be translated and I have have done so. I've also published a list of rules which are applicable with their AL explanation on my website for transparency. And um, on top of that, I am now building an addition to that framework for AL-specific rules which are not covered by ISO. Um, because we have a number of things which are still missing from my perspective. So I'm working on that. And the review basically is uh a sum of all of that, basically. Every everything gets uh gets run against the code base. So the for the actual review, I don't really use AI. I use obviously AI assisted development for developing the analyzer, because otherwise I think I'm at uh approaching one and a half thousand automated tests on that one. So it's it's grown a bit. Um so that would be crazy without uh it, but this analyzer enables me to do the actual review with merely any uh AI assisting. So I'm I'm running this against it. I get a ton of warnings or infos uh based on on um like confidence, and then I can go through this and I have tooling to then convert the remaining diagnostics basically into a report with assessments and everything. But in the end, the offering is uh is is a two-level offering. So not everybody may need ISO compliance or ISO uh uh review against the ISO standards because those are pretty strict, pretty comprehensive. So I have like a an expert service or expert review, I've I've called it. So uh there I would just exclude things that might not be relevant.
SPEAKER_02
So see, now you go back to this is one of those things where you're like, wow, I thought I was keeping up, but now you're writing tooling to analyze code for AEL. It's like you used AI to assist with it.
SPEAKER_04
Yeah, but that's basically based on the the Linterkop work I've done, and uh which is now transitioning to the AL Cops initiative by Artur. Um but that's basically the the blueprint for everything I've done. I've I've just dumped all like this is existing analyzer routes, this is how to develop analyzers. Now go in and implement those routes, please. Uh and that worked pretty well because that's C sharp. And C sharp has a little bit more code on GitHub for agents to learn with.
Vibe Coding Risk In Business Central
SPEAKER_02
So the analysis is done with the tooling from C sharp, but it can still analyze the AL uh source code. Yeah, I thought that was uh when when I saw that you shared that, I thought that was uh fascinating, you know, and appropriate because I've been coming across um individuals that have had troubled implementations and come to find out it's oh you have to use the word vibe coded because that's what a lot of people will still call it uh for the context of this conversation. Like, oh, I just vibe coded this new thing and it's it's starting to become a problem if um someone doesn't really understand the code and they just go with it. And I think uh again, maybe because I'm in that pool with Business Central, I'm starting to see it become a problem with some implementations of Business Central because we have a bigger, I mean a smaller box that we have to work within. Yeah. Uh and it can create some problems and it's not so straightforward sometimes.
SPEAKER_04
And I mean I want to say that vibe coding stuff is not always a bad thing. I mean, I do vibe code, if you want to call it like this, quite a number of tools for my personal use uh and making myself more productive with working my day-to-day business. Um, but those are personal tools, right? They're they're for me. If they break, I'm I'm the only one affected. And I'm since I'm the one who built it, I'm probably also the one who can fix it. Um so that's a limited surface that I'm a risk surface I'm exposing myself to. But if I vibe code a uh an extension that's used in my business with maybe 200 employees, the the risk surface is a different one. And depending on the on the use case, if it's just like some fancy report, okay, maybe not that critical. But if it's uh like touching posting routines or stuff, then maybe want to be sure that it's not breaking but with an exact thing.
Claude Code CLI Workflow Basics
SPEAKER_02
Exactly. No, the the risk is important. And it's it goes beyond just business central. It's anyone who's doing any AI assisted development. Uh really understand the risk in what you're doing. Like you, like you had mentioned. Personal tooling is one thing, and being able to create some I do it myself, you know, and Chris, I know you work on some stuff too. Creating myself a little API endpoint that I work with in my house to get information from you know, a little uh Raspberry Pi that I'm running is much different than running a business where I'm shipping product or invoices or billing, because if that goes down, okay. You know, or if I cause a problem, it does something, okay. Uh you know what I mean? It's like it's it's very inconsequential in the grand screen of things. But when you're at a business, it's very important to you to um consider, like you said, the risk. But also, now to go into what you said, AI assisted development isn't a bad thing either. And you you do quite a bit with it as well, again, with your live streaming and seeing all some of the stuff with you do. Can you share or walk through with us sort of your framework that you use for development? And more from that aspect of uh what are you using for a framework? You know, how do you take a look at the models or assume the models? And then from your development flow, uh, you know, you mentioned you have some tooling or you use some tools, sort of uh somebody who's looking to get into this just to kind of hear uh a workflow. And and the framing for this is everyone hears all this AI assisted development stuff or use all these frameworks. You have you know, GitHub CLI, you have CloudWork, Claud Desktop, Cloud CLI, Perplexity. You know, you have all these things, and people are saying I can just vibe code this great stuff. But some people go, how do I even start? Right? So you have a practical framework that you share in your stream and you do stuff and some amazing tooling, if I can say so myself. Uh uh I just want to kind of get in your head a little bit on uh your workflow and how you set this up and and how you think about and approach things.
SPEAKER_04
Yeah, the workflow is constantly changing practically every day. Um I mostly use or almost only exclusively use uh Cloud Code CLI because uh I I mean everything is changing so quickly, keeping up with all the different frameworks at once would probably be too much for for a single person. So I try to stay out of of different ways as long as this way works for me. That's one thing. Um but what I've noticed uh at the at a very early point was that uh the the context burn I had on on the AL instructions was pretty bad for everything non-AL. So I started to um find or look into a way to isolate the AL instructions a little bit into a way that I can reuse it for different projects because I don't want to restart with all the agent and skills tooling and everything, all the explanations for every single AL project. So I wanted to have something reusable. Yeah, so I what what I did was uh to to get around this that I've started to work on a plugin, I think it's called in in Copilot. Oh not in Copilot, sorry, Clot Code. Um I can have like there are marketplaces, you can have like different plugins, and a marketplace can basically just be a local uh local folder somewhere on your your your hard drive. So I basically just had to copy or have to copy a one one line config file, basically just JSON file with one setting into the project, and then it would automatically load the plugin. And that way I can uh distribute the AL instructions, everything I've Through my AI projects without uh having it in every session basically. And um there was the in terms of tooling, and then in terms of how to build the the development workflow, uh I've looked at uh plugins like FlowNEX, not sure if you've heard about that. Um it's basically an approach where you you developed you develop on on like with files backing your workflow. So everything, every every result, every context, every every information will be written into a file automatically, and then you can basically on any time interrupt your entire coding session, uh close everything out, start a fresh session, and it will reread the documentation on the disk and continue. So I have I've played around with this at the beginning and um basically adapted that approach a little bit to have uh dedicated agents for solution planning, for requirements analysis, for writing tests, for defining tests, for writing code, everything basically written into a a structured workflow of how I how I want um co-pilot. Why I'm saying copilot? Cloud code to develop.
SPEAKER_02
Cloud code is still a co-pilot. He he he's helping you uh fly the plane.
SPEAKER_04
Maybe I don't know. Um and it it works its way through the through the the chain, the workflow that I've defined and keeps writing uh files to the disk. That is first good for me also to review solution design because I feel like those planning documents with the integrated plan mode that all the agents have nowadays is quite violated. So I never know where that file is saved or how to look back at the at the plan if it's approved once or if it's gone. I don't know. Um so I have a separate planning document where I can always come back to it, just a markdown file in the repository. And uh also I have instructed those subagents to not return all the information back to the main agent. Because that's the the default way, or at least it was, I don't know when, the default way of how they communicate. They just do some stuff and then they dump, I don't know, a ton of information back to the main agent, and uh that way the context really gets filled up quickly. And with that approach that I've come up with, it writes all the information to the file and returns just a summary to the main agent. That way the main agent can really iterate longer in the same context without uh having to compact. Because then when it when it spawns the next agent, it just references the the files that were created by the previous agent to say read this and continue, or read this and now do the test document.
SPEAKER_02
That's a check, thank you. That's a ding because it's like, okay, do I do it like Stefan? No, I do the same. I create files for things. Um this was even before they have that, you know, they talk about memory now, right? I don't even fully understand what it's doing now as well. But I found doing that was helpful for me as well as you know, create this, you know, even you know, uh save the chat conversation or create a summary or something just so you could have reference instead of you don't have the entire context. When you talk about the at just the start of your workflow, you talked about your AL instructions. What do you have in those AL instructions? Or what are some examples of things? So if I were looking to develop my own workflow and try to get a sense of how to manage my AL development before we get into agents and sub-agents, what types of things do those instructions have? Um so that I would need to go there and look.
SPEAKER_04
I don't I have no idea anymore. I haven't worked on them for quite some time. They have been working, but the my process of writing them or creating them, having them written by Claude Gode, um was basically trial and error. I started with with with some instructions that I've come up with and then basically just tried it, tried to work on some projects, and eventually had some issues and said, well, this doesn't work. This should should like this is nonsense, make make it better. This should work like this, and have Claude Code revise the files.
SPEAKER_02
So the instruction files you don't author. You basically talk with the framework, in this case, Claude Code, and this is what I want, this is the result you give me, then I'll go back and fix it. Yes. Update your file so that next time you do it the same way. I'm paraphrasing. It's basically how you're doing it.
SPEAKER_04
It's it's a Cloud Code session dedicated to that project, to the to the to the repo containing the instruction, to that plugin, so to speak. So I'm just like referencing a session copying results or something and saying, well, I would have expected this to come out like this. Can we fix this in the in the in the instruction file somehow? And then at some point I've created, like I've migrated to the agent approach, and I basically just say, Well, we have a huge global instruction file. Can we just break this out to into different agents and reduce the the global instructions, right? Or into different skills. And then I'm just like giving this a try. Like before I commit this, I I test it again and see if it works, and then so it's it's a a living thing, so to speak. And it's it's really uh made for my own process. I'm I think I have it published on GitHub, but it's like just for others to look at how I'm doing this, not really a distributable thing.
Agents Commands And Skills
SPEAKER_01
Okay, perfect. Excellent.
SPEAKER_02
Now you you you're talking about agents and and subagents. How do you orchestrate those within your workflow? So now you've worked through your instruction files, AI assisted, uh, by testing and trying to say trial and error, but by testing and reviewing this is what I expect. Yes, you did it, no, you didn't update the files. So now you have that framework set, and then you said something in there about agents now being a subset of the larger instruction file to complete tasks.
SPEAKER_04
Yeah, I'm I'm in the middle of reworking it again, also for the stream approach with the containers and everything. Um, but up until now I I didn't use skills yet. I used the commands, which are a little bit deprecated, right? So just for clarification, a command, and I hope I get it right, um, a command is just one one markdown file with some header instructions and then basically the main body of the prompt. While skills is a folder inside the skills directory with a main skill.md, with which is based similar to how the commands work, but then it can it can have scripts and things and other documentation next to that. So the entire folder gets gets a skill. And with Claude Code and the skills, I can specify a skill to always run as a subagent. So now I'm I'm the the way I had it before was I have a command which says uh requirements analyzers, then I give some additional instruction to it, and the command has has a baked-in instruction to always use subagents, which got respected pretty good so far. So it just it it got instructed to use subagents for a given task to also with the explanation because we need to save context in the main agent's context window. Um and all of those things. But now with the skills, I can say I can run the skill requirements engineering, and it directly runs as a subtask via the the I think the CLI's development. Like write the code.
SPEAKER_01
Okay.
SPEAKER_02
So the the commands were the prompts before you had a specific task almost. Yeah. And then with the skills, it's almost it's something that can be done with additional tooling for it to be able to complete the task.
SPEAKER_04
Yeah, it can be like the the agent can be forced to spawn a sub-agent, whereas before it was asked to do so.
SPEAKER_01
Okay, okay. Wow.
SPEAKER_02
This is all again, like you said, so I I think back, like you said, you worked on something some time ago and you're re you're re-engineering it. Uh I almost would wonder, you know, if you created something a month ago or two months, this is just hypothetical, not asking you specifically, but you know, sometimes I go back and oh, I created this a couple months ago. Does it is it even relevant anymore, you know, you know, now with the new framework. But uh sometimes we can't get too hung up on that as well.
SPEAKER_00
Yeah, when yeah, when you guys have when so with the both of you uh with this uh you know your development workflow, with new features coming out, um you usually the struggle that I have is is typically finding a use case of something to try. Is that is that something that you guys also struggle with where there is a uh a new function and it's like okay, where can I fit this? You know, do you apply it to uh uh a solution that you're building for someone, or is this something that you would find something within your flow to see if you could fit in? And maybe that's the best way to learn. I don't know. Uh is that a struggle for you, for the both of you? Or do you just ask like Claude, it's like, hey, I there's a new feature, try it out.
SPEAKER_04
Depends a little bit. I remember this, I had this uh this feeling when interfaces for AL came out. Um I was like, Well, this is super cool, I can do so much cool stuff, but I didn't like okay, but what problem does this really solve? I couldn't uh like work without interfaces nowadays anymore, so apparently it solves some problems. Um but with with um Cloud Code, new features, I don't really search for problems. I just like I I read the release notes sometimes, uh, if I notice a bigger version bump, and then I I just read them I so I know about them, so then when I have the problem I can solve with this, I I will basically.
Near 100% AI Generated Code
SPEAKER_02
Ah, I see. Yeah, I follow the same approach because I think I think it's difficult, Chris, as you had mentioned, and Stefan, I think you hit it. If you don't have a problem to solve, it's difficult to try to figure out how to use the tool. Right? So it's do I use a screwdriver? If you give me a screwdriver and a hammer, if I don't know that I have a nail or a screw to to put into the wood, uh what do I use? You know, you try to just figure out a way to use it. You need to have some sort of context of what problem you need to solve. I do try to be aware of some of these, it's but uh it gets challenging sometimes to remember all of them. So I start to go with it it all the features, like you said, I read all the release notes, and it's even getting challenging now. Just I use a lot of Visual Studio Code, right? So Visual Studio Code, the updates are becoming even more frequent. You know, one day is one one zero, then one one one, then one one two, one one three, all within uh you know a few days with all different features. So it's it's challenging to keep up with them all. But I think what was the big change for me is I went from I have all of these things that I can use to this is what I'm trying to do. And then from there it just blossomed. And I I've said it to others and I use it as an example. I mean, the very first prompt that I made was a commit prompt, right? It sounds something so simple, but I was able to, just like you did, Stefan, talk with um this was within GitHub Copilot, work with it to create a commit and a commit message and a commit process that I wanted to match a certain format that I expected the result for. So I had a specific task and a specific problem. May not be a big deal, and this is what I think the big thing you need to bring into perspective. You don't have to solve big fancy problems, right? Or have some big complex solution. Something as simple as creating a commit message with a certain format is a problem that you need to solve. And you can solve it by utilizing these tools, and that's what's really started my momentum once uh uh and it became less overwhelming and started my momentum of being able to create a lot of other tools to solve the individual tasks. Then you get to the point where now I can put all these individual tasks together. Right. So now I can go through and do uh a document for a modification and then you know have the code committed and then do these things in a workflow more in pieces and putting them together than saying, here's this feature, here's all this stuff, and let's just do it. Um I I think was uh a big change. So I don't I try to be aware of it and I try to think if there's any problems that I can solve today with it, and if I can't, I just say, ah, okay. Or if I'm bored, I may say, oh, let me try something for a few minutes, but you really need to have a problem that you need to solve versus just uh trying it out. It's more practical and it sticks better. So in my thought process with it. So um so now you work with all of these uh agents and um code. How much development do you do? And I use this, I'm careful with these words because of other conversations. Um AI assisted development, I'm not going to say is not development. You're using a tool to create and solve a problem. How much of your development today is AI created versus uh manually created? And with that, uh I may ask some more questions based on your answer.
SPEAKER_04
I need to be careful what to say, but um, but basically, I um I would say I'm approaching 100% of uh I'm I I think I am approaching 100% of uh AI generated code. Um it's not that I'm not like I I review everything, I test everything, but uh apart from need to rearrange a few things or just clean up things, because clean cleaning up with the quick fixes and and other tools we have built throughout the years or the community has provided over over the years, is still faster and more reliable than uh AI having those cleanups. But like the from from the very beginning of thinking through the entire process, the requirements, coming up with the solution design, and then also developing the tests, developing the code, up until that point, I barely have VS Code open. Like I mean, I I I might use VS Code for looking at the at the markdown files, the documentation that was created to review and approve this, giving comments on this and like working in in a tandem basically with Cloud Code to get it to the point where I say this is how we need to do this. But then I just say, well, now we have all the documentation, go.
SPEAKER_00
Well, you barely have the VS Code open? So that's that's interesting, right? So for for those that are uh maybe uh not using so much with with AI yet. So you barely have VS Code open. You're you're almost 100% AI generated code.
SPEAKER_04
I catch myself having like I have three screens, a wide one at like right in front of me, and then two smaller ones at the top, where everything is basically console windows with different sessions. Console CLI. Yes. Wow.
SPEAKER_02
It's it's I I I laugh in in a sense because um I I I want to unpack some of that stuff because you said a lot. I'm happy to hear the way you workflow because um, one, I love Markdown. Uh but um uh number two, uh you hit a key point. AI assisted development is knowing when to use the tool. And you had said something that's extremely important. You can go in and you review. We're not saying AI assisted development means AI sets it, forgets it, you're done, you publish it into production. You go through a review process. But as you go through your review process, if you see something that's faster or more efficient for you to fix, you'll fix it versus always saying AI has to fix it. And that's a big separation that I'm finding um in conversation now is you you know, that everyone's like, oh, I'm up to 100% and this and that, but you still have to remember that you can go in, it's not you have to be at 100%. It's use the best tool for what you're doing. And if I have to go in and move a line up or down or you know, change the name of a variable, sometimes it's just easier for me to go in and rename symbol versus oh you named it wrong, name it this instead, right?
SPEAKER_04
So but but uh there is also a distinction because I can only work on one project at a time doing those fixes, right? If I have cloud code work on five of them at the same time, I might still be faster using using AI to do the fixes if if it is enough for me to give a two-minute explanation of what I want to have fixed and can have it run for 30 minutes and can then work on different stuff. Right? So in those scenarios I would still maybe fall back to the slower approach, the more the more inefficient approach, because I can paralyze it and not uh being on on like not being the bottleneck myself. Understood.
SPEAKER_02
Understood, but we'll uh we'll still put that in the what's the most efficient way to solve the problem bucket. And as you had said, if you have five projects running simultaneously, I laugh because you know when you you you start thinking about the conversations that you're having, right? Or we're having, it's it's difficult to talk to to people that aren't working with it to where you can have I can I can document one project while I'm writing another project while I'm designing another project all at the same time. But it's crazy to to think of the context switching.
SPEAKER_00
It is, um but it's also very denying. I think you're the first person ever a developer-wise, like uh a developer saying like you don't have VS Code open. That's that's it I'm still mind blown by that, by the way. Because I I know we've spoken to a lot of developers, you know, we worked with many. Um you typically have your VS Code open. Uh that's just a uh a thing you do, but for you to say you don't have or rarely have VS Code open, that's just I'm still stuck with that. I'm still thinking about that. How does that look like? That's just fascinating. Well, well done, Stefan, for solving.
SPEAKER_04
Yeah, and I've I've uh I have a uh like a file explorer terminal based as well, like a a terminal UI, I think you call them. Uh also maybe something that is more common among Linux users than Windows users, maybe. But I feel like I'm I'm pretty quick with that one by now. So I I have a keyboard shortcut to open that up, another keyboard shortcut to jump into my repositories folder. I navigate quickly with with the arrow keys basically into the repository I want, keyboard shortcut to open the terminal. Now that I think about it, I could change that shortcut to open cloud code right away. That would make make me more efficient, I think.
SPEAKER_00
Yeah, so you're are you also use you so you're a Linux user? Is that what you're using as you?
SPEAKER_04
Yes, yes. Um, let me let me just bring that thought to an end. Um and then uh I start cloud code in that in that repository, and basically most of the time it's uh it's continuing previous work, so it's already on this on the correct uh uh branch and everything, and I can just give the the context of continuing what I what I what I need. Maybe I got feedback or whatever. I give everything it needs to continue. And if I want to review, I've I recently discovered I can use exclamation mark and then run a shell command right away inside the cloud code session. So I run code space dot so then it opens VS Code inside the folder. I can quickly do my review, close VS Code again, and let it continue. So that's that's how I how I do it.
SPEAKER_02
You're doing keyboard, do you use a Stream Deck or any device like that in your shortcuts?
SPEAKER_04
Or is it our keyboard? I use the keyboarding. Yeah, and I use this. This is my keyboard.
SPEAKER_00
Is that your whole keyboard?
SPEAKER_04
That's my whole keyboard, yes.
SPEAKER_00
Oh my gosh. So what Linux distro are you using?
SPEAKER_04
Uh uh underneath it's Arch.
SPEAKER_00
Arch, okay.
SPEAKER_02
We're not even gonna go there.
SPEAKER_04
Like that's like I have to build every little thing in the world and uh but then again, code is really good at at helping with with Linux stuff. So
SPEAKER_00
That that is fascinating for for for many of us. I know Brad, you you and I are probably one of the few people that are on Mac OS. And uh I I do remember in the early days running Mac OS with parallels, just trying to do anything in nav, or for many in Business Central, now you it doesn't really mat matter anymore. And so for us to go back and said, you know, we were right all along, it doesn't matter which machine, because you could you could pretty much develop now.
SPEAKER_02
Yeah, and I do uh I do have plot on a Pi as well with Linux, but I run some tasks outside of Business Central one. But uh uh I I do like that framework a little bit more. And you go back, you run everything CLI. It's strange how technology sort of loops because uh I I remember starting off programming CLI, you know, back when I had a Vax back, even if you look at like MS DOS and stuff before Windows, then Windows was the latest thing and the UI and the mouse, and now we're going back to CLI is the most crazed now because it's also set up well for AI, because now you can launch other applications and you can you know uh spawn other commands uh without having to open up uh user interface so that it can be autonomous in a sense or in a way that the AI can can work with it. Um so that's interesting. Side note uh you use Linux for your development and uh ask you, what do you do with reports? I have a Windows VM. Say that a Windows VM to do the reporting. See, there's another Chris that you have to do these check marks. I I do this like Stefan. See, I just the same thing. I do everything uh outside.
SPEAKER_04
Let me challenge you a little bit. I have a Windows VM that is running inside a Linux Docker container. Ah, you beat me there.
SPEAKER_02
You beat me there.
SPEAKER_04
There is a nice project, and I have to probably uh collect a like a reference list or something afterwards with all the things that I've mentioned. There is a repository for stuff like that. So you if if you happen to run Linux containers, you can uh basically just this is a a one one-shot Docker file, you can just start it. And with like environment variables of which edition you want to use and everything. Obviously, they run unlicensed, so you have to bring your own license or own a license at least to be compliant, right? But uh after that you can you can just start them.
SPEAKER_00
Yeah, someone had asked us about that. Like uh if if you're if you're uh developing and you're in a Mac OS, how do you handle like uh reports and uh you know that I I thought for me it was the easiest was just I have parallels and I just have a published word, you know, uh or publish office suite uh for what for for what it's worth. Uh and then that's just just to get by. But other than that, I mean browser base and everything else is all local.
CLI Compile And Publish Automation
SPEAKER_02
Yeah, no, that's uh yeah, I'm just to see where we've come and how we we work now, and I'm still back on the um the five uh projects. Now are you working when you publish your applications? Are you publishing them all through Claude uh to an environment? And then I I always have a lot of on my mind with that. But you go into VS Code and you publish it through VS Code. Yeah. Uh and then I don't know. You do not go into VS Code at all.
SPEAKER_04
No, no. I I have uh alongside with my AL instructions tooling, I have uh started to build other tooling. For example, to start with, I have a a bash script basically written by Cloud Code to wrap the AL compiler and everything I need with it. So I have automatically all the analyzers, it discovers my VS Code X uh extensions directory to load the DLS that it needs and everything. It discovers the the dependency package folder and everything that's required to burn down the entire AL compiler command, you need to compile a project down to a single command. You can have parameters if you want to, if you change something or something, I don't know, but you can basically just type in AL-compile and compiles to make it easier for Cloud Code to compile my projects, right? So I noticed it's struggling heavily on compiling via the command line, so I figured, well, this has to be made easier somehow. Explored that option we had, and basically Cloud Code came up with a solution for this. And then I went further. I also have the same command or a similar command for publishing using the uh dev endpoint, but from the CLA CLI using curl. So again, a one-shot comment for cloud code to say bc-publish and then it published. And it just needs to provide the app file and config like where to publish to, right? But so where you one for testing. But uh that's not not as good yet.
Running Business Central In Linux Docker
SPEAKER_02
Okay. So I I do want to step into testing because that's another area uh that I've had uh mixed discussions on. And again, mixed discussions doesn't actually mean anything, it's just sometimes within the context of conversation um in the scope of uh uh requirements. Where are you publishing these two? Are you you you use Docker quite a bit, it sounds like. Do you create separate environments for uh these each project for it to work with? Or do you do you have sandbox amendments?
SPEAKER_04
I try to keep them separate, and I'm right now in the middle of working on another shot on making BC run on Linux completely in Docker containers. Um, so that's that's my my current side project again for the community a little bit. So um, but yeah, I try to keep uh to keep one environment somehow be sandbox, Docker, or whatever, uh for per per project, basically.
SPEAKER_02
So now you're working on it the way you can in essence create a Docker container in Linux for Business Central, so you could in essence have the AI create it, publish the application, do what it needs to do, and then take it back down without leaving any footprints. Yes. Wow.
SPEAKER_04
And it's I mean it's almost working, but uh pretty fragile if I may say so. Uh I don't know, some have maybe seen the the the project I've done before with Torben uh on like using wine and everything to make it work, but it was like so many dependencies and and like a custom wine fork that Torben built somehow, I don't know how. Um really crazy stuff. And last week or the week before, I believe, I had uh somehow an idea of like maybe we can just like cut it all out and just run, like use some DLLs from the service directory to just run AL code without any service tier. Like just run the code, right? What do I need? Like we can fake the database or whatever, I don't care. Uh I just want to run the code, right? That's what I want to test. And it uh didn't work out that good. I had some some prototype where I could just like the the like messages or like simple arithmetic functions or things like this, I could just execute a single standalone code unit without even a project. So I didn't even have an app file or anything, like just run the code unit on run trigger, please, just execute it. So that worked. But it like when when records and and dependencies got involved, it got pretty pretty bad. And I uh I dumped that approach. I think it's on GitHub somewhere, I don't know if I made it public or not. Um but it it led to me having with Cloud Code again rewriting uh the the C sharp code so you can do crazy stuff with C sharp where you can exchange dependencies and replace functions and things. I don't really understand any uh how that works even. But uh Cloud Code was able to replace a few things and turn off a few things, like I say, well, we we are in in a local Docker or CI environment, so I don't care about authorization. I don't care really about uh database encryption or things like this, and it replaced the uh complete HTTP in implementation that BC uses under the hood with something Linux compatible, and in the end, I now have something that works, like right? It starts just.NET service tier.dl and then it slash console or whatever, and it and it runs. And I'm able to execute tests. Now I'm still working on making this a little bit more stable, but I have like automated tests where like 27.0 through 5, and I think 28 also, they they start and they work, and I run like sample tests against this.
SPEAKER_02
So wow. That will be great because that will eliminate the need for parallels, Chris, and then also I think some things on the container uh processor as well. Uh my ultimate goal is really to make pipelines quicker. I could see that with this. You can create that, drop it, and you don't need the full I don't say the full application, but like the full install, like you said, because if you're on a Docker.
SPEAKER_04
It is a full install basically. It's a Docker compose, so I have two containers, one container for SQL Server that just exists for for Linux, right? We don't need to do anything there. And then a second service where the BC service lives in. And it the scripting, the Docker file automatically loads the symbols. So you specify I want to have 27.4, whatever, and it figures out the artifact URL, it downloads the artifacts, it extracts the artifacts, there is the service directory, it applies the fixes that it that it contains, and then just starts the service tier in place, basically, with the connect. Like it adjusts the con the custom settings config file with with the parameters it needs and just starts it basically. And then when it's loaded, it starts to publish extensions like a normal pipeline would basically.
Test First To Trust AI Output
SPEAKER_02
I'll have to pay attention to this project. I saw you talking about it, and then sometimes to be honest, with uh it's with everything going on and trying to um pick up many things. Sometimes I go, wow, yeah, that's uh that's a lot. But you know, hearing and talking with you, the the benefit of that is um amazing. I can see how it could speed up pipelines and you don't have to carry a lot of extra weight, as I call it, uh system-wise, if you can create these containers and work with these containers and get what you need done. Uh one thing that you had mentioned is you test the code with this. Um what has your experience been with creating automated tests within the business central testing framework using uh AI?
SPEAKER_04
I think it's it's becoming mandatory again. The more I work with with AA assisted development and cloud code and everything, I feel like we're I'm I'm getting back to the textbook style of software development because all of that, like the like all the requirements, engineering, the documentation creation, all of that, just I mean, I skipped it because no customers really pays for for all of that uh yeah, supporting work, I'd say. Um not for simple adjustments, right? If I just have like a five-hour task, then why should I create full documentation of requirements and the solution plan and all that kind of things? So um the same goes for development with tests, because I I came to a point where I say, well, now Claude created, I don't know, 50 objects. How should I even start to test this in a reasonable amount of time, right? So I've started to investigate into automated tests, then well, now you you have written the code, now write the the the test code for it, but then I hit the same problem. Like, how can I now trust my test code because it's also generated, right? So yeah.
SPEAKER_02
So I see many stories where people showed that they're tests, and the AI went through and basically were marked out the tests so that the test would pass. It's just you see some of these comicals or hear about some of these stories, it's funny.
SPEAKER_04
So I I I got texted by uh Klaus Kahn, I believe, on LinkedIn, and he said he's working on something not uh I don't think it was a BC project, but also like he has a very sophisticated process how to develop and how to work with Cloud Code. And what he did, and I've adapted that, was to say, before you write any code, and this is a an approval gate, I'll have to manually prove this before you can continue. Before you write any code, you write tests. And they have to fail, and they have to fail correctly. So just because a test fails doesn't mean it fails on the thing you want it to fail on, right? So we have to verify. We m for AL, sometimes you need to have some some framing in the to have the dependency resolves, right? Um, but beyond that, no code gets written, all the tests will have to fail. If there are any tests which are not failing up front, you have to have like clear documentation around that, why that can't be failed at in the in the beginning, and only then we'll proceed to develop. And then we have test-driven development again.
SPEAKER_02
I was just going to ask, so going it sounds like we're going back to the days of test-driven development where you define your tests before um before you develop. Yes.
SPEAKER_04
And that was like that's so far is the only way I found to really have some trust into what happens without me reviewing and questioning every single line of code. And that's also why I started to develop the or invest into some automated way of running the code, the test, I mean, um, and all the tooling, because I cannot sit there for 50 iterations and run the tests in the browser and paste the results back into Cloud Code. So that has to be automated. That's why I have compiled, I have published, and I have run tests. So so Cloud Code can autonomously work on that until I we hit that approval gate where I can really run it run the tests myself once and review the results.
SPEAKER_02
So I I mean it goes back to almost, and again, uh I just try to frame it a little bit. So it's similar to when you could run or what you can do with the BC container helper PowerShell scripts, right? Where you can run the tests and then you can get back, you can pipe back the results for those tests, whether it's an XML file or text file. So then you can go through it. Is that you're working similar to that?
SPEAKER_04
Yeah, so if you are on Windows, obviously you want to use that. Uh if you're on Linux, you can't. So that's why I have to run some extra miles here. Uh but yeah, essentially. A CLI way of running running tests, whatever that may be, just to be able to automate it.
SPEAKER_02
Wow. That's good. I have to pay attention to that one. I I like that because I do. I'm a I'm a uh I I use Windows out of necessity and not saying anything poor about it, but I prefer you know the Mac OS and also even you know, even some headless versions of uh Linux or or such uh for doing some processing. It just feels a little bit different for me. Um I I leave it at that.
SPEAKER_04
So yeah, but I'm I'm working on making all of that basically work for Linux containers. Uh one one challenge I'm still working or working against is uh running the tests exactly like BC Container Helper does because that involves the management API and and web web sockets and things, so it's it's a little bit annoying. I have it running basically with a a custom extension to just expose testability via OData that works without a problem, but I wanted to have it yeah, with work without that dependency. But essentially, uh when when you're on Windows or wherever uh the Windows Docker container and the PowerShell scripting and everything works, then you you want to use that. Wow.
SPEAKER_02
You're doing a lot of great things with that stuff, so it's um yeah. I sit back and that's where I'm saying, wow, I wish I uh uh I don't know how how do you find the time for it?
SPEAKER_04
And you're gonna say Claude's helping you, so you're gonna be like, I'm I'm working on five things in parallel nowadays, so three word and two two community things of something. Wow, wow.
SPEAKER_02
That's great. That is great.
SPEAKER_00
It's uh I think I think that's a great example of what is AI doing for a lot of us, you know. It's like uh for able to produce a little bit more and actually open up a little bit more time for you to do other things because you do have tools like uh Claude in your case or whatever tools or AI tools you're using. So you can do more things. You can produce more, but then still have that quality of work, quality of life, and and be able to do projects um to kind of keep you up to date or g or or or keep your create creativity mind open doing side work as well.
SPEAKER_04
But I do have to say that kind of working is definitely more exhausting on on the mental capacity. Um I feel like now when I'm working like this, and it's not every day, of course, but if I have days where I'm busy like this, I feel that I'm really exhausted at the end of the day. Because switching context, not maybe not even five things, it was just a number, right? Maybe maybe two sessions, maybe three sessions in parallel, where you switch all the time between A to B to C back to A to C to B, and that that really gets exhausting.
SPEAKER_00
That that's a good point. Tax task switching it requires a lot of mental uh I don't know what there's like a mental switching that you have to do because you have to it's not the work itself, it's more of the switching your mind on a task that you are working on.
SPEAKER_04
It's very uh especially because with with with that kind of development, if I'm if I'm managing this, I need to overview the concept, right? I have to have the concept and the the the overall goal and everything I have to have in in my in my head, and I need to pause that for a second, have a completely different context now in my head. Yeah, and then pause that again to switch back to the the to the original one without mixing them or without forgetting about different things. So that is true.
The Future Of Code And Languages
SPEAKER_02
Well, that's what I was saying before. My mind gets on like overload now with ideas of things that I can do, but also, like you said, the context switching is exhausting and um the output and and and the benefit. Do you do you ever think, again, this is philosophical, do you ever think that we're going to get to the point where output far exceeds consumption and everyone's creating just a lot of stuff that is just there? And what I mean by that is we can all produce so many things now, right? You you had mentioned uh you're producing several projects that work on several projects at once, or you're creating documentation now. I've I'm happy to see a lot of people doing and creating doc you know development documents or extension documents that no one ever thought to create before, and they're far better than anyone would write. And then there's people creating business process documents, right? And then everyone's creating extensions, creating applications. Is there ever a point where there's just too much stuff for us to be able to consume? And if AI is going to be the one consuming it, do we even need it in a sense? Right? If we're if we're going to continue that process of generating for AI, if it's generating for AI Is that all even necessary to have the extra stuff around it versus just the what you said, the one command CLI to be able to publish an application instead of a book on how to do it?
SPEAKER_04
I have no idea. Honestly, I have really no idea. What I'm I feel like we're getting closer to Iron Man just saying, well, I I have an idea, let's fire up some things, right? Um and then it it just works. And I think the closer we get to to this point where it just works, the less important it really gets to like also what kind of language is it written in. Uh I talked to my brother the other day, he was working on something on on like private matter, but also with Cloud Code, and uh he thought. Thought that Python would be the tool, the language to go with, and then Claude research a little bit on like existing projects and say, Well, here's a C sharp project, we could port that into Python somehow. And my brother just prompted, like, can't we just write our tool in C sharp and just reuse it? I mean, I don't care which language it's written in. I'm not the one writing or reading it, I'm just testing, right? So I I think we we might get closer to that where we where we're really language independent and maybe like the the human readable languages will be deprecated at some point. Because if if no human ever reads the code or writes the code, what's the point in making it readable? If it's if it has to be translated later into machine code.
SPEAKER_02
Maybe there is assembly language?
SPEAKER_04
I don't know if if if machine code will be the solution, but maybe a a different language that is way more optimized for AI to write and read and maintain. Something that humans couldn't work with, but AI can really work good with it. I don't I don't know. Um so I think w we'll get in into that direction at some point.
SPEAKER_02
And the scary thing is it'll probably be within our lifetimes, or my you know, in my lifetime, and um I'm the old one, and uh at the rate of how this is going. Um it's interesting.
SPEAKER_00
Stefan, we had a we had a conversation with uh uh a few guests um you know, and I we had we had asked this is a similar question. Um outside of our world where we work with every day, that's you know, we interact with AI with the with the with this framework. Um but outside of that, I do realize that nine out of ten people have no idea of all these tools and framework. Do you feel that as well when you're you know talking to somebody that's you know maybe not so much in IT, but they may be interacting with application uh have no idea, no clue. Like I'll give you an example. You know, my wife is a teacher and they she has no clue that she could use AI tools to kind of help her. Uh she has a few she she's they've used Chat GPT and some copilot, but uh be but being able to create beyond than just prompting or beyond just uh gathering information. Um do you feel like we do bel we live in a bubble for our works?
SPEAKER_04
Yes. Yeah, if if if you mean if you're referring to people outside of IT, uh then absolutely yes. Like the the the general point is either no touch points so far, nothing at all, uh uh apart from news in the TV, basically, uh to maybe chat GPT on their phone, but beyond that nothing.
SPEAKER_00
Yeah. So we all live in a bubble.
SPEAKER_04
It's yeah, it's uh you know sometimes it's ignorant uh but we are also the first ones, I think, the the developers to really be forced to to work with that kind of stuff because otherwise we would get deprecated pretty soon. I think there was a session from Vieco on on directions, he said, well, uh we we're the first ones to fall, basically, your developers or uh programmers basically, because uh large language models are he said that uh are really good at at doing text, uh like languages, spoken languages, but spoken languages are really complex compared to developing languages. So it's it's like for for agents it's apparently very easy to do code because it's so much easier compared to spoken languages. And uh an LLM can do any language, right? Speak any language. I even tried a local dialect of where I'm where I'm from in Germany, uh, and and it was able to like understand that, transcribing, understanding that, and then also writing like if if it would speak in that dialect. So uh Wow.
SPEAKER_02
It's it's it's I I laugh at some of the stuff I see because you almost feel like it's alive and that it's working, and we we we talk with it and how you refer to it, and even now where they've added you know the interactions back with you, right? But you know, is there really a need for it to say, oh, the user wants this, and okay, I'm going to add you know, it could just spit out the information without having that, but they've sort of built into it the sense of um interaction in a way. I don't know if you want to mean you know how when you you work with Claude as like you know, the the thinking basically. Yeah, it but it's it doesn't really need to show all of that thinking.
SPEAKER_04
But I think it it uh clot code doesn't show it, I think, most of the time. I I now worked a little bit with with Copilot CLI uh today, actually, and I was very surprised that Copilot shows all of the thinking. I was like, Well, why why do I need to read all of this? Because I'm used to not seeing that. I can turn it on, but it's hidden by default because I don't really care. Um But I think back when when thinking got introduced, I think it it helped produce way better results than without the thinking. So the results help construct the output. I don't know how, but uh some it it does improve something uh somewhere. I don't I don't know. It's magic, man. It's magic is what I think. It really is. And the the the the craziest thing of all of this is I think uh Tinay said it in in one of his sessions. I thought I saw a post on LinkedIn the other day that uh LLMs are basically hallucinating 100% of the time, just 80% of the time it's right. So uh which is basically what what it is, it's it's just statistics, right? Yes, yes, it's just the probability of the next word being this word is the highest based on the context like where we have come from. So and that's so crazy to think of.
SPEAKER_02
I don't even know how someone could sit to think to even come up with that, right? I mean, I don't most inventions aren't derived from um you know the intent of that thing that gets created, it's a byproduct. Like you look at the combustion engine, right? The combustion engine wasn't the desired result, it just came out as a byproduct of what they were doing. It's just the same thing I wonder with this stuff, but then you sit back and you're like, who can think that you just archive everything and then statistically, based upon what you've written, it predicts the next word and then continues to the point where it's writing in in our context, you know, 50 AL objects, adding fields to pages, adding fields to tables. It's just something very difficult for me to comprehend how statistics is doing all of that. Yes.
SPEAKER_04
Yes, it is and and I think it if I remember correctly, this goes back to like the 1950s and mathematics inventing this stuff, right? And now we have the computation computing power to just to to make it work, right? This isn't a new invention, it's just now it works.
SPEAKER_02
Yes, yes, because we well, we we have the scale at which we can produce it rapidly, uh, versus having someone um you know ha have to do it by hand in essence, or uh you know, even back with punch cards back then when they did it. Uh it's fascinating. Well uh I could talk with you about this stuff all day. I mean, you're doing some great things. I I I I'll have to interact with you more in the stream sometimes just to get to get you uh uh uh uh more into it. But uh I do appreciate everything that you're doing, and you're doing some great stuff. I'll have to take a look uh keep following that Linux um BC uh container process that you're doing as well.
SPEAKER_04
So I I will announce this as soon as I have something where I can say, well now I can let people test this. It's already public if you want to have a look on my on my GitHub profile. It should be the topmost repos I I work on right now, so it should be easy to find. Um but yeah, I I will I will I didn't announce it for now because it's uh it's still work in progress. And maybe just one more sentence about this. I want to uh keep or I want to get it to a point where I can run the Microsoft test suite on it to see if it really gets faster, without like with excluding the startup boot time and all the the statics around it, just the plain compution power to to run tests faster, basically, too. Because they they have I think the largest test suits and the long longest running ones. So yeah.
SPEAKER_02
And sometimes they all don't pass for me. So I don't know.
SPEAKER_04
We'll have to maybe maybe maybe we'll get this to get this solved too.
Where To Find Stefan And Closing
SPEAKER_02
Uh I hope so. I hope so. Well, Stefan, thank you for talking with us this afternoon. I really appreciate it. Uh you're doing some great things, uh, and um uh I'm happy that you're we were willing to share your workflow and your thoughts and everything with us. Um you're doing some great things. Uh you know, the history repository is a great tool as well. If anyone hasn't worked with it, the uh you're looking for the source code for every version of Business Central. You go back pretty far. I don't know how far back you go, it's tough to remember, but all the versions and all the updates, it's uh resource for any developers. 15. So back almost to the very beginning. Of Business Central, of AI. Yes, yeah, yes, business central, excuse me. Uh I don't even think in Nav and Vision anymore. Uh I think of just uh Business Central. But um, thank you for clarifying that as well. Uh if anyone would like to reach out to you to learn more about some of the great things you're doing, some of the projects they have, uh, your code review service, or even talk a little bit more about AI and some of the things that you are creating and doing your workflow. What's the best way to get in contact with you?
SPEAKER_04
Texting me on social media basically on LinkedIn. I I should always receive the message, but X and Blue Sky should also work.
SPEAKER_02
All right, great. Thank you. Uh thank you again. Uh look forward to uh seeing you soon. Are you coming over to Directions North America next month? I am not.
SPEAKER_04
Can't do everything. I will be on tech days. I have a workshop on tech days. Uh I'm still thinking of uh submitting a session for the for the Linux stuff. We'll see if if that if I get it there far before the deadline ends, and then also if it's interesting enough for people to listen to me for 90 minutes talking about stuff like this.
SPEAKER_02
Uh I think you would be surprised. I think many people would be listening uh interested in listening to you. Um might get some might get pretty technical though. That's good. That's good. I'd listen. Uh so no, we do appreciate it. And uh thank you for all that you do, and thank you again for taking the time to speak with us. I know um time is precious. Uh anybody you spend with somebody or spend doing something, you you don't get that back. So uh we do appreciate you uh taking the time to share with everybody. And uh look forward to talking with you again soon, and hopefully we get to cross paths at a conference or an event or something somewhere at one point uh where we can sit down and talk about this uh and further depth.
SPEAKER_04
Thank you for for for the invitation. It was really great talking to you. Thank you again. I'd look forward to speaking again soon. Uh bye.
SPEAKER_01
Thank you, Chris, for your time for another episode of In the Dynamics Corner Chair. And thank you to our guests for participating.
SPEAKER_00
Thank you, Brad, for your time. It is a wonderful episode of Dynamics Corner Chair. I would also like to thank our guests for joining us. Thank you for all of our listeners tuning in as well. You can find Brad at developerlife.com. That is D V L P R L I F E dot com. And you can interact with them via Twitter, D V L P R L I F E. You can also find me at Matalino.io, M-A-T-A-L-I-N-O.io. And my Twitter handle is Matalino16. And see you can see those links down below in the show notes. Again, thank you everyone. Thank you, and take care.








