June 17, 2025

Episode 423: Business Central, AL Development, and the Art of Problem-Solving

In this Episode of Dynamics Corner, hosts Brad and Kristoffer engage Marcel Chabot, a veteran software developer and innovator, to unpack his eclectic journey from rocket engine testing to mastering ERP solutions with Microsoft Dynamics 365 Business Central. 
Marcel Chabot illuminates the intricacies of AL development, emphasizing its integration with .NET and the creative problem-solving it demands while navigating the challenges of migrating from legacy systems, such as GP. He emphasizes the crucial role of code quality, collaboration, and understanding client needs in minimizing technical debt and enhancing extensibility. 
The conversation explores the evolving landscape of programming languages, highlighting the crucial role of ISVs in improving the capabilities of Business Central.
Marcel Chabot advocates for balancing custom solutions with off-the-shelf functionalities to optimize implementation and reduce maintenance costs. This episode presents a compelling blend of technical expertise and practical guidance for developers and business leaders navigating the complexities of modern ERP systems.

Send us a text

Support the show

#MSDyn365BC #BusinessCentral #BC #DynamicsCorner

Follow Kris and Brad for more content:
https://matalino.io/bio
https://bprendergast.bio.link/

00:00 - Episode Introduction and Guest Welcome

08:19 - From Rocket Testing to Business Software

20:46 - Business Central Development Evolution

34:22 - Pushing AL to Its Limits with Advent of Code

48:35 - AL Development Philosophy and Approaches

01:00:38 - Best Practices for ISV Extensions

01:09:54 - Episode Closing and Contact Information

01:11:34 - GP vs Business Central Development

WEBVTT

00:00:00.321 --> 00:00:03.390
Welcome everyone to another episode of Dynamics.

00:00:03.390 --> 00:00:08.651
Corner Brad, what is the first word in an English dictionary?

00:00:08.651 --> 00:00:10.785
I'm your co-host, Chris.

00:00:11.500 --> 00:00:12.164
And this is Brad.

00:00:12.164 --> 00:00:16.310
This episode was recorded on April 30th 2025.

00:00:16.310 --> 00:00:17.603
Chris, chris, chris.

00:00:17.603 --> 00:00:20.071
What is the first word in the English dictionary?

00:00:20.071 --> 00:00:21.402
I don't know.

00:00:21.402 --> 00:00:34.939
I'd have to go to the English dictionary and look it up, but today we had the opportunity to talk about that, as well as AL Development, business Central and some cool toys With us.

00:00:34.939 --> 00:00:57.615
Today we had the opportunity to speak with Marcel Chabot the man of the hour hello, good afternoon.

00:00:57.655 --> 00:00:58.197
How are you doing?

00:00:58.197 --> 00:01:02.561
Doing great, how are you doing, you know, all things considered, I'm doing well.

00:01:02.561 --> 00:01:04.724
Well, ten fingers, ten toes, breathing.

00:01:05.944 --> 00:01:07.447
On the right side of the astroturf.

00:01:07.447 --> 00:01:08.367
That's all that really matters.

00:01:08.367 --> 00:01:10.450
Is there a right or wrong side?

00:01:10.450 --> 00:01:13.412
Well, there's the underside of the astroturf.

00:01:13.412 --> 00:01:14.313
You don't want to be there.

00:01:15.233 --> 00:01:15.733
How do you know?

00:01:16.754 --> 00:01:17.915
Oh, you have a point.

00:01:21.859 --> 00:01:22.141
So yeah, that's.

00:01:22.141 --> 00:01:22.662
I don't want to get in.

00:01:22.662 --> 00:01:27.393
I could say so much for that, but I think many may not understand my thoughts on that.

00:01:27.393 --> 00:01:29.728
But yeah, I don't know which side's the right side.

00:01:29.728 --> 00:01:37.007
I guess it depends on the day of the week, but not many people have told me about that side, so I really don't know if it's better or not.

00:01:37.346 --> 00:01:38.250
Survey's incomplete.

00:01:38.771 --> 00:01:42.771
Yes, yes, so maybe, well, maybe we could use Copilot.

00:01:48.239 --> 00:01:49.424
Copilot could tell us well, maybe we could use copilot.

00:01:49.424 --> 00:01:50.269
Copilot, do you think copilot would know I?

00:01:50.269 --> 00:01:50.590
I don't know.

00:01:50.590 --> 00:01:50.852
I don't know.

00:01:50.852 --> 00:01:52.057
Copilot can give me uh input on the afterlife.

00:01:52.057 --> 00:01:55.444
I don't know if I trust it philosophical for you?

00:01:56.527 --> 00:01:57.810
yeah, it's too philosophical.

00:01:58.069 --> 00:01:58.650
You're correct.

00:01:58.650 --> 00:02:00.701
And then how do we know if it's correct?

00:02:01.183 --> 00:02:10.169
so we just wouldn't know, right, right so I I've got a new microphone, so if I sound like garbage, let me know and I can turn knobs or whatever it sounds good.

00:02:10.889 --> 00:02:13.383
I so far it sounds good, but you can turn knob.

00:02:13.383 --> 00:02:14.686
It's turn whatever.

00:02:14.686 --> 00:02:18.542
Turn knobs if you want to see how it sounds it's got knobs and dials.

00:02:18.542 --> 00:02:26.438
I've been harassing everybody yeah, all right do I sound like I'm in a closet or what uh, you know some of these microphones.

00:02:26.438 --> 00:02:39.409
I'm glad with this one I don't have the knobs and dials, but I had the ones with the knobs and dials before and I just didn't understand and there really isn't a clear way to be able to tell no, it's a challenge how it sounds there's always post-processing, there's always post-edit.

00:02:39.871 --> 00:02:45.609
You know, as long as you're clear, you're fine, because there's a lot you can do.

00:02:45.609 --> 00:02:48.153
So much after the recording.

00:02:49.681 --> 00:03:01.919
And now you can do AI voice correction Right, so that if we need to do some, I'm not saying that's what we do, but I've seen that there's tools now with AI voice correction that you can do some corrections.

00:03:02.441 --> 00:03:16.258
It does help because there are times where we're recording and then the guests, you know, sometimes we don't notice it, but then, like once we get the raw file and it's it doesn't sound really really good and there's tools now.

00:03:16.258 --> 00:03:20.501
Yeah, it does help me kind of remove all of this stuff and just kind of isolate the voice.

00:03:20.501 --> 00:03:24.412
It's amazing what it can do now Makes my, my job easier.

00:03:24.412 --> 00:03:33.931
Nice, nice, I don't think you've ever worked hard, but anyway, do you have ai for that now?

00:03:33.971 --> 00:03:45.751
man, you should be more creative great, but thanks for taking the time to speak with the staff and I've been looking forward to speaking with you, uh, and also it was great seeing you in Las Vegas as well.

00:03:45.751 --> 00:03:47.234
That was a lot of fun.

00:03:47.234 --> 00:03:48.887
Appreciate the Uber, you know.

00:03:48.887 --> 00:03:52.362
It's always nice to when someone can figure out how to use the Uber application when you can't.

00:03:52.362 --> 00:03:56.372
And also congratulations on your recent Microsoft MVP.

00:03:56.372 --> 00:03:59.747
And before we get into the conversation, would you mind telling us a little bit about yourself?

00:04:00.949 --> 00:04:02.181
My name is Marcel Chabot.

00:04:02.181 --> 00:04:04.426
I'm a software developer.

00:04:04.426 --> 00:04:06.252
I'm the team lead here at the TM Group.

00:04:06.252 --> 00:04:11.893
I've been doing software development forever and have been in lots of different industries.

00:04:11.893 --> 00:04:18.392
I've done everything from brewing beer to rocket engines in all sorts of different industries.

00:04:18.392 --> 00:04:27.415
I come out of test and measurement, where we would rip trailer hitches off of pickup trucks and test all the things.

00:04:27.415 --> 00:04:38.387
Destructive testing was my favorite because I was young and destructive text testing is pretty exciting when you're just out of college and you get to break things for a living and that was kind of neat.

00:04:39.182 --> 00:04:53.791
I would love that, yeah, but the industry is super volatile and, uh, things went bad in michigan and I moved over to business software and been doing that for 18 years now and it's uh, it's a lot of fun.

00:04:53.791 --> 00:04:54.713
It's.

00:04:54.713 --> 00:05:03.487
It's interesting in all the different places that we get to because everybody has finances, everybody has money that's got to come and go.

00:05:03.487 --> 00:05:05.471
Everybody has a business to run.

00:05:05.471 --> 00:05:10.904
So you have your CRM systems, your contact management, your finance Everybody has it.

00:05:10.904 --> 00:05:28.365
So it's something where I get to put my fingers into all sorts of different industries and it's been fun how I've worked with breweries building sensor networks to monitor beer and I've worked with breweries building accounting systems to sell the beer Not the same ones.

00:05:28.365 --> 00:05:35.153
I've been hoping for that crossover at some point, but it's been really interesting to have both experiences.

00:05:35.480 --> 00:05:41.048
Hopefully you get to experience that and breaking things for a living must be fun, because you get a lot of frustration.

00:05:41.048 --> 00:05:41.990
It must feel good when you get home.

00:05:41.990 --> 00:05:43.033
It must be nice and relaxed.

00:05:43.033 --> 00:05:45.728
And did I hear that you built rocket engines?

00:05:47.064 --> 00:05:48.281
I tested some rocket engines.

00:05:48.281 --> 00:05:49.485
I did rocket engine testing.

00:05:49.485 --> 00:05:50.548
How did you test that?

00:05:50.548 --> 00:05:54.682
It was a bunch of sensors around something called a pebble bed.

00:05:54.682 --> 00:06:08.403
It's where you blow hot rocket fuel across a bed of ceramic beads, which they call technically NASA hot, and then the fuel combusts and you have to be able to control that.

00:06:08.403 --> 00:06:12.095
And um, there's a whole bunch of stuff.

00:06:12.095 --> 00:06:13.519
There's all sorts of phds.

00:06:13.519 --> 00:06:21.581
I just got the wire sensors and hook up computer software to it and all the phds got to watch these numbers go.

00:06:21.581 --> 00:06:23.863
Oh, and I'm like, yay, rockets.

00:06:25.985 --> 00:06:29.790
See, it sounds like you had some fun, and with ERP software implementations.

00:06:29.790 --> 00:06:39.187
It is fun because every implementation is different, it seems like, or every project's different and, as you'd mentioned, you can get into many different industries.

00:06:39.187 --> 00:06:47.088
Some organizations will specialize and have niche markets for verticals, as we call them, but then there's others that will deal with many different customers.

00:06:49.646 --> 00:06:50.309
I think it's fun.

00:06:50.309 --> 00:06:53.607
We set a countdown on a new client, which is time till.

00:06:53.607 --> 00:06:55.733
I can't believe nobody else.

00:06:55.733 --> 00:06:58.247
You know they're looking at a report.

00:06:58.247 --> 00:07:00.966
I can't believe nobody else needs this report.

00:07:00.966 --> 00:07:02.492
The report doesn't exist.

00:07:02.492 --> 00:07:04.447
Nobody has ever wanted this before.

00:07:04.447 --> 00:07:06.322
Nobody wants data, this report.

00:07:06.322 --> 00:07:06.983
The report doesn't exist.

00:07:06.983 --> 00:07:07.826
Nobody has ever wanted this before.

00:07:07.826 --> 00:07:08.449
Nobody wants data this way.

00:07:08.449 --> 00:07:10.875
But for your particular industry, I can see where that's important.

00:07:10.875 --> 00:07:20.264
But no, you are the first and we start a countdown and everybody, at some point when we're working on an industry that we have never worked in before, ask the question.

00:07:20.264 --> 00:07:23.350
I can't believe I'm the only one who wants this.

00:07:23.350 --> 00:07:25.612
Yeah, you are.

00:07:25.913 --> 00:07:26.735
Congratulations.

00:07:26.735 --> 00:07:29.305
You should start handing out a prize with that.

00:07:29.305 --> 00:07:34.927
So, working with Business Central and being a, I call you the scientist now, so maybe that will be your new name.

00:07:35.569 --> 00:07:40.449
You're not the first, oh I can't believe someone hasn't called you.

00:07:40.550 --> 00:07:41.533
No, I know, thank you.

00:07:41.572 --> 00:07:43.302
Well, I guess maybe I'll take that nickname away.

00:07:43.865 --> 00:07:45.672
So working with Business Central.

00:07:45.672 --> 00:07:47.639
How long have you been working with Business Central?

00:07:47.639 --> 00:07:49.252
You said you made the crossover to software.

00:07:49.252 --> 00:07:50.404
Have you always worked with Business Central?

00:07:51.661 --> 00:07:52.504
I started with GP.

00:07:52.504 --> 00:07:57.591
The TM group was one of the first GP consultants.

00:07:57.591 --> 00:08:05.613
Judy Thomas started with this newspaper ad looking for implementers for this new accounting package 40 years ago.

00:08:05.613 --> 00:08:10.572
So when I moved over to the TM group it was all GP.

00:08:10.572 --> 00:08:26.415
But then, you know, gp started to look a little old, at 30 some odd years, and we moved over to the next product in that tier, which was a division at the time just around the seaside AL, to cut over.

00:08:26.415 --> 00:08:29.327
So 14 years ago.

00:08:29.608 --> 00:08:31.492
Yeah, that was 20.

00:08:31.492 --> 00:08:37.312
No, well, the cut over seaside to AL was 2018.

00:08:37.312 --> 00:08:44.389
The vision to business, vision to geez, the vision to dynamics nav was with 2013, 2014.

00:08:44.389 --> 00:08:45.244
I can't even keep track.

00:08:45.283 --> 00:08:49.025
I'm trying to play this all back in my head yeah, it takes a long time.

00:08:49.025 --> 00:08:51.350
It's time has flown.

00:08:52.131 --> 00:09:01.629
I know, I know time is valuable and precious, and how quickly it goes by as you get older makes you take a look at what you do with your time and value a little bit differently.

00:09:01.629 --> 00:09:05.184
So do you work with development for business central?

00:09:05.927 --> 00:09:06.307
strictly.

00:09:06.307 --> 00:09:08.091
My group is strictly development.

00:09:08.091 --> 00:09:16.504
That's my focus and our accounting team, our functional team, bless their heart, has for years tried to get me to get credits and debits straight.

00:09:16.504 --> 00:09:30.931
But I still look at credits and debits from my point of view and it's backwards because accounting credits and debits are backwards from personal finance and I still get them backwards all these years later and they're they complain.

00:09:30.931 --> 00:09:35.073
I'll never be an accountant and I thank them for the compliment and get back to my work.

00:09:35.475 --> 00:09:37.985
Yes, as long as the numbers add together properly.

00:09:37.985 --> 00:09:41.520
That's the important thing that's the important thing two plus two should equal four.

00:09:41.520 --> 00:09:45.912
So you work with the development and and AL development's a lot of fun.

00:09:45.912 --> 00:09:47.124
Business Central development's a lot of fun.

00:09:47.124 --> 00:09:53.299
You get to do a lot of great things Maybe not some rocket science type things, but maybe you can as well.

00:09:54.323 --> 00:10:03.548
Coming out of GP, where you got not one but two user definable fields, and moving over to Business Central, where I can define fields all day long.

00:10:05.123 --> 00:10:21.124
It's such a great switch up to to a much more dynamic accounting system and uh it is great and uh, through conversation, some of the things you like to do, you like to, I guess, uh, test the limits of some development as well, too, correct I?

00:10:21.184 --> 00:10:21.445
do.

00:10:21.445 --> 00:10:24.871
There's a uh, there's a yearly I guess it's a competition.

00:10:24.871 --> 00:10:37.620
It's more of a nerd flex called the uh the advent of code and uh, there's 25 two-part problems that you can try to solve and it doesn't matter what language you do it in, because it always comes out with a number when you're done.

00:10:37.620 --> 00:10:47.167
And I tried to solve as many as I could in uh and I got through week eight and then things started getting really weird.

00:10:47.167 --> 00:11:00.216
Some of the answers require recursion and that worked for a while and then Business Central just said no, the processing requirements were really high.

00:11:00.216 --> 00:11:05.249
One of the answers was something called a 40-year transform.

00:11:05.249 --> 00:11:08.001
Where it's it's complex math on repeating things.

00:11:09.344 --> 00:11:15.875
And um, I tried to do a 40-year in business central and it just noped right out.

00:11:15.875 --> 00:11:18.543
And why would it do a 40-year?

00:11:18.543 --> 00:11:19.745
It's not the kind of math.

00:11:19.745 --> 00:11:22.168
There's no accounting that ever would need that.

00:11:22.168 --> 00:11:30.488
But getting through eight weeks, which is 16 problems, before it gave up I thought was pretty good.

00:11:30.488 --> 00:11:32.700
I bet there's people who could push it farther than me.

00:11:32.700 --> 00:11:38.541
There's a lot of really smart people out there and I bet somebody could solve all of them in there.

00:11:38.541 --> 00:11:42.327
But at some point I hit the point of diminished returns.

00:11:42.327 --> 00:11:43.691
I had some really neat things.

00:11:43.691 --> 00:11:50.601
I learned about the limits of BC and as they add new features in, it'll be more capable later.

00:11:51.504 --> 00:11:55.615
There's NET underneath, so yeah, so they expand the library.

00:11:55.615 --> 00:12:05.325
Well then, depending upon which version you're using, if you're using the on-premises version, you could reference some assemblies and also maybe use a control add-in.

00:12:05.706 --> 00:12:09.350
That might be cheating, though well, yeah, my goal was to do it in al.

00:12:09.350 --> 00:12:11.720
At any point, I could have kicked it off to an azure function.

00:12:11.720 --> 00:12:14.008
Did the work in an azure function return the answer?

00:12:14.931 --> 00:12:16.375
no, I understand.

00:12:16.375 --> 00:12:25.004
I thought about that after I said that and said then it's not al, you're just using al as a gateway to something else to solve the problem with the processing.

00:12:27.960 --> 00:12:33.264
But that may be the point that AL has a limit and stop doing crazy stuff in AL and kick it out to something outside that will do the work for you.

00:12:34.341 --> 00:12:43.606
Well, I think that is a good point, because I think everything has a purpose and you use the appropriate tool for that, for the job.

00:12:43.960 --> 00:12:54.510
It's a natural path't it like to to to go beyond outside of al for a different function it is and it's knowing if.

00:12:54.812 --> 00:12:59.546
If al is the only tool you have, then everything looks like an al problem.

00:12:59.546 --> 00:13:04.542
And uh, early in my development career, you know, I I knew a handful of languages.

00:13:04.542 --> 00:13:13.014
I was going to solve every world problem in my favorite language of the time and wrote some really bad code that I'm afraid might still be out there in the world.

00:13:13.014 --> 00:13:20.629
And then as you, as you get older and you do more stuff, you realize, hey, I'm just no, this isn't the right way to solve this.

00:13:20.690 --> 00:13:25.004
Moving on, yes, no, it's, it's no.

00:13:25.004 --> 00:13:27.801
You laugh because you said some really bad code.

00:13:27.801 --> 00:13:38.655
But I think, as as languages change, as you, you change with understanding and knowledge and problem solving and also even starting a journey through solving a problem.

00:13:38.655 --> 00:13:47.008
We again which is what we're doing with development we're solving a problem or a task or satisfying a need which again a need could be for solving a problem.

00:13:47.008 --> 00:13:49.988
I always look back and say, wow, I would have done that differently.

00:13:49.988 --> 00:13:51.926
Oh, wow, I can't believe I did it that way.

00:13:51.926 --> 00:14:03.163
And it may have been effective, it may work, but sometimes, as change comes, it's nice to look back and just scratch your head and say, why did I do it that way?

00:14:03.182 --> 00:14:05.528
and just scratch your head and say why did I do it that way?

00:14:05.528 --> 00:14:18.395
And in the space we're in we have clients that move between providers and when we're at a trade show, when we meet up, we're all comrades with the same type of problem.

00:14:18.395 --> 00:14:25.990
But we're also sometimes competitors and I will get other people's code and I'll get to read what they did to solve the problem.

00:14:25.990 --> 00:14:31.272
But you got to never judge another developer by the code.

00:14:31.272 --> 00:14:34.350
It could be, and I've been held hostage by clients.

00:14:34.350 --> 00:14:37.028
You have to get this done in this amount of time.

00:14:37.028 --> 00:14:43.629
Like I'm about to do something I'm going to regret and I've read an apology.

00:14:43.629 --> 00:14:47.282
I've gotten somebody else's code and there was a comment block on top.

00:14:47.282 --> 00:14:49.147
It says client required this.

00:14:49.147 --> 00:14:52.400
This is the only way I could solve this at the time.

00:14:52.400 --> 00:14:56.246
I'm sorry it's their manifesto.

00:14:56.988 --> 00:15:27.351
Yeah, yes, I've seen some of that, but you make a good point and I follow that as well as and I've learned over the years, I never criticize someone else's code because you don't know what you don't know and you don't know the situation that they're in, because we have all gone through situations where you have a requirement and that requirement changes throughout the process, even myself I say you know, okay, we'll just add this one thing, we'll add this one thing, add this one thing, all those things.

00:15:27.392 --> 00:15:31.345
Had you known about them all at the very beginning, you would have done something completely different.

00:15:31.345 --> 00:15:36.629
But you didn't have the opportunity to go back and rework it because some of the requirements may have changed.

00:15:36.629 --> 00:15:43.008
It's not necessarily in the sense of scope creep scope creep because it may have been a requirement one at one point which was completed.

00:15:43.008 --> 00:15:48.176
Then requirement two was to tack or add additional requirements to the first requirement.

00:15:48.176 --> 00:15:56.860
And you don't always have the opportunity to go back and redesign and rework everything because of time, budget, a number of reasons.

00:15:56.860 --> 00:16:00.291
So I try not to criticize.

00:16:00.291 --> 00:16:05.673
There will be a few rare cases where you can look at something and go why were you just doing that?

00:16:06.282 --> 00:16:08.610
yeah, this looks like someone's junior programmer.

00:16:08.610 --> 00:16:10.476
Yeah, someone's just warming up.

00:16:10.476 --> 00:16:11.801
The variable names are garbage.

00:16:11.801 --> 00:16:21.235
Yeah, but for the most part there's a lot of talented people in the space and you know I'll get something and I I start to know names of people I know.

00:16:21.235 --> 00:16:29.376
I know several different groups of initials, like oh, I know, I know this guy, I've seen his stuff before, his stuff is typically good, so why is this crashing?

00:16:29.376 --> 00:16:30.200
And I'll go through and go.

00:16:30.200 --> 00:16:42.682
I bet the customer changed how they do this and you start to know the people in the space and a lot of respect for a lot of really creative people out there that have solved some problems that I might've just said no.

00:16:44.386 --> 00:16:53.625
It is, and with the evolution of the language it gets a little challenging as well, because now each revision or each version of the language that comes out, you have additional functionality.

00:16:53.625 --> 00:16:58.272
So something you may have had to solve even a year ago wasn't in the language.

00:16:58.272 --> 00:17:02.982
So now you look at it and go, oh, you could have done it this way For efficiency.

00:17:03.043 --> 00:17:07.373
I think we had a conversation about that, right, brad, Like where you know, would you go back?

00:17:07.373 --> 00:17:13.847
Let's say you go back a year later and it's something that you had built last year, would you take the time to like, oh okay, I should be.

00:17:13.847 --> 00:17:18.846
Maybe I need to rewrite some of these areas to be more efficient, or do you just leave it alone?

00:17:20.141 --> 00:17:21.041
It should be a list.

00:17:21.041 --> 00:17:23.084
No more temp tables.

00:17:23.084 --> 00:17:23.825
There should be a list.

00:17:24.625 --> 00:17:26.827
Well, I would love to go back.

00:17:26.827 --> 00:17:29.089
I think it depends on where you are and what you're doing.

00:17:29.089 --> 00:17:37.318
I think if you have an application or an extension that you're publishing, you should enhance it obviously over time.

00:17:37.338 --> 00:17:37.799
Yeah, that makes sense.

00:17:38.541 --> 00:17:39.606
For the better use of your customers.

00:17:39.606 --> 00:17:40.982
Customer implementations.

00:17:40.982 --> 00:17:41.766
It's difficult.

00:17:41.766 --> 00:17:43.049
When do you do it?

00:17:43.049 --> 00:17:43.701
How do you do it?

00:17:43.701 --> 00:17:57.266
Because of the amount of time it may take, and it's not just the time being, budgetary constraints, but time for the customer themselves if they have to get involved in testing and user acceptance and all that process too, so it becomes a bigger project.

00:17:57.266 --> 00:18:04.375
That is a good question of when do you do that, why do you do that, how do you do that and should you do that?

00:18:04.375 --> 00:18:05.357
Why do you do that, how do you do that and should do you do that?

00:18:05.357 --> 00:18:12.665
Because it's also to the benefit of the customer and sometimes, if they don't understand, it's almost as if you have video cameras on your house.

00:18:12.665 --> 00:18:14.791
I'll buy a video camera today.

00:18:14.791 --> 00:18:18.107
Wait two or three years, should I replace the video cameras?

00:18:18.107 --> 00:18:19.411
Even those video cameras are working.

00:18:20.200 --> 00:18:20.540
What would I?

00:18:20.580 --> 00:18:21.363
get for it Would I get.

00:18:21.363 --> 00:18:22.546
I get better results.

00:18:22.566 --> 00:18:23.648
I'm just trying to take a step back.

00:18:23.648 --> 00:18:25.232
Someone still has to pay for it, right?

00:18:25.819 --> 00:18:26.964
Would I still get better results?

00:18:26.964 --> 00:18:27.587
Would I get better?

00:18:27.587 --> 00:18:33.173
Would I get better resolution and a higher quality video, or something like that?

00:18:33.173 --> 00:18:42.267
Somebody does still have to pay for it, but how do you equate the, the benefit to the cost, and sometimes it's not so easy.

00:18:42.267 --> 00:18:49.483
So that is a good, challenging question of should you do it and when do you?

00:18:50.144 --> 00:18:50.266
do it?

00:18:50.266 --> 00:18:50.726
And how do you do it?

00:18:50.726 --> 00:19:02.261
Um, you know, swapping out temp tables to lists, maybe you know, on a grand scale, yeah, you'll benefit, but if it's not broken, they're not going to get anything from it right now.

00:19:02.261 --> 00:19:17.167
But then there's some stuff out there that's like hey, you know, there's a lot of new features um apis, going from page-based apis to api 2.0, where they're more stable, you can do the faster read.

00:19:17.167 --> 00:19:19.413
Only there's real value in that.

00:19:19.413 --> 00:19:27.577
We need to move you from using this page as an api to a real api get off the old data.

00:19:28.050 --> 00:19:36.135
I'm thinking about all of this now and it's just really that's a good framing, because if you go back to a lot of these implementations that they have, how you can do some sort of analysis.

00:19:36.135 --> 00:19:43.441
Then again, like you said, if they don't realize the bank, the benefits and gains that they would get from it, what do you do?

00:19:43.441 --> 00:19:49.561
And or do you do it as part of another task when you touch it, as they say so, if you have to go and enhance it.

00:19:50.823 --> 00:19:51.584
It's, it's a challenge.

00:19:51.584 --> 00:20:05.876
It's a challenge and then it becomes challenging to support some of that stuff as the years go on and ultimately you may end up getting forced on some changes to to move as the application and the language which yeah, when we all get the email, this feature's going away.

00:20:05.978 --> 00:20:12.005
Time to catch up those, those, uh yeah, those wonderful emails.

00:20:12.005 --> 00:20:17.180
Well it's, at least if you can get some testing ahead of time, you can try to get in front of it.

00:20:17.180 --> 00:20:19.772
So what are some other uh cool hacking type things?

00:20:19.772 --> 00:20:21.858
Have you done with an al to push it to the limit?

00:20:21.858 --> 00:20:22.621
So you've worked on that.

00:20:22.990 --> 00:20:27.316
Uh, advent, uh the 25 did the advent of code for fun.

00:20:27.316 --> 00:20:48.813
Um, life's been really busy lately to be able to do any other really crazy stuff, but just a lot of the API things have been a lot of fun to use Business Central as the back end to do work for other APIs and other processes, just because it's easy to write code in.

00:20:48.813 --> 00:20:51.257
Just because it's easy to write code in A lot of our integrations.

00:20:51.257 --> 00:21:07.981
We just push data into BC using an API, to a temp table and then have it, since it's such an easy language to do record-based work in, do a lot of our processing over there and just having a work frame like AL is just nice.

00:21:07.981 --> 00:21:24.395
It does record-based work and if that's what you're doing, I mean I'd prefer sequel, but it's a close second well, it is because there isn't many languages I can't think of.

00:21:24.596 --> 00:21:25.538
I don't know every language.

00:21:25.538 --> 00:21:52.365
Obviously it's it's tough to know them all and they seem to come and go and even can create them, but where, like you said, it is one unique thing, where you have a language where it does handle all of the data management for the most part for you and, like you said, it's, it becomes a record based system where you can work with the records and work with the data easily as part of the language, without having to make the connection, pull back the data set and to then manage the data set that way.

00:21:52.365 --> 00:21:58.865
And then it's even, you know, with the ui putting the fields on the page.

00:21:58.865 --> 00:22:00.490
It's so simple now.

00:22:00.490 --> 00:22:03.017
You just have a field and you put it on there and it's magic.

00:22:03.017 --> 00:22:07.337
It works with the data set, the underlying data set so I do like that.

00:22:08.140 --> 00:22:09.383
I like a lot about the language.

00:22:09.383 --> 00:22:11.868
I do see it moving to me.

00:22:11.868 --> 00:22:13.736
It's becoming more and more dot net.

00:22:13.736 --> 00:22:16.647
You know, I wonder almost if you should just rip the band-aid.

00:22:16.647 --> 00:22:24.713
I understand for backwards compatibility and all that stuff over all the years, but eventually do you just, well it does.

00:22:24.713 --> 00:22:28.720
It does get transpiled into c-sharp anyway it does.

00:22:29.000 --> 00:22:29.781
It does in the end.

00:22:29.842 --> 00:22:35.637
And I and I cornered one of the uh, the developers and said why, why can't I just have the rest of mynet and it?

00:22:35.637 --> 00:22:48.863
And it actually came down to performance and stability where if you gave me all the toys, then I would use all the toys and the platform is not efficient for all of that.

00:22:48.863 --> 00:23:21.616
And having a gated set of functions and features means that I won't be doing 40-year transforms in Business Central because I won't have the tools to do it and I won't be tempted to waste the SaaS platform's processing power on something it shouldn't do and that if I really want to unlock it and have all thenet stuff, kick it out to an Azure function and pay for that and and use all the power I want, but don't use it off of their SAS platform.

00:23:21.616 --> 00:23:24.798
And and it makes sense it keeps.

00:23:24.798 --> 00:23:40.674
It keeps us gated, it keeps the mice in the maze where we're doing the things that they can anticipate, they can code efficiencies around and they can make sure we're not going to suck up all the resources by by doing something crazy.

00:23:42.413 --> 00:23:43.269
I understand that.

00:23:43.830 --> 00:23:48.824
I understand having a scaled back version of C sharp.

00:23:48.824 --> 00:23:50.167
I guess you could say or, or AL dot, yeah, or or the site.

00:23:50.167 --> 00:23:50.930
But guess you could say or or AL yeah.

00:23:51.471 --> 00:24:04.010
Or or other sites, but it does seem to be aggressive, which has made development much nicer and easier with it, because some of the tasks that you may have to do and again you can argue it goes back to what you're saying with the calendar, the.

00:24:04.010 --> 00:24:07.461
How complicated tasks would you have to do within an account?

00:24:07.461 --> 00:24:08.413
You know ERP software.

00:24:08.413 --> 00:24:09.497
I'm not saying people haven't done it.

00:24:12.829 --> 00:24:13.574
I'm not saying they're on cases to it.

00:24:13.594 --> 00:24:15.122
So before anybody starts telling me, that, oh, we can do all this complex stuff.

00:24:15.122 --> 00:24:20.317
You can do some amazing and great things, but again, the underlying nature is is business processing and business processing.

00:24:20.317 --> 00:24:23.631
If you need to communicate with other systems, you have the framework for that.

00:24:23.631 --> 00:24:29.977
So it's more of like you said, it's the, it's the record management of the data that you process within your ERP system.

00:24:30.416 --> 00:24:33.359
It's keeping you focused within the application.

00:24:33.359 --> 00:24:41.126
You're not like the full-stack developer where you have to learn all these hundreds of different languages.

00:24:41.126 --> 00:24:43.351
You're just sticking with AL.

00:24:43.351 --> 00:24:51.442
Is there any point in time you think that's going to happen, where you have to eventually learn all the other languages because you can integrate it with other things?

00:24:52.505 --> 00:24:53.045
I don't know.

00:24:53.045 --> 00:24:56.798
My team is mixed so I have two types of developers on my team.

00:24:56.798 --> 00:25:00.599
I've got the AL developer.

00:25:00.599 --> 00:25:02.998
He got a job, he's in IT.

00:25:02.998 --> 00:25:07.297
They bought this new product called Business Central and, look, you can extend it here.

00:25:07.297 --> 00:25:09.356
Here's a manual and the platform.

00:25:09.436 --> 00:25:18.650
Go to it and learned how to develop in al and al is the his, his main language, that's the that goose main language.

00:25:18.690 --> 00:25:27.894
They know al and maybe a little bit of a couple others, but they're they're al developers and they approach every problem with straight al.

00:25:28.696 --> 00:25:58.450
And then I've got other developers that know a dozen or so languages, program crazy things on the side for fun and and do all sorts of stuff and they approach things very differently and it's it's fun to team them together because the, the al developer, will come in records first and then the page layout will be exactly like every other page in business central and and the process flow is is very predictable.

00:25:59.171 --> 00:26:24.940
Based upon that way business central does its stuff, where my, my stack developers that know a bunch of different languages are like well, in c, sharp I would do this and pascal I would have gone this way, and they're looking at it from a bunch of different angles on how to process the data and their layouts come out looking more like windows apps than business central al pages.

00:26:24.940 --> 00:26:29.811
But they've made al do some weird things like yeah, I need a custom control for this.

00:26:29.811 --> 00:26:33.981
And they're just knock one out out in Java because it would look better if they did it that way.

00:26:33.981 --> 00:26:41.804
And it's neat because the unconstrained by language brings different ideas in.

00:26:41.804 --> 00:26:57.505
But then there's efficiencies and concepts and controls from the AL developer and they kind of pull each other to this really neat center of a really innovative solution to a problem, but still very AL and business central friendly.

00:27:00.071 --> 00:27:21.657
You hit something, I think, from my perspective and I just read a book called Range which talked about specialization and understanding which goes back to something with development that I've always believed in is sometimes it's understanding the concepts of what you're trying to do versus the language that you're doing it in.

00:27:21.657 --> 00:27:33.613
And if you understand the concept of what you're trying to do even more so in 2025, you can learn the language that you need or how to say it in the language.

00:27:33.613 --> 00:27:46.403
Similar to, if I went into a foreign country and I didn't know the language, I would be able to learn by being immersed in it somewhat quickly, I would understand what I was trying to say and I would be able to figure out what I was trying to say.

00:27:46.403 --> 00:27:49.118
Maybe not learn the entire language, but at least conceptually I knew logically what I was trying to say.

00:27:49.118 --> 00:27:51.470
Maybe not learn the entire language, but at least conceptually I knew logically what I was trying to say.

00:27:52.671 --> 00:27:54.855
I think it's the same case when it comes to programming languages.

00:27:54.990 --> 00:28:34.384
Again, it's another language, it's a way of speaking, in a sense, and also to your point with what they do, with coming around, and I see a lot of developers that are talented developers in another language or another platform, come into AL and try to do the same thing as you had mentioned some unique and creative ways of trying to solve problems within AL, but without understanding the business application, it creates some more issues, or they think they have to solve the problem with a little more complexity than you need to do with an AL, because AL has the structure to work within the application.

00:28:34.424 --> 00:28:45.280
So in a couple places it goes back to what I'm trying to say is I think understanding the application is extremely important, and how it works, even from the user interface, is what you had spoken about.

00:28:45.280 --> 00:29:02.688
So that way, from the experience point of view and even the flow point of view, you can make sure that you develop within there and then also understand what you're trying to do, versus copy and paste a bunch of code that you see in another function and try to get it to work without really understanding why you're doing what you're doing.

00:29:03.608 --> 00:29:06.458
Vime coding To me the language comes easy.

00:29:07.573 --> 00:29:22.891
It's what we used to see a lot of back early on was a lot of copying paste from some of the the major code units, and you could actually see where somebody maybe took pieces of individual sets of code and put them together and they got, they did work to give them the result.

00:29:22.891 --> 00:29:37.883
But if you analyzed each thing of what the each line of code or what the code was doing, sometimes they were counter, uh, counteracting each other, and it's almost like set a flag, unset the flag, set the flag, unset the flag, and they, they could have reduced it.

00:29:38.817 --> 00:29:39.789
So could have been simpler.

00:29:40.351 --> 00:29:49.842
I do see that where a lot of individuals come in without knowing the application, it becomes a little more challenging a little challenging, and it's.

00:29:52.130 --> 00:29:58.962
I think it comes down to one of the things I chat with my low-code, no-code friends about is, I mean, the language learning.

00:29:58.962 --> 00:30:00.049
Al is a barrier.

00:30:00.049 --> 00:30:19.892
It is more complicated than Power Automate or any of the other workflow tools, but the challenge I don't think and maybe it's because I'm old and gray-beard at this point the challenge is not the language, it's learning how to solve a problem in the environment you're working.

00:30:19.892 --> 00:30:20.973
How do you?

00:30:20.973 --> 00:30:31.923
You know the client says they want this, how do you break their expectations down into things and steps and processes that you can do?

00:30:31.923 --> 00:30:44.553
And I think that's the hardest part of any programming project is not the language and again, that might be because I'm old, I'll accept that, but it's a lot of.

00:30:44.553 --> 00:30:53.113
It is teaching people how to look at a problem and go okay, what's the smallest unit in this problem that we can solve right now?

00:30:53.113 --> 00:30:54.497
What's the first thing?

00:30:54.497 --> 00:30:59.356
Well, the first thing is we're going to need to, and they blurt out the whole problem.

00:30:59.356 --> 00:31:01.221
It's like no, that's the whole thing.

00:31:01.221 --> 00:31:03.051
Again, how about?

00:31:03.051 --> 00:31:04.515
What does the data look like?

00:31:04.515 --> 00:31:05.718
And break down the data?

00:31:05.718 --> 00:31:08.431
Okay, now, what's the flow of the data?

00:31:08.431 --> 00:31:10.858
How does it get in and get out and work it piece by piece.

00:31:11.829 --> 00:31:19.652
Taking a complex problem and turning it into those little pieces that you can code is, I think, the real skill.

00:31:19.652 --> 00:31:23.980
That is the toughest part to learn for any language.

00:31:23.980 --> 00:31:31.301
And once you know how to think like a programming language, then new languages is is not as hard.

00:31:31.301 --> 00:31:36.258
Because, all right, I, I know I need to break down to this piece.

00:31:36.258 --> 00:31:39.383
How do I do it in al?

00:31:39.383 --> 00:31:40.971
How do I do it in lua?

00:31:40.971 --> 00:31:42.473
How do you do it in c sharp?

00:31:42.473 --> 00:31:48.133
That's syntax, but you know you need to find how to get to this, this piece.

00:31:49.234 --> 00:31:53.951
And uh, a friend of mine was was learning lua and asked me to help him learn it.

00:31:53.951 --> 00:32:09.513
I'm like, okay, well, what we're gonna do is we broke it all down in english and we hopped into uh, copilot and asked it how to do each of the little steps in lua and we were able to write the program in like two hours.

00:32:09.513 --> 00:32:17.741
Like I don't, I don't know lua, but I knew how to break down software and I know how to ask the questions and and off we went and it was a.

00:32:17.741 --> 00:32:22.279
It was a whole lot of fun learning a new language by copilot and I.

00:32:22.279 --> 00:32:35.605
I can see how that's going to help a lot of people, but copilot doesn't know how to break the problem down yet, and I think that's the part that people are most challenged with.

00:32:36.471 --> 00:32:37.556
You hit it right there.

00:32:37.556 --> 00:32:42.541
It was similar to what I was trying to say is it's not the language, because you can figure out.

00:32:42.541 --> 00:33:01.750
It's understanding the framework of what you have to work with and then being able to break down and your point of problem solving now that is where the most value is for a problem is how can you analyze the problem, break that problem down and come up with the solutions.

00:33:01.771 --> 00:33:24.359
And you're absolutely correct co-pilot works best with small, bite-sized chunks so it doesn't work so let me ask you this then For people that are coming into AL development that may have a different background on different programming language, yes, it should be easy for them to pick up, you know, understanding the basic of the syntax of a programming language.

00:33:24.359 --> 00:33:40.515
But what happens for those people that are coming maybe a full-stack developer that understands, you know, they have to build the backend framework, frontend framework, all this stuff coming into AL, it's not the language that they're not understanding, but the limitation of, like, the other tools that they can use.

00:33:40.515 --> 00:33:43.544
I think that's where the challenge is.

00:33:43.544 --> 00:33:58.981
You know, and I had spoken to a full stack developer that uses, you know, react and Ruby and all the other languages out there, the modern languages, and they had an opportunity to look at AL and they're like, okay, what else can I do with it?

00:33:58.981 --> 00:34:08.161
And then, of course, they that's where they, you know they get stuck because they're so used to other tools in their tool belt to build something.

00:34:08.693 --> 00:34:12.978
In this case, you're kind of in the confines of what you have on your tool set and that's it.

00:34:14.291 --> 00:34:16.539
Yeah, it's going from free range.

00:34:16.539 --> 00:34:19.559
I can do anything in this language, not that I should.

00:34:19.559 --> 00:34:24.137
You can do a whole lot in React and then you go over to AL.

00:34:24.137 --> 00:34:26.538
You're writing accounting software.

00:34:26.538 --> 00:34:29.378
You don't need to animate anything.

00:34:29.378 --> 00:34:30.391
Put that down.

00:34:30.391 --> 00:34:32.500
There are things you don't need to animate anything.

00:34:32.500 --> 00:34:32.860
Put that down.

00:34:32.860 --> 00:34:38.501
There are things you don't need to do here and the language is not designed to let you do those things here.

00:34:38.501 --> 00:34:40.954
And it's back to.

00:34:40.954 --> 00:34:43.864
I would talk about giving you free range of NET.

00:34:43.864 --> 00:34:56.655
It's not going to give you the resources and the computational power to do it, and we're also going to sell it at a pretty decent price per license because we're not going to give you the ability to do things that are off brand.

00:34:56.655 --> 00:35:00.603
You are doing accounting here and that is all.

00:35:01.630 --> 00:35:13.880
So in that case, if you are someone coming in and again we're always looking for new talent right Coming into the business central development and some of those may bleed from other modern languages.

00:35:13.880 --> 00:35:39.701
So is it fair to say if they were to build a solution, they should also build it with a mindset that it can be consumed by other you know tools or consumed by other, whatever integration language that you're going to use, like for example, you may build a solution where a power automate can consume right.

00:35:41.014 --> 00:35:41.318
Is that?

00:35:41.338 --> 00:35:44.157
something that you should consider as a person, that's building solution.

00:35:45.911 --> 00:35:55.615
When I'm building stuff I like to think about okay, I'm giving them some tables, I'm giving them some pages, Because that's what's in scope right now A couple tables, a couple pages.

00:35:55.615 --> 00:36:07.221
But you know, it's a few minutes to take these key events that happen and turn them into business events, and that lets us fire easily into Power Automate.

00:36:07.221 --> 00:36:15.981
Maybe I'll throw I mean, it's just me working here, but I'll throw integration events in here so that later we can extend and grab on.

00:36:15.981 --> 00:36:28.579
It's nice to think about future, you and the future use cases, especially when things like business events, which are just fancy, fancy webhooks, are almost free to add in.

00:36:30.251 --> 00:36:46.639
When this process finishes, just fire that webhook and then later when the customer says, oh, I really wish I could get an email when this finished, Okay, Go to Power Automate, grab this event, send yourself an email and they're like oh, wow, you really thought that through.

00:36:46.639 --> 00:36:50.878
Yeah, I really thought that through and it gives you that extra bonus thing.

00:36:50.878 --> 00:36:55.518
And then when I find them from others, I'm like ah, that person was thinking about the future too.

00:36:55.518 --> 00:37:12.260
And it's great because we have those abilities and knowing that the language has limits and that I may need to send this out to another package, another product, another tool, set to finish or to do more work.

00:37:12.260 --> 00:37:17.891
Knowing you have those limitations and coding in the ins and outs for it makes everyone's life better.

00:37:19.132 --> 00:37:28.896
But sometimes you just can't because a lot of these projects that we do, we give them a quote but the budget was set before we showed up.

00:37:28.896 --> 00:37:45.059
They know how much they're willing to spend on the project and really we're giving them a quote and then we're going to argue it down to what they were going to spend anyways and make compromises and sometimes that extensibility is the first thing off the table.

00:37:45.059 --> 00:37:50.737
But when I get the chance, it's great to be able to do and then get those benefits later.

00:37:50.737 --> 00:38:01.672
When that extra scope does come up a year later, when they're ready to add in automations and things You've already put the hooks in, that's great, that's a lot of fun and you've prepped it.

00:38:01.713 --> 00:38:28.675
To go to a different language there because, with the application constantly changing and evolving, to have that flexibility, as you had mentioned, to put some of those events in there or to even code it to the smallest possible function and then tack those functions and build them blocks together is their savings in the long run, and it doesn't take much to get into that habit.

00:38:28.775 --> 00:38:29.737
As you had said at first.

00:38:29.737 --> 00:38:38.257
It may take some time to think about it and to do it, but where I got into the habit, that was testing Once you really start getting into automated testing.

00:38:38.257 --> 00:38:54.563
It teaches you or forces you to work with the lowest common denominator of functions and then you just stack those together and building blocks, even if you have to do the repetition as you go through each to be able to have that expansion and to provide the value.

00:38:54.643 --> 00:38:57.273
It's funny that you say the budget.

00:38:57.273 --> 00:38:58.777
They do have a budget.

00:38:58.777 --> 00:39:00.000
I love those conversations.

00:39:00.000 --> 00:39:03.436
There's a budget of what they want to spend, which means what's the value?

00:39:03.436 --> 00:39:04.338
Right?

00:39:04.338 --> 00:39:05.320
I always look at it as the value.

00:39:05.320 --> 00:39:09.577
What's the value to them for what they're looking for, them being the customer?

00:39:09.577 --> 00:39:17.135
And then when you have to give a quote for it, I almost want to say, when someone wants to argue it down, it's almost again.

00:39:17.175 --> 00:39:25.719
If somebody I would say in every episode is like building a house or putting a deck on, if you have to make a compromise, I told you the deck was $2,000.

00:39:25.719 --> 00:39:29.217
If it was $1,000, I would have told you it was a thousand dollars, right?

00:39:29.217 --> 00:39:32.963
So if you want to take a thousand dollars worth of value off, okay.

00:39:32.963 --> 00:39:40.280
Well, now, instead of using trex vinyl, for example, if it's trex vinyl, trex composite, you now have to use wood.

00:39:40.280 --> 00:39:41.362
The wood will rot.

00:39:41.362 --> 00:39:43.996
It can be a cheaper price, but you'll have to replace it long.

00:39:43.996 --> 00:39:47.353
You know you have to replace it sooner than you would have to if you had the trex.

00:39:47.353 --> 00:39:53.784
And that's sometimes the conversation that you have and it does come down to everybody has a value for something, right?

00:39:53.824 --> 00:39:54.605
And all of us do it.

00:39:54.605 --> 00:39:57.800
If I go buy food, what's the value of the food I buy to me?

00:39:57.800 --> 00:40:05.733
I'll pay the value that I think it is, and it's almost like a different conversation when you start looking at the value of it and then understanding the changes that you have to make.

00:40:05.733 --> 00:40:16.632
And it's not, it's not like a negotiation, where you know you come in high, you know with the intention of, okay, well, we can really get it for this, but we're going to shoot for the stars.

00:40:16.632 --> 00:40:18.498
It's always difficult conversations to have.

00:40:19.360 --> 00:40:32.364
Yeah, and I think and you mentioned about like your future self maybe maybe having that conversation of like if it's a PTE or a specific problem you're trying to solve for the client, it's a one-off thing.

00:40:33.251 --> 00:40:35.057
You estimate it and then you build it.

00:40:35.329 --> 00:40:36.976
Maybe you'd add some business events.

00:40:37.630 --> 00:40:53.644
But maybe, from the flip side of that, if you're building an ISV application or something like that, then perhaps consider that so that your solution can be extendable beyond the confines of Business Central.

00:40:54.851 --> 00:41:22.630
In this case, give some love to the low-code, no-code people there in the world where they can then interact with your application and I don't seen that as a practice out there, but it would be easier for the benefit for your clients that are using your app, but also benefit for somebody in there where they can consume it and do something beyond your application.

00:41:22.630 --> 00:41:46.016
I think your application becomes very useful in that sense and just focusing on maybe adding the features that pertains to the business, but the consumption of other areas would be helpful, because there's been times now where we have a client that says, hey, we want to utilize part automate, we wanted to see or trigger based upon a change on this table.

00:41:46.016 --> 00:41:52.532
Well, the list you have is very limited and it may be a table that is a custom table or whatever.

00:41:52.532 --> 00:41:54.936
You have to build that right.

00:41:54.936 --> 00:42:06.143
But it'd be really nice for maybe it's my wish list for all the ISVs out there to consider those for when you're building your application.

00:42:07.751 --> 00:42:12.215
When I talk to ISVs, I usually corner them and say okay, look, here's the deal.

00:42:12.215 --> 00:42:20.516
If you tell me that your product does 100% of everything my customers want, there's either one of two things are true.

00:42:20.516 --> 00:42:25.757
One, you're bloated and way too expensive, or two, you're lying to me.

00:42:25.757 --> 00:42:30.215
One or the other, because there's no way you can do 100% of what my clients want.

00:42:30.215 --> 00:42:34.215
They're diverse, they've got odd expectations.

00:42:34.215 --> 00:42:36.018
They span so many industries.

00:42:36.018 --> 00:42:39.112
You can't make a product that does everything they want.

00:42:39.753 --> 00:42:44.163
So give me a product that does 80 of what they want and a lot of web hooks.

00:42:44.163 --> 00:42:48.358
Yeah, give me business events, give me hooks, I will do the%.

00:42:48.358 --> 00:42:49.320
That's what I'm good at.

00:42:49.320 --> 00:42:53.556
I don't want to write a warehousing product.

00:42:53.556 --> 00:43:06.333
I don't want to have to maintain an entire warehousing product, but I'll write the 20% that turns your warehousing product into their warehousing product and get the most benefit out of it.

00:43:06.333 --> 00:43:09.641
And then you don't have to deal with all of the weirdness.

00:43:09.641 --> 00:43:12.458
Right, the best 80% you can.

00:43:12.458 --> 00:43:14.516
And then give me the 20.

00:43:14.516 --> 00:43:21.916
And and that's where people like us all shine yeah, like, this works almost like I want it to.

00:43:21.916 --> 00:43:23.059
I got your fam.

00:43:23.059 --> 00:43:24.094
What do you want it to do?

00:43:24.094 --> 00:43:31.672
And if they've got all the hooks in there, then we set it up and we make it do what they want and the customer's really happy.

00:43:31.731 --> 00:43:58.146
We're only dealing with this little 20 that we tweaked and and the and the isvs got the other 80 and, and those types of relationships work great yeah, it's, it's a series of isvs that do that yeah, it's spot on, because there's been times where, like this function doesn't, it doesn't exist in this ISV, and then, whether you have an opportunity to extend that or if you don't, you send an email to the ISV and say, hey, maybe add this on your future release.

00:43:58.146 --> 00:44:15.898
But if you create some other events where they can consume for example, even as simple as notification that Power Automate can consume, that you don't need a developer, that a power automate can consume, that you don't need a developer A client can go ahead and just consume it or extend it using power automate for their whatever use they need.

00:44:16.510 --> 00:44:26.380
It's not something that you should, maybe don't care about, but giving that power back to the end user it's powerful, Makes your product much easier to handle.

00:44:27.530 --> 00:44:33.793
Yeah, and I got ISVs that I'll send an email to hey when I get to right here I need an event and sometimes they'll send back going.

00:44:33.793 --> 00:44:35.757
Oh yeah, that's the on before.

00:44:35.757 --> 00:44:36.398
Blah, blah, blah.

00:44:36.398 --> 00:44:39.284
Great, thank you, I'm going to go use that.

00:44:39.284 --> 00:44:41.012
Other ones, it goes okay.

00:44:41.012 --> 00:44:43.375
Next release we're doing a release in a week.

00:44:43.375 --> 00:44:44.817
Watch for the event.

00:44:44.817 --> 00:44:46.077
Good, thank you.

00:44:46.077 --> 00:44:49.742
And be able to hook in and do the things I want to do.

00:44:49.742 --> 00:45:06.195
And that type of the ISV relationship in this space is great, because they're typically really open to listening to us down here on the ground saying I don't want you to add this to the product, that would be crazy, but I need it.

00:45:06.195 --> 00:45:10.664
So can I have a hook or an event or something to do this?

00:45:10.664 --> 00:45:13.496
And they're pretty receptive about that.

00:45:14.679 --> 00:45:15.021
They are.

00:45:15.021 --> 00:45:20.181
A lot of them have been very willing to help again.

00:45:20.461 --> 00:45:20.802
Some less.

00:45:23.550 --> 00:45:26.780
Thankfully I haven't had to run into too many challenging ones.

00:45:26.780 --> 00:45:28.333
I think everybody wants to be.

00:45:28.333 --> 00:45:31.041
You know it's the benefit of everybody.

00:45:31.041 --> 00:45:32.215
Rising tides raise all ships.

00:45:32.215 --> 00:45:34.637
I want to jump for a little bit.

00:45:34.637 --> 00:45:37.157
So you worked with GP before.

00:45:37.197 --> 00:45:37.539
Yes.

00:45:38.530 --> 00:45:41.139
Can you develop with GP or in GP?

00:45:42.351 --> 00:45:49.179
GP has its own language called DEX, and it's my least favorite language.

00:45:49.179 --> 00:45:52.778
So as a company we did virtually no decks.

00:45:52.778 --> 00:45:53.851
We farmed it all out.

00:45:53.851 --> 00:46:06.036
Uh, at one point gp tried to do a dot net wrapper to let me write uh, gp forms in dot net and they looked almost like gp and that that didn't go anywhere.

00:46:06.036 --> 00:46:14.251
Uh, most of our work was uh fiddling with stored procedures and sql triggers to to do more math.

00:46:14.251 --> 00:46:18.820
Um, there was a couple tools called extender that let you add fields.

00:46:18.820 --> 00:46:30.135
Um, it was very, I want to say, dirty, because a lot of times you're just in the stored procedures or watching for insert events on sql tables to do automations.

00:46:31.096 --> 00:46:36.083
It was challenging and we still have lots of clients on GP.

00:46:36.083 --> 00:46:47.063
The migration is slow, so I still get lots of calls to work on it and it's challenging when everything you do is outside the product.

00:46:47.063 --> 00:46:58.510
So you're attaching on SQL, you're using extenders and things, but you're not a first class extension unless you're in Dex.

00:46:58.510 --> 00:47:07.061
And even when you're in Dex, loading in these dictionaries they're called, they kind of just bolt onto the side just barely.

00:47:07.061 --> 00:47:15.684
And then moving over to something where BC, where all extensions are treated equally, you have parity across everybody.

00:47:15.684 --> 00:47:19.376
It's totally different.

00:47:19.376 --> 00:47:21.438
I can do anything the big boys do.

00:47:21.438 --> 00:47:34.284
In fact, we have the big boys code, so if they're doing it, we can look at how they did it, and it's very, very different and very constraining on the GP side.

00:47:34.751 --> 00:47:36.577
I've talked with GP users.

00:47:36.577 --> 00:47:45.856
I haven't really talked to anybody about the GP development or extension to get a full understanding of how you make enhancements to it, so it seems even from the transition.

00:47:45.856 --> 00:48:05.340
So not only would you get a product that's a full if you were to move from GP to Business Central, you also have the ability of the flexibility again, where you have an application that would have 80% of what your business needs and that last 20% which may give you some uniqueness or specialty for your individual, specific business.

00:48:05.340 --> 00:48:11.880
It's much easier to get there and maintain and move forward than it sounds like it is within GP.

00:48:13.411 --> 00:48:25.557
Yeah, there's a point in the conversation when we're moving people over and we're starting to do their data migration, it's like, oh, you used these two user-defined fields for these values, what are they for and where do you want them in BC?

00:48:25.557 --> 00:48:30.653
And they're like, oh well, this is the customer remote account number or whatever.

00:48:30.653 --> 00:48:32.940
Okay, so you need a remote account number.

00:48:32.940 --> 00:48:34.262
What else do you need?

00:48:34.262 --> 00:48:39.077
Well, we have another Excel sheet where we keep track of what system it is.

00:48:39.077 --> 00:48:42.974
Do you want me to put remote access system on the customer record?

00:48:42.974 --> 00:48:47.619
And their heads explode Because, like, wait, you can just add that field.

00:48:47.918 --> 00:48:53.018
Yeah, do you have other data about this customer that you're keeping scattered, as my grandmother would say, from hell to breakfast?

00:48:53.018 --> 00:48:54.760
Do you have other data about this customer that you're keeping scattered, as my grandmother would say, from hell to breakfast?

00:48:54.760 --> 00:48:58.239
Do you have scattered data that you would like here?

00:48:58.239 --> 00:49:02.619
And there's Excel sheets that come out of nowhere of.

00:49:02.619 --> 00:49:10.237
Here's all this other data we keep about our accounting system, but it doesn't fit inside GP, so it's over here in this Excel sheet.

00:49:10.237 --> 00:49:26.010
It's like, oh well, I'll just add those fields and we'll just import that data and automatically we transform their business just by getting rid of an Excel sheet of poorly managed data and putting it right inside those types of constraints.

00:49:26.010 --> 00:49:28.155
When they go away, they really change how a business works.

00:49:28.155 --> 00:49:29.880
It's a lot of fun.

00:49:30.590 --> 00:49:32.380
What's the biggest constraint?

00:49:32.380 --> 00:49:35.994
I know there's been apprehension of moving from GP to BC.

00:49:35.994 --> 00:49:37.998
What is the typical one?

00:49:37.998 --> 00:49:49.030
One that I've heard is typically a customization that's unique, and trying to replicate that in Business Central may not be viable or maybe too expensive.

00:49:49.030 --> 00:49:49.552
I don't know.

00:49:49.552 --> 00:49:51.076
I'm just curious from your perspective.

00:49:51.076 --> 00:49:55.818
I've never worked in GP, either, in passing, but never done anything beyond that.

00:49:56.590 --> 00:50:04.362
Well, I mean, gp is 40 years old and it does lots of things in a very GP way.

00:50:04.362 --> 00:50:14.239
And moving those processes into the BC world, I mean GP is segment accounting and BC is dimension accounting.

00:50:14.239 --> 00:50:31.411
There are different ways to think about and work your data and if your business has been influenced by the way GP does things, then you have to change the way you do business because BC is a different way of doing things and it's.

00:50:31.411 --> 00:50:38.456
Most people don't think their accounting package has dictated how they run their business, but it does.

00:50:38.456 --> 00:50:47.742
If it is more work for you to put data in a certain way, then you will find a way to put it in that's easier and your business will constrain itself to that methodology.00:50:48.971 --> 00:50:56.311


And then, being 40 years old, there's lots of-ons to gp that the companies don't exist anymore.00:50:56.311 --> 00:50:57.574


I can't.00:50:57.574 --> 00:50:59.159


I can't get that customization.00:50:59.159 --> 00:51:00.543


It's not there.00:51:00.543 --> 00:51:11.804


And it was like there's some really big ones that haven't moved to bc, probably are never going to move to bc and um that's.00:51:11.804 --> 00:51:18.481


And moving those specific clients over is very difficult because there are tools that just don't exist.00:51:19.610 --> 00:51:24.400


Yeah, and they would have to be rewritten, or hopefully an ISV exists.00:51:24.610 --> 00:51:25.673


At some great expense.00:51:25.673 --> 00:51:27.440


Yeah, and it would be expensive.00:51:27.972 --> 00:51:29.789


And the customer pays for that right.00:51:29.789 --> 00:51:45.304


It's not like someone has a deep pocket that can recreate that solution, and you do hope that there's a ISV or an add-on on the app source that would partly replicate that.00:51:45.304 --> 00:51:53.143


But there's always going to be a little bit of effort to somehow get that to work or maybe even change a business process because of that.00:51:53.143 --> 00:51:56.159


So I think that's where a lot of challenges.00:51:57.771 --> 00:51:59.056


And that goes for any system.00:51:59.056 --> 00:52:16.277


When we pull people off of QuickBooks and they have to follow a more strict rule set Business Central rules are more strict than QuickBook rules, a lot of it dealing with the fact that business central is multinational.00:52:16.277 --> 00:52:22.677


You can do things in QuickBooks that's not legal in Europe and so there are more rules.00:52:22.677 --> 00:52:42.003


Pulling someone from NetSuite or any of the other great accounting packages, there's nothing wrong with them Intact is cool but they all have rules, they all have limitations and they all dictate a bit of how you do business by those limitations and those features.00:52:42.003 --> 00:52:48.679


I do it this way because NetSuite does this really well and it streamlined my business by doing this.00:52:48.679 --> 00:52:57.677


If BC does that a different way, you're going to have a hard time switching and I'm not going to rewrite BC to make it into NetSuite.00:52:57.677 --> 00:52:59.601


That's just not how we do.00:53:01.951 --> 00:53:09.460


Yeah, there's so many of those right where they're coming from another ERP, going to Business Central, and it's like I want it to work just like that one, just like this.00:53:11.610 --> 00:53:14.420


And a lot of times those folks are coming over by acquisition.00:53:14.420 --> 00:53:17.956


They got bought parent company's on BC.00:53:17.956 --> 00:53:19.460


You're getting on BC.00:53:19.460 --> 00:53:23.217


They don't want to do it, so they'll find a reason not to.00:53:24.090 --> 00:53:33.802


And that sometimes is a risk during implementation is, if somebody's saying that they can't do something or they need something, really validate why they need to do it that particular way.00:53:33.802 --> 00:53:47.735


In some cases, it could be from a self-imposed limitation, or a limitation that was within the previous system or a previous process, or even the size of the warehouse they were in at one particular time, and they just came up with a process that you had to follow with.00:53:47.735 --> 00:53:54.510


It's challenging, it's challenging, uh, it's.00:53:54.510 --> 00:53:55.391


It's challenging it's challenging it's.00:53:55.411 --> 00:53:55.512


It's.00:53:55.512 --> 00:54:07.690


We can go all over the place with this, but to think about the development with, with an al, from the from the al development point of view, do you ever take a look at when to develop, when to extend versus when to use the base functionality?00:54:09.313 --> 00:54:10.996


that's always a challenge.00:54:10.996 --> 00:54:13.320


I'm a developer, I'm paid the right code.00:54:13.320 --> 00:54:16.539


So a lot of times when I turn to my client go, you know what?00:54:16.539 --> 00:54:18.269


You should just download this extension.00:54:18.269 --> 00:54:21.940


It's free, you should just do that one.00:54:21.940 --> 00:54:25.572


It breaks my heart a little because I would like to write the cool code.00:54:25.572 --> 00:54:38.405


That's kind of what I'm paid to do, but at the same time it's the customer's best interest and that's a part of being the gray beard is, when I was younger I would write code for everything.00:54:38.405 --> 00:54:45.103


And now you know you said get older and you're like I don't want to maintain code for everything.00:54:45.103 --> 00:54:47.052


That's a that's.00:54:47.052 --> 00:54:57.233


That's a lot of extra work and clients hate paying for you fixing things that broke that they didn't break if it doesn't bring value.00:54:58.074 --> 00:55:02.831


Um, the the big wave updates when something changes and I have to do a fix.00:55:02.831 --> 00:55:05.858


They're not getting any new features from me.00:55:05.858 --> 00:55:08.452


But I have to go fix something that microsoft broke.00:55:08.452 --> 00:55:10.375


They hate that.00:55:10.375 --> 00:55:14.923


And the the more code I put out there, the higher tech debt there is.00:55:16.010 --> 00:55:20.742


So I want to extend when it brings the most value to the client.00:55:20.742 --> 00:55:32.358


I want to use base functionality when I can and use off-the-shelf things that I can buy and leave that tech debt with somebody else to manage when it's applicable.00:55:32.358 --> 00:55:36.112


And again it's back to that 20%.00:55:36.112 --> 00:55:48.259


I would like to be able to use the core and then pick up modules from reputable ISVs for 80% of the stuff the client wants to fill that gap.00:55:48.259 --> 00:55:55.880


And then I'm only developing 20% and that comes down to tech debt.00:55:55.880 --> 00:56:00.097


Like insight works, they've got a huge package.00:56:00.097 --> 00:56:07.657


That's a lot of tech debt, but it's one deployment and when it breaks they fix one thing that impacts a thousand clients.00:56:08.800 --> 00:56:15.659


If microsoft breaks something and it's in all of my extensions I got to go fix it on every single client.00:56:15.659 --> 00:56:30.097


They recently renamed a function and if you were copying reports, you know back in BC, 15, 16, there was no report extension.00:56:30.097 --> 00:56:38.016


So if you need to change a report, you copy the report, you'd paste it and you change the number and then you'd edit the report.00:56:38.016 --> 00:56:41.041


Dark, dark days, those were um.00:56:41.041 --> 00:56:54.215


So all the reports that were modified that way had a uh a function in it that microsoft decided that it should be the full name, not not this crazy short name, and I had to go find it.00:56:54.215 --> 00:56:58.621


It was in 26 of my clients that we copied that report for.00:56:59.063 --> 00:57:00.164


You're talking about the language.00:57:01.105 --> 00:57:05.355


Yeah, yes, language is not allowed.00:57:05.355 --> 00:57:09.362


I had to go find and change it to CU language in everybody.00:57:10.204 --> 00:57:16.576


Yeah, language was one of those ones that.00:57:16.576 --> 00:57:20.228


That was just a recent update that they got anybody, like you said it would copy the reports over.00:57:20.228 --> 00:57:23.414


I saw that and uh, sequence template template sequence.00:57:23.615 --> 00:57:24.297


Template sequence.00:57:24.297 --> 00:57:27.503


It was sqnc, now it's sequence like the full word.00:57:28.271 --> 00:57:35.172


That bit me in a couple yeah no, it's interesting to see some of, uh, some of how this evolves and, like you said, you made some good points.00:57:35.172 --> 00:57:43.242


You know the tech, that where you can manage it in one location, in one place, and it also provides a very better value for the implementation as well.00:57:43.242 --> 00:57:52.597


Like you said, you don't have all these little offshoots off, uh, all these little crazy extensions yeah, to do some certain things my team would rather solve the weird problems.00:57:53.460 --> 00:57:54.362


They don't want to.00:57:54.362 --> 00:58:00.998


You know, the easy stuff that there's something I can get off the shelf really well doesn't help the client.00:58:00.998 --> 00:58:02.735


It doesn't excite the team.00:58:02.735 --> 00:58:10.936


If you've got a team that's excited by sitting with the client talking through a challenging problem and finding a neat solution, that's a great team to work with.00:58:10.936 --> 00:58:19.545


And having them do weird little things where there's already packages to solve them, that that's no fun.00:58:19.545 --> 00:58:19.885


You want to.00:58:19.885 --> 00:58:23.740


We didn't get in this, this development career, to to be bored.00:58:23.740 --> 00:58:27.974


We wanted to play with the latest technology, solve challenging problems.00:58:27.974 --> 00:58:28.393


We want to.00:58:28.393 --> 00:58:29.596


It's kind of fun.00:58:29.596 --> 00:58:31.438


We're broken people that that's what we do.00:58:31.438 --> 00:58:46.635


And uh, being able to have the, uh, the, the, the opportunities to do the neat projects that that comes from staying out of the things that have already been solved yes, thank you.00:58:46.836 --> 00:58:51.702


Well, that's okay, but i'm'm with you on it's.00:58:51.702 --> 00:58:52.143


It's always.00:58:52.143 --> 00:58:53.125


What I say is it's.00:58:53.125 --> 00:58:55.114


It's.00:58:55.114 --> 00:58:59.856


When everyone says they try to do this cool thing and they don't want to hold onto it to where they're maintaining it forever.00:58:59.856 --> 00:59:10.940


For me, I've always had the mindset I'll teach someone to do it because then I can go off and do the cool things and it's like you said right there don't waste your time doing the things that have already been solved or there's a way to solve it easily.00:59:10.940 --> 00:59:42.197


Worry about focus your time on doing the things that are challenging and not challenging, because you're only doing the things that are challenging, but value and spend your time where it's needed and if something hasn't been solved, if you have something complicated to work on, work on that versus, like you said, creating entire warehouse implementation software package when there's some that are already available that you can extend, which is nice yeah yeah, and I don't know if we're broken I don't know, I'm gonna, is everybody else broken?00:59:42.498 --> 00:59:43.278


I I got.00:59:43.278 --> 00:59:45.543


I have a stack of board games behind me.00:59:45.543 --> 00:59:48.355


I've got weird electronic things happening back there.00:59:48.355 --> 00:59:58.253


That crazy orb, right, right there is actually changing colors and patterns based upon the online status of my team members.00:59:58.253 --> 01:00:07.275


It's connected into teams and it just the patterns on the ball change based upon their uh, their availability.01:00:07.655 --> 01:00:10.603


That's very cool it just sits there why do you do that?01:00:11.833 --> 01:00:13.378


uh, that's the kind of broken I am.01:00:13.938 --> 01:00:21.282


Okay, yeah, I didn't know if you were doing it just to see if somebody was online or if they were offline, or you just wanted to tinker.01:00:22.034 --> 01:00:23.429


It started as a Christmas project.01:00:23.429 --> 01:00:30.603


I made a wreath that had all the lights on it were different team members on the wreath, because what is the holidays without a little bit light?01:00:30.603 --> 01:00:31.965


Stalking of your coworkers?01:00:31.965 --> 01:00:41.976


And it was behind me and and changing colors and I spent a lot of time doing it.01:00:41.996 --> 01:00:42.318


So I I have that.01:00:42.318 --> 01:00:43.523


See, that's the stuff I want to talk with you about.01:00:43.563 --> 01:00:52.318


I want to do that cool stuff yeah, it's like all these side projects, it's not just, it's not just business central right right, no, that's, it's all side projects.01:00:52.378 --> 01:00:59.664


That's um, there are a bunch of lights called a neopixel and there's a um, a board called an esp32.01:00:59.664 --> 01:01:09.454


There's a little microcontroller that's hooked on my wi-fi and I've got a companion app on my computer that gets everyone's team status and sends it over to it the companion.01:01:09.474 --> 01:01:10.617


Did you write the companion app?01:01:10.617 --> 01:01:15.393


Yep, okay, actually did you do this with, like that raspberry pi?01:01:15.393 --> 01:01:16.516


I was reading but I say you can't.01:01:16.516 --> 01:01:20.135


I can only do so many things, but I would like to have some of those cool things.01:01:20.135 --> 01:01:22.101


Is that board similar to, like those raspberry pies?01:01:22.972 --> 01:01:24.474


the pie is a whole computer.01:01:24.474 --> 01:01:26.277


This is less so.01:01:26.277 --> 01:01:28.402


It runs a block of code.01:01:28.402 --> 01:01:30.838


You can write code and it runs that code.01:01:30.838 --> 01:01:36.478


It doesn't have an operating system like you would with a desktop, and this actually came out of covid.01:01:36.478 --> 01:01:39.465


Um, the kids were home from school.01:01:39.465 --> 01:01:50.936


I've got meetings so I had hung two lanterns outside because my wife works from home too, and the lanterns were hooked to our team status and if we're on calls they return red.01:01:50.936 --> 01:02:01.250


That way when the kids came terracing down the stairs wanting snack or something, they'd see two red lights outside and stop and go back upstairs.01:02:01.510 --> 01:02:02.893


See, that's a practical use.01:02:02.974 --> 01:02:15.684


I like that, and that way you don't have to worry about turning it on and turning it off so it's kind of like the on-air light and they were outside our offices so that the kids would know what our status is.01:02:15.684 --> 01:02:16.853


That's something.01:02:16.934 --> 01:02:17.436


I want to do.01:02:19.451 --> 01:02:21.217


It's on my GitHub if you're looking for it.01:02:21.217 --> 01:02:22.355


The whole project is there.01:02:22.550 --> 01:02:22.731


Which?01:02:22.731 --> 01:02:28.400


The Teams one or the light, the Team light or the?01:02:28.400 --> 01:02:30.309


I'm on a call light, or are they all on there?01:02:30.389 --> 01:02:39.378


Well, the on-the-call, it's just the teams like watching one channel where that guy is, the teams watching everybody's channel.01:02:39.378 --> 01:02:43.670


So it's just a matter of who, who you want to light.01:02:43.670 --> 01:02:45.557


Whose status goes to which light.01:02:45.557 --> 01:02:48.358


So you put your status being all of them.01:02:48.358 --> 01:02:52.996


So I could, I can, set it to my status, which would turn it all red now.01:02:52.996 --> 01:02:55.657


So it went all red on the background there.01:02:55.657 --> 01:02:56.893


I can't see it.01:02:56.893 --> 01:02:59.135


Yeah, it's red, it's kind of blown out.01:02:59.135 --> 01:03:01.617


Or I could set it to Dottie's status.01:03:01.617 --> 01:03:14.974


Well, she's free Now it's all green, that is fascinating Brad, maybe I'll do that for you I like this.01:03:15.034 --> 01:03:15.614


Are you available?01:03:15.614 --> 01:03:18.639


I could just look back I like that.01:03:19.541 --> 01:03:20.643


No, I see that that's.01:03:20.643 --> 01:03:25.403


And now it's going back to the work pattern that is hilarious.01:03:25.423 --> 01:03:27.012


That is some of the cool side projects.01:03:27.012 --> 01:03:28.556


Right to be able to do those see.01:03:28.576 --> 01:03:30.039


Those side projects are cool.01:03:30.039 --> 01:03:31.891


That that is like I said.01:03:31.891 --> 01:03:36.842


But there's only so many things you can do with technology and everything going around it's.01:03:36.842 --> 01:03:39.193


I find it's hard for me to want to read.01:03:39.193 --> 01:03:48.056


Sometimes I feel like I have to go outside you know, and then, and uh, it's just a touch grass for a minute yeah01:03:49.219 --> 01:03:57.849


you don't have grass down there, I have grass oh, you have grass and then I do things with 3D printers and lasers.01:03:57.849 --> 01:04:00.358


Have you ever been to a makerspace?01:04:01.737 --> 01:04:03.246


yes, I have been to a makerspace.01:04:03.246 --> 01:04:11.594


My son is on makerspace and that's fun to see so yeah, brad, it's like a gym for nerds.01:04:11.835 --> 01:04:17.056


Instead of having weights and swimming pools, it's ours has got a wood shop, a metal shop.01:04:17.056 --> 01:04:17.958


Uh.01:04:17.958 --> 01:04:22.673


3d printers, laser cutter engravers it's got all that stuff?01:04:23.536 --> 01:04:24.496


where is that?01:04:24.496 --> 01:04:36.193


You don't have to get my mine's a mile up the street, but they're, if you, if you look for maker spaces near me, also called hacker spaces um, they're different ones.01:04:36.193 --> 01:04:38.400


They're they're usually community-based.01:04:38.400 --> 01:04:39.443


Um.01:04:39.443 --> 01:04:41.971


There's another one in next town over.01:04:41.971 --> 01:04:47.963


They're more electronics and, uh, auto body, they have a, they have they vehicle lifts.01:04:47.963 --> 01:05:00.976


Uh, there's one north of us, near the theater district in in manchester, um called um, let's see, make it in nashua manchester makerspace.01:05:00.976 --> 01:05:13.797


They do a lot of theater, a lot of props, a lot of a lot of work like that, because they're near a theater, so their space is very theatrical houses in a school, so it's super educational, focused it's.01:05:13.797 --> 01:05:22.704


It's a lot of fun and all these places let you get in on tools that my wife won't let me buy that's, I heard of it.01:05:22.744 --> 01:05:46.818


That's why I asked, because I've heard of one around there and I remember talking with them when they were trying to put it together, because they were looking for funding to help because they wanted to go with the educational portion of it, which I agreed with, because any place where you had that's what I was asking about, because they had a memory of that with seymour and someone was looking for funding because then they would allow local you know, local school-age children to come use the services so that they could learn different things.01:05:46.818 --> 01:05:50.635


So that's why I was asking, I was just wondering if it was the same one yes, it was make it.01:05:50.675 --> 01:05:53.081


Labs in in Nashua has done some really cool stuff.01:05:53.101 --> 01:05:54.083


They're a fantastic group.01:05:54.083 --> 01:05:55.396


Yeah, that's the one that I was referencing.01:05:57.289 --> 01:05:59.117


Makerspace is amazing, especially for young.01:05:59.117 --> 01:06:07.262


I know my son is doing he was doing Lego robotics, and so they get a lot of funding from local tech companies like STEM, things like that.01:06:07.262 --> 01:06:10.717


So you know you are welcome to do, even as an adult.01:06:10.717 --> 01:06:12.601


So you know you are welcome to do even as an adult.01:06:12.601 --> 01:06:13.864


So you know, get to learn all of that stuff.01:06:13.864 --> 01:06:24.536


So it's great to see them build something and then have a Lego robot solve problems with some of the obstacles that it has to go through, which is very, very fascinating.01:06:24.536 --> 01:06:25.835


And, of course, it gets them started on.01:06:25.835 --> 01:06:30.260


You know programming, language and you know developing those things.01:06:30.260 --> 01:06:30.942


Pretty cool.01:06:32.351 --> 01:06:34.391


My son was learning how to mig weld.01:06:34.391 --> 01:06:42.219


He's got a mig gun that sparks flying everywhere and I hear him giggling under the mask as he's melting metal and having a blast it's great.01:06:42.539 --> 01:06:46.253


Had I known marcel was so close and into all this stuff, I wouldn't have moved.01:06:46.253 --> 01:06:52.134


Yeah you're welcome back anytime, I'll be back, don't you worry, I'll be back.01:06:52.134 --> 01:06:53.721


Uh, yeah't you worry, I'll be back.01:06:54.489 --> 01:06:58.516


I missed the get-together last time because it just kept moving around and I wasn't able to.01:06:58.516 --> 01:06:59.539


No, I understand.01:07:00.971 --> 01:07:02.577


We'll definitely get it during the next trip.01:07:02.577 --> 01:07:05.876


But no, I have to be back with some more permanence.01:07:05.876 --> 01:07:08.516


New Hampshire will always have my heart.01:07:09.471 --> 01:07:10.677


If you're up on a Thursday.01:07:10.677 --> 01:07:14.731


We have Makerspace open house every thursday from 6 30 to 9.01:07:14.731 --> 01:07:25.760


Come on by and we'll uh, we'll cut some stuff with a laser that's so cool I want to make a team thing, okay, or something I want to make something.01:07:25.780 --> 01:07:26.661


I don't know.01:07:26.661 --> 01:07:29.119


I don't know if I wanted to get into that, to get into the raspberry pi.01:07:29.119 --> 01:07:31.893


I was trying to think of like some cool practical uses or something I could do.01:07:31.893 --> 01:07:33.898


Maybe I'll have to like tie it to business central somehow.01:07:34.139 --> 01:07:38.603


I don't know there's a thing called a pie hole that you can make it's.01:07:38.603 --> 01:07:39.907


It's a one-day project.01:07:39.907 --> 01:08:02.425


You can order your pie online and what it does is you plug it into your network and you set it as your dns, and when web pages pop up that have ads, it sends the ads into a black hole so they don't show up on your screen, and it sits back in my network cabinet, plugged into the network, and all my computers in the house are ad-blocked through the pie hole.01:08:03.311 --> 01:08:06.219


It's a one-day project Google it Pie hole.01:08:08.054 --> 01:08:08.416


P-I-H-O-L-E.01:08:08.416 --> 01:08:09.197


I'm going to look at it.01:08:09.197 --> 01:08:11.030


Pie hole I thought your pie hole was something like that.01:08:11.030 --> 01:08:12.612


I always heard of piehole being a mouth.01:08:12.652 --> 01:08:13.693


Yeah, you're putting your piehole.01:08:13.693 --> 01:08:17.555


No, it drops all of the ads.01:08:17.555 --> 01:08:19.117


It does a great job filtering.01:08:19.117 --> 01:08:28.323


It doesn't get 100% but for no load on my computers it does a great job of toning down all the ads online.01:08:29.204 --> 01:08:38.202


I will have to look that up and see what I can do with that and I'll definitely next time I'm in the area if it fits on the Thursday evening have to come to this maker.01:08:38.951 --> 01:08:39.632


And the weather's nice.01:08:39.773 --> 01:08:40.595


Well, maybe you have to be.01:08:40.595 --> 01:08:43.773


Is it better when the weather's nice or better when it's cold and miserable?01:08:46.738 --> 01:08:56.257


It's in a school and as such there is no air conditioning in the summer because the school is not technically open, so it gets hot in there.01:08:56.550 --> 01:08:59.458


So yeah, cooler days are better.01:08:59.458 --> 01:09:03.060


Okay, that's what I started to think about the time of the year, because I know how it gets in those.01:09:03.060 --> 01:09:09.336


I'll definitely have to go through that, and then we'll also have another get together the next time in the area, and we'll try to not do it on a Thursday.01:09:09.336 --> 01:09:10.219


It just worked out.01:09:10.219 --> 01:09:17.038


You know how the schedule is when you try to get several people together.01:09:17.038 --> 01:09:19.104


Well, marcel, thank you for taking the time to speak with us today.01:09:19.104 --> 01:09:22.375


I look forward to speaking more with you and I have to check out that Advent thing.01:09:22.395 --> 01:09:26.895


I know we spoke with that some months ago as well because unfortunately, you know, sometimes the year gets a little bit busier.01:09:26.895 --> 01:09:28.399


But now it does.01:09:28.399 --> 01:09:35.854


Things are freeing up where I'm going to have a little extra time to do some fun things, so we do appreciate you taking time to speak with us.01:09:36.618 --> 01:09:37.460


Thank you for having me on.01:09:37.460 --> 01:09:38.101


It was a blast.01:09:38.250 --> 01:09:38.671


It's always.01:09:38.671 --> 01:09:40.878


We couldn't do this without an individual such as yourself.01:09:40.878 --> 01:09:57.953


If anyone would like to learn more about Makerspaces, about some of the cool teams that you can do AL Development, gp, business Central, all the cool nerdy things you do, or even rocket science what the cool nerdy things you do, or even rocket science.01:09:57.974 --> 01:09:59.518


What's the best way to get in contact with you?01:09:59.518 --> 01:10:04.270


Uh, you can find me on linkedin it's marcel chabot or you can find my blog at aardvarklabsblog and, uh, I post educational content, makerspace stuff, there, uh, almost weekly.01:10:04.270 --> 01:10:11.734


Um, I have some bigger projects in mind that will probably slow that pace down, so stay tuned to see what I'm, uh what I'll be working on there.01:10:12.516 --> 01:10:21.337


And next time we'll have to get get into how the odd rock labs name came, because when I saw that with you months ago I was trying to figure out the relationship.01:10:21.337 --> 01:10:22.676


Who comes up with an odd park?01:10:22.676 --> 01:10:23.917


So?01:10:23.979 --> 01:10:30.242


there has to be something you got to make it to the top of the list, man Hard bark.01:10:30.261 --> 01:10:30.903


That's actually.01:10:30.903 --> 01:10:35.511


It's aardvark, that's actually it.01:10:35.511 --> 01:10:43.532


When I was uh, when I, when I used to play uh games on the local local, the lands, local area network gaming days, um, I was never sorted first by a score, but first alphabetically.01:10:43.532 --> 01:10:47.539


Yeah, there you go, aardvark is what I put on and it just.01:10:47.539 --> 01:10:53.701


You know, 30 years later, I like to throw aardvarks and things Still on the top of the list.01:10:53.701 --> 01:10:56.077


Still top alphabetically.01:10:57.430 --> 01:10:58.932


Thank you again, sir, for speaking with us.01:10:58.932 --> 01:10:59.493


We appreciate it.01:10:59.493 --> 01:11:00.135


I'll talk to you soon.01:11:00.576 --> 01:11:03.301


Take care, sir, Talk to you later Ciao ciao, thanks Bye.01:11:04.502 --> 01:11:11.814


Thank you, chris, for your time for another episode of In the Dynamics Corner Chair, and thank you to our guests for participating.01:11:11.875 --> 01:11:13.417


Thank you, brad, for your time.01:11:13.417 --> 01:11:16.921


It is a wonderful episode of Dynamics Corner chair.01:11:16.921 --> 01:11:20.386


I would also like to thank our guests for joining us.01:11:20.386 --> 01:11:26.100


Thank you for all of our listeners tuning in as well.01:11:26.100 --> 01:11:38.019


You can find Brad at developerlifecom that is D-V-L-P-R-L-I-F-E dot 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.01:11:38.019 --> 01:11:52.873


You can also find me at Mattalinoio, m-a-t-a-l-i-n-o dot I-O, and my Twitter handle is Mattalino16.01:11:52.873 --> 01:11:54.979


And you can see those links down below in the show notes.01:11:54.979 --> 01:11:56.322


Again, thank you everyone.01:11:56.322 --> 01:11:59.412


Thank you and take care.

Marcel Chabot Profile Photo

Marcel Chabot

Software Development Practice Manager

I’m a creative problem solver who applies his skills in the Microsoft Dynamics space and the management of one of the most talented teams I’ve ever had the pleasure to work with. I like to incorporate both the latest technology as well as the “grey beard” skills I’ve honed over decades of software development.

When I’m not in the office or hanging out with my family, I’m at my local Makerspace working with CNC machines, laser cutters, 3D printers and other tools of wood and metal work. There are Makerspace all over the country, and I encourage everyone to check one out.