1:29
Hi everyone, welcome back to C Sharp Corner live show
1:56
I'm your host, Stephen Simon, and we are back with another episode of Coffee with Pros
2:00
And if you're someone who is joining us for the very first time, we do live shows every day at 10 a.m
2:06
Eastern, almost like we stream eight days in a week. And just a quick reminder that on Mondays, we do Azure AI show where we talk about the entire offerings that Microsoft provides and the entire ecosystem in the AI
2:18
Then on Tuesday, we talk about product showcase and Coffee with Pros
2:22
And today we're going to talk about Code Factory, which is a pretty interesting tool
2:27
And I have pretty amazing guests to talk about Code Factory. So we'll get there
2:33
And then on Wednesdays, we do the C Sharp Corner MVP show where we invite community leaders
2:38
talk about their community contributions, how they started it. Again, 10 a.m. Eastern
2:43
Then on Thursdays, we have C Sharp Corner AMA, Ask Me Anything
2:47
We are well over 30 episodes. and it's a show where you can go ahead and ask questions to the guests followed by technical
2:53
sessions and and pretty pretty famous among the developers then on fridays we have good
2:59
method show that's why mahishan who talks about how you can go ahead and uh talk about more like
3:06
career perspective don't just go in your entire life and go go ahead and do something else too
3:11
uh then then we also have rocking the code world with dotnet dave i think he is at episode number
3:17
15 or 16 and he brings uh dotnet developers or the leaders from uh from microsoft community and
3:25
that's also pretty pretty famous uh uh show too so apart from that we also do virtual conferences
3:31
quite a lot shows definitely so today we're going to talk about code factory and i was just looking
3:35
at the website i'll drop a link if you if you just want to go ahead and know a little more about
3:39
code factory you can always go to their um where did i put it yep code factory dot software if i
3:47
If you just go ahead and land on their website, they just clearly say that CodeFactory is an extension to Microsoft Visual Studio 2019
3:55
focuses on enabling more efficient design, assembly, testing, refactoring, and maintenance of .NET solutions
4:04
I mean, pretty much they do everything, and they really help. This software helps you to build app solutions faster, much better
4:14
following best practices. And to talk more about it, let me go ahead and invite our guests, Bill and John
4:20
Hi, everyone. Welcome to the live show. Hello. I'm doing good. I'm doing good. Thank you
4:26
Thank you so much for accepting the invitation. I'm really excited to know more about Code Factory
4:31
But before we do that, let's go ahead and take a quick introduction
4:35
starting from John, about who you are and what you do to our live audiences
4:41
Sure, sure. My name is John Hedda. I'm one of the principal owners and creators of Code Factory
4:50
My personal background is I've been doing, I've started in app development back in the 90s
4:58
So I guess I've been doing this for a couple of decades now
5:02
So I started in web development and then worked my way forward, you know, the typical career path and building into team leads and enterprise architecture
5:14
I've spent my entire structure in Microsoft, so pretty much VB, SQL, C Sharp, kind of that whole arc of code
5:28
So that's my, in a nutshell, that's my background. And I come from a technical background from coding and team lead perspective
5:37
Bill? Sure. Yeah, I'm Bill Finken, also one of the principals of CodeFactory
5:44
We are also part of a company called Lifecycle Delivery. And so how we kind of arrived at why we wanted to build CodeFactory is just that as we worked with a lot of companies
5:52
we found that there was a lot of inconsistent approaches to how they would design software
5:58
And sometimes creativity is justified. You're solving a specific problem, but when it comes to plumbing code, where you want common, consistent, repeatable techniques used, we found so much variety
6:10
It was just a real challenge for a lot of our clients. So we kind of put our heads down and figured out, can we build some tooling that runs inside a Visual Studio to kind of make that an easier experience for people
6:22
Yeah, so that's great. So now everyone who's joining us, we're going to talk about Code Factory today, and we have already taken this name like three to four times
6:30
and starting maybe with Bill, you can go ahead and answer it. What is actually CodeFactory
6:35
He did talk about some best practices, tooling and all that, right? What is actually CodeFactory
6:39
I've shared the URL, but how can you go ahead and explain it simply
6:43
maybe in two sentences or two? Sure. At a high level, it's a native extension that runs inside of Visual Studio
6:50
and it allows you to work with your code to extend it, refactor it easily
6:57
to implement common methods for rounds checking, error logging. I mean, just any type of real common repetitive plumbing code
7:07
you can auto-generate and regenerate quite easily. And so the goal is to kind of do that within the tooling
7:13
that people are already using, Visual Studio. Okay, okay, makes sense. Makes sense
7:18
But John, do you want to add something over there? Well, yeah, there's two basic scenarios as we've used it
7:24
and we had other people use it to Bill point it an extension inside Visual Studio So at a low level for the technical folks listening in it is a service that will read your code
7:38
So right now it's C Sharp. So if you have a C Sharp code base or really any kind of Visual Studio solution
7:47
it will read that and generate a model for you. It's just as simple as that
7:52
So all of your interfaces, classes, methods, properties, attributes, hope it is modeled that then you could write code to
8:00
To Bill's point is what we have used it for, we found the most success over is a pattern implementation, right
8:09
Error handling, for example, is one of those common things that everybody says
8:14
ah, you must do error handling. But somehow it's oftentimes find out that that's the thing
8:20
that people falls to the wayside first or logging. Logging is a great one
8:25
We should all be logging all the time, every place. So with something like Code Factory, you can go in there and you could add that
8:35
you know, add those patterns in. It gets a little more complicated once we get a little further in the conversation
8:40
But yeah, mechanically, that's what the service is. That's what it's doing for you
8:44
Okay, so that sounds pretty promising from a direct perspective. but you know bill and john if i go ahead and think of this uh there are already tools available
8:54
online they were already there guys were using it right so why did why did you guys come out with
8:59
this new tool code factory and how is it different than all out there all right i'll take a first
9:06
crack at it and bill you can you can back me up to fill in the blanks where i uh get going a little
9:11
too fast here. It honestly, it spawned out of the fact, remember what I said, when I came out
9:19
of being a senior dev and took on team lead, went into enterprise architecture, right? One of the
9:25
things that we found is that particularly when you bring on new people, either new people to a
9:31
project or juniors, people that are new to professional development, it's not necessarily
9:38
writing code that's the tough part. It's the design. It's the patterns
9:42
Why do you do this? Why is error handling so important? Why is maintenance and architecture so important
9:51
So the reason we wrote Code Factory the way we did and why it's different than other places is that
9:58
one, the code base and the patterns have shifted over time. So like I said, I've been doing
10:06
this since the 90s when bandwidth was very very limited right and we went through the first round
10:12
of the browser wars so everything shifted to go to a more server side centric way to write
10:19
applications particularly web applications put as much code up into the database put as much code
10:24
into the server you can you've got thin client compute nowadays of course for example with blazer
10:31
it's it's going the other way right we're now putting more code and putting more logic we're
10:36
putting more capability up to the edge. So first is we didn't want to come across and understand that this was the one true way to write all code
10:48
So that's one kind of major difference is that a lot of code generators and they're not bad
10:54
They're just that's the approach that they've taken is that when we're going to write code, we want to write a service
11:00
This is the way they wrote it. This is the way that this is their implementation of a service endpoint
11:06
This is their implementation of logging. This is their implementation of insert thing here
11:11
So that was kind of one of our chief design principles is that we didn't want to be in a position of telling everybody that this is the way you must write code
11:20
Not to mention, which is that we didn't think we could possibly have a grip on all the different kinds of code that people had written
11:29
So when you look at a migration scenario, which our tool can do
11:33
because since we give you a model of your own code base, it's pretty arbitrary
11:40
It could be a small website. It could be web forms. It could be ASP
11:45
It could be a thick client app. It doesn't really matter. The pattern is what is important
11:54
So exception handling is going to be largely the same across the board
12:01
The way you talk to a service is going to be largely the same. But there's nuances
12:09
So when we wrote Code Factory, that was the big thing. So what we've done is we've created the platform that reads, generates
12:19
the object model, hooks into Visual Studio. So you've got events. You can right click
12:23
You can interact with it. You can build a screen for yourself. And then we've opened up the actual template development so that we provide some base templates so that people look at it and take what we have
12:35
And that's how to get up. That's one of the links I think we've shared. Or you can write your own
12:41
So if you don't like the way we've done it, you don't like the way we've implemented logging, for example
12:46
You have your own special logging framework that is important to your client and your stakeholders
12:52
Fantastic. You should totally do that without having to worry about what we think or why it's good or not
12:59
So the primary difference, I think, is that it's a general purpose tool and that we're not enforcing our set of patterns or rules on the way you implement your code
13:12
Right. So nor can we anticipate what kind of changes are going to come down the road, you know, in six months that you might want to go in that path
13:23
John's point, you know, we're kind of setting this up for people to use the work we've put up on GitHub as reference work
13:30
Use it if it works as the way you want it to. Great. You can extend it
13:34
But you can also learn how to use the authoring tool to write your own automations. Right
13:39
So there's been interest from a number of community members who've said, well, can it do this
13:44
Sure, let's talk about that. And we can take some of those questions in our GitHub makerspace where we've got room for people to pose ideas like would it work for
13:54
Well, for instance, one of the guys we work with did a WCF to GRPC utility
14:01
So sure, yeah, that's something that we can do. And so to John's point, you know, it's really less, you know, we're really proud of the authoring tool that we've built
14:10
We think that it really is solid. But the content is really, that's where the value is, right
14:18
And before I, sorry, interrupt a little bit, but one of the core takeaways, one of the, probably one of the largest takeaways, the differences between the tool we wrote and other stuff, is that Code Factory is entirely design time
14:33
We don't require, we're not putting any kind of assemblies or insertion post build or any kind of interpreters or aspect oriented into your code base where you have to take a dependency hit on any of our assemblies
14:49
It's entirely design time. So you can use Code Factory to generate you know 12 15 100 lines of code compile it build it through Code factory you know turn it off put it away And your code is still your code
15:05
You've written the code, you've put it together. So that's probably, from a technical point, one of the other big takeaway differences, right
15:15
Yeah, that's well said. Yeah, so that definitely covers the, you know, how it is different from the other tools
15:22
And that's well answered. So, you know, John, you did mention a couple of times about code generation, right
15:29
You did mention about code generation. So what do you think? What are the actual benefits, both for the short term and long term for the design code generation
15:37
What do you think? What strikes you first? Well, there's a couple of things
15:41
One is, believe it or not, it's as simple as standards, right
15:46
It's going back to a standard, whatever that standard is, right? You know, there is kind of these industry accepted standards on how to write a service or how to write exception handling or logging, you know, kind of these general purpose
16:02
But what we're trying to do, particularly in, you know, kind of professional land when you're not at home building the next cool widget, right, is you're not building code for myself
16:14
I'm building it for the next guy down the road, right? so when i organize and build my code base i want it to be readable understandable and easily
16:24
maintainable one not just so that i don't have more gray hair personally that falls out and get
16:30
frustrated but two for all of my clients whether i'm a consultant or whether i'm a full-time
16:36
employee somewhere it's cheaper to maintain right it's not it's it is a much easier way to
16:44
handle the software. So primarily when you look at, you know, kind of the takeaways
16:50
long-term benefits, when you go to code generation, you're going to be enforcing a set of standards
16:55
right? So example, if all I do is, all right, we're just going to stick with exception handling
17:01
and logging, for example, right? What I'm going to do is I'm going to write my code and then I have
17:07
a code automation come and right click, boom. It's going to put in all of my code exception
17:12
handling and all of my logging, right? Well, now I know that all that is implemented the same way
17:19
right? On my logging, on my enter, my exception, on my guard code, all of those things are done
17:25
And they're done, you know, the way I quote about, you know, the architect or the design lead
17:32
says they're going to be. So that when you go down the line, you've got, you know
17:38
a real assurance that the code is going to behave the same
17:44
And anybody else looking at the code, whether it's me or the employer or the stakeholder later down the line
17:51
is going to be able to see the same thing. Second is probably performance. In this one, you know, I use the word probably on purpose because you could design yourself into poor performance
18:05
even with standards if you're not careful. But let's assume that you know what you're doing
18:12
You've designed a highly performant system or subsystem using code enforcement or an automation tool to adhere to those standards is a really
18:24
really good way to make sure that the code is always going to perform. And .NET particularly is one of those odd tools
18:34
and I'm going to speak in a general sense here, but it's one of those odd tools that less code doesn't mean better performance
18:43
It is one of those odd things that sometimes more code, sometimes a lot more code will, in fact, give you a higher performance
18:55
So those are probably the two big takeaways when you go into code automation
19:02
is one is that I can enforce a set of standards so that I know that the code is compliant
19:10
particularly if you've got some SOX compliance or MARZ compliant, whatever your application has
19:19
And two, it's going to be highly performant. Third is one of those things
19:25
it's kind of an outtake from those two others, which is that training, believe it or not
19:34
because forcing you to go through the exercise, okay, I'm going to use code automation
19:39
and it's going to, for example, do all of my exception handling code
19:48
Well, then that means I can bring in somebody who's relatively new, who doesn't understand the proper way
19:54
to do exception handling, or might be new to the language. And now they've got a really easy crutch
20:02
I can automate that part until a couple, three months down the road
20:07
and they finally get their feet underneath the ground and they understand what's going on. But this is the proper way to do logging
20:13
This is the proper way to do exception handling. Okay. Yeah, that's good
20:18
So right now we have talked about Code Factory, about some of the benefits
20:23
design time for generations. We've had an overview about this tool and what it does actually
20:29
Let's go ahead and actually talk about this tool itself, right? Its platform
20:34
So if anyone of you can go ahead and talk about the different components it has
20:38
how should one go ahead and use it to just give you an overview about this tool itself
20:43
May it feel like John, anyone? Sure. Well, there's two main components
20:47
There's the runtime, which is the extension that is installed into Visual Studio, right
20:54
And then there's an SDK, which is just a Nougat package you can download
21:02
And those two things allow you to build and take advantage of everything inside of CodeFactory
21:10
The runtime is responsible for reaching down into Roslyn, because that's what we've done
21:17
We're doing real-time model generation of your code. So if you've got a file in your solution or project, we'll pick it up, compile it
21:31
Well, we browse and we'll compile it. We'll pull the object out and present it back to you
21:36
That's all the runtime. The SDK is responsible for doing the wire up
21:42
So we allow you to, we've built in the features so that you can interact with the solution explorer
21:50
So if you want to put a new command, for example, in one of the examples that we've put out there that web forms to Blazor
21:58
where you just right-click on a project and you say, migrate. We pop up a dialog, and that dialog is just a WPF control
22:05
There's nothing really magical about it. Believe it or not, underneath the covers, Visual Studio 2019 is WPF
22:12
So pop it up, ask a couple questions, and then we run the execute
22:18
We run the command. right where we do all the migration for you
22:23
or migrate a single file so between those two things those are the actual only components that exist The third part of that I implied it
22:39
but let me be clear. We've got the runtime, got the SDK. The two of those, you build what we call a template
22:46
or a CFX package. That CFX package contains all of your personal automation, right
22:52
And it is literally, it's a CFX extension. It lands in the, you know, your bin folder, right
23:00
When you're done building the template. That thing, just you pick it up and drop it in the root of your solution
23:06
So if you've got a target solution or you want to put it, you know
23:09
that automation in one project or one solution and maybe not another
23:15
that's what kind of allows you to get away from that. You move that around and then that's it
23:21
So the runtime, when it opens up your solution, we'll see if there's a CFX file there
23:27
If it is, it'll pick it up. It'll register your commands and events, and your automation's ready to be used
23:33
So all this happening, John, do we have any system requirements for it
23:38
I mean, any minimal requirements for that? Yeah, Visual Studio 2019. That's it
23:43
Yeah, that's pretty much it right now. It's underneath the covers. It is, in fact, you know, .NET standard, .NET core, because, you know, this has to do with Visual Studio and writing extensions for Visual Studio, where Visual Studio is still being, you know, 32-bit, you know, parts underneath the covers
24:04
But no, there's no other rules outside of that. If you want, you know, we give you the ability to read any file, whether it's C-sharp or not, in a target solution
24:18
So you've built a template, you've put it in a solution. And, for example, you know, it might be a fair question for people to ask, well, Webforms to Blazor, an ASPX file doesn't have C-sharp code in it, right
24:31
Fair enough. Well, we still give you the file. We just can't give you a model against it
24:37
You still have the ability to go in and modify whatever that text is and, you know, manage it and re-admit it and migrate it, do whatever it is you want to do
24:48
Matter of fact, we implemented HTML Agility Pack, I think, for people who know what that is, right
24:59
I think we pulled that down so that we could read it and get an object model off the ASPX file
25:05
and then that just goes out there and you can do whatever you need to do
25:12
C Sharp is the only language right now that we're supporting where we will give you a compile off Rosem object model
25:19
we've looked at doing some others and it's kind of on the roadmap
25:24
but it really depends on what people are looking for so for example TypeScript
25:29
I know is one that people would love we'll have to see
25:35
how many people ask for that versus not Java, there's no reason you
25:41
couldn't do that any of them that have some kind of compiler that will emit an
25:49
object out of it, we can get to eventually on the roadmap, we just start with C sharp
25:55
because that seemed to have the largest audience and the largest number of people to
25:58
begin with maybe your background too with microsoft that's why you started with c-sharp
26:04
well yeah yeah exactly yeah and also we've written it in such a way we haven't yet it is
26:13
kind of a you know one of those cool want to have depending on adoption and how how people
26:19
take to the tool is you know maybe we look into putting it in code some long-term ups code but
26:26
Right now we're tied to the project system. IDE. Yeah, the IDE
26:33
Yeah, we're kind of hooked into the IDE of Visual Studio. So as long as you get Visual Studio 2019 or later, you're good
26:43
Okay, perfect. So it sounds like you don't have a short-term, you have a long-term plan
26:47
You can also go ahead and move to Java or anything, right? That this tool can be extended and you do have plans about it
26:52
So that was kind of first half about the show. So we really did talk about your technical aspects, what tools are needed, how it's better
27:00
how you can go ahead and take leverage of it, system requirements. Now let's move towards the second half
27:05
And for the guys who are joining me today, today we are talking about Code Factory
27:09
And I have with me Bill and John. And we have talked about the first half
27:13
Now we'll move to the second half. And we'll see how people can go ahead and actually leverage the community and resource
27:20
out there. And Bill, I'll reach out to you. And let's talk about some of the community that Port Factory provides and people can go ahead and utilize that
27:30
Sure. Sure, Simon. So as John alludes a moment ago, really, we acknowledge that, you know, we built the tooling that's going to do the authoring and allow you to consume authored templates
27:41
But the templates themselves is really where the rubber meets the road. Right. It's it's there's so many different scenarios out there
27:48
And in fact, one of the links in that link tree that you shared earlier is kind of a makerspace page where we set up a makerspace page where, yeah, community projects
28:00
If you want to just pop that one open, the fifth one down. There you go. That that that project or that page, rather, is intended to kind of spark the juices
28:12
Right. So people can look at it and say, oh, well, here's a bunch of different scenarios that we might want to tackle
28:19
And so given that, you know, we really want to extend ownership of these of these ideas out to the community, because that's where, you know, people will bounce something off
28:31
They'll refine it. They'll adjust it. And then, you know, we get real buy in with just a broader community than just us sitting on top of the hill saying, you know, do it this way
28:41
Right. Now we've got examples in there. The first couple links towards the bottom under the help wanted section
28:48
You know, we've we've already built one for migrating Web Forms to Blazor as kind of a sample project
28:53
People can look at that. They can extend that. They can fork the project and just go off and do their own thing with it
29:01
Right. Same with WCF to GRPC. But you can see there's a handful of other bullets completely unrelated to Web Forms or to WCF
29:11
Right. There's you know, if you've got some old teller tells controls that you want to either update or you want to put some new custom ones in from logistics or, you know, some other some other vendor
29:22
Right. You want to find, replace and then reconnect all the wiring behind those controls
29:28
Those things are very manageable within Code Factory solution. And so our goal is really, especially for this call
29:37
the C-sharp corner community for us represents just a huge number of people
29:42
that have great ideas and are willing to kind of take on open source projects and
29:47
put their signature, put their mark on it, right? And so within the website itself, we've got tutorials
29:57
If you look on the support menu, The top that has links to the video tutorials
30:05
There's a bunch of like, how do I, why should I, when can I use this feature
30:09
Why shouldn't I use this feature? All of that is kind of we've got a handful of those started
30:14
Also in the link tree, our YouTube channel is provided so people can subscribe
30:19
And when new content becomes available, they can quickly be alerted to that
30:26
Right. And so another, you know, link within that was over on GitHub
30:32
Right. So the GitHub space is designed to allow people to kind of throw up their own questions
30:39
And, you know, what this is this is kind of the home page for for the product
30:46
And then if you go up to the repos section on this at the top of this page, you've got
30:53
Let's go to up one more at CodeFactor. Up at the root. Yep, there you go. And then we've got some pinned repositories in here, but the public projects repo is kind of designed to elicit dialogue, right? Just, hey, what about this? Could I do that? And let the community kind of weigh in on the types of templates they think would be useful
31:17
So open source approach, we just believe, again, I think, you know, to John's point earlier, a lot of automation tools are very useful. We use a lot of automation tools ourselves, right? But the challenge becomes when you want to do something differently than the author of that tool intended. And so we really recognize there's a lot of creativity out there that can, you know, participate in the building process
31:42
or they they've got yeah it's it's that it's the middle 80 percent right as long as you live in the
31:51
middle 80 percent you're awesome you know anything on the the beginning 10 and last 10 uh life is
31:58
more difficult so that's where we think code factory has an answer you know it's outside at
32:03
10 percent uh you know if there's just not an automation out there that fits because you've got
32:08
a weird dependency weird you've got a dependency that you know doesn't fit or is non-standard in
32:16
some other way or perhaps a really old technology this is an answer you can you can write up an
32:22
automation template and you know go to town you know at that point it's just it's just code right
32:28
right okay so so bill and john when you guys go ahead and encourage people to go ahead maybe
32:34
contributed, right, and help you with that, is there any way you encourage people to, by avoiding
32:40
something, or maybe through a recognition, is there where you guys do it? Well, so a couple of things
32:46
that's a great, great question, Simon, thank you for asking that, so, you know, eventually, right
32:51
at the moment, what we're doing is making a commercial license available for a community
32:56
And so eventually the CodeFactory product will be sold commercially. At the moment, what we're doing is we're basically building out a community of users
33:06
And so we'll have a special offer at the end of the call
33:10
You can share the link where people can go and download CodeFactory But our goal is to make sure that as people are contributing to that GitHub public projects repo we want to recognize those people
33:24
give them credit for the work that they're doing. In some cases, people will monetize those templates
33:31
They'll figure out how to solve a project and they'll use CodeFactory to go build tooling
33:35
for their customers. And we want them to do that without any obligation to us
33:39
We're not along for that ride. We give them the engine and the chassis and where they drive that car is completely their decision
33:49
But the sample code that we've provided is really intended to let those people see how to build automation
33:56
And then as they build theirs, on one of the public project links, we've got a list of all these other people that are contributing to Code Factory open source automation and linking to those projects where they've got them hosted on GitHub
34:09
And the goal is to, for those contributors, we'll make sure they have continual free access to the licensing
34:16
So when you want to publish to projects, you know, and make them open source, we want to encourage that and put no obstacles in front of those people
34:23
So at a certain point, though, you know, as as larger entities, organizations, corporations want to use Code Factory, obviously we need to we need to commercialize it at some point
34:34
And so but that's, you know, that's down the road at the moment
34:37
Our main goal at the moment is to get lots of great content out there, open source, where people can learn from one another, much like the C Sharp Corner is designed to do
34:47
It's all about kind of sharing ideas and sharing techniques. And so we're excited to be part of this call today and also to welcome that C Sharp community into the Code Factory open source community so we can really start getting some good input from your community
35:05
yeah yeah so so guys just go ahead and check out this code factory.software and they have this
35:10
uh that very nice build website where you can find all the resources bill and john have been talking
35:15
about uh they have tutorials guidance help github documentation so you can find everything over
35:20
there and the best part if if you just don't have time just watch the very first video on the line
35:25
landing page it will give you a very good idea about what this tool is and how you can go ahead
35:30
and get started and what are the possibilities you can do with it i'll quickly i'll quickly like to
35:34
spend a couple of more minutes with john and i'll ask him about the the templates that you provide
35:39
right the template is already there right that that's more like an awesome template so i suppose
35:45
that that template has all the best practices uh all the key things that should encourage can you
35:50
talk a little more about that so people who are watching can get a little more idea yeah absolutely
35:55
i think the one probably to focus on is that web forms to blazer that's up on on github
36:01
we've gone to some one it's kind of a cool idea right taking the web forms app it's something we
36:08
worked with Jeff Fritz on because he's you know in that space a lot so we built this to take a
36:16
web forms and you know just convert it over into a blazer server right but for people who click
36:25
into that on github and take a look at we've documented it we've put all kinds of just you
36:31
README documentation you can click through But we also taken pains so that when you actually open up the code um and look in the actual source code we commented it well probably
36:43
like you're supposed to but we you know people would probably call that excessive you know comments
36:48
nowadays but we've commented everywhere we could we could think of to make sure people understood
36:53
exactly what was going on. And, you know, it's also a real good candidate
36:59
because it uses pretty much most of the functionality. It's got, you know, a couple of dialogues
37:06
So people can build, you know, we show you how to build a dialogue, right
37:09
And here's what it looks like in the XAML to build your own customized dialogue
37:13
and, you know, pop a screen for people. It uses, you know, the code models
37:21
so that when you go pull up the logic app, some kind of middle tier or server-side code
37:28
it'll do that. And we also show how to build in third-party apps
37:33
like the HTML Agility Pack, which we used. That's a freebie NuGet package, right
37:39
So when we built the template, we just take the dependency. It gets compiled up and sent out
37:46
So it's a real, real good candidate. There are a couple others people can look at
37:51
out there. There is a core automation for ASP.net, which is really more about pattern and standards
37:58
enforcement. It's not a migration scenario, so if you're doing greenfield work, that'd be a good
38:03
place to look at. Common delivery framework, a couple of those. If you look down, I think there's
38:10
the WCF to GRPC is one that's not panned. You kind of have to scroll down a little bit to get to it
38:18
But exactly like what it says, it'll take a WCF service and convert it, right
38:25
Okay. So, yep. Yeah. So really anybody can go in here, grab those, you know, pull a clone down, and assuming they've got the license, build it and use it, right
38:39
Okay. That's pretty cool. I mean, we did talk about this GitHub and code, you know, and, you know
38:45
I think many people are watching now and when we go and put this on C sharp on
38:49
our platform where millions of people would watch over time. So people, people from community would also like to go ahead and create content
38:56
Right. They're very meaningful to go ahead and maybe create content. They look at their platform
39:00
They feel like, okay, I can let me go ahead and do something on my own. Is there any way they can reach out to code factory to all to you, Bill
39:08
and then you guys can help out with the content because people like to do videos they write right articles blogs right so any possibilities with that absolutely i think
39:19
there's uh our email uh on the website obviously first of all but uh probably the fat one of the
39:27
fastest ways is on any one of these probably just go with the main code factory repository if you
39:32
were to hit the issues or contact you know we're you know that's going to be one of our primary ways
39:38
to interact with the community right off the bat. We just leverage into the to the GitHub
39:45
Okay. Back and forth. But yeah, definitely. Or our contact information here on the site you can reach out to either one of us We be happy to talk to you Okay perfect So I think we are almost on time Before we go ahead and close you know
40:00
we did cover the entire ecosystem, right? We did talk about everything with the community and also
40:04
the tooling background and how you can go ahead and use it, some of the best practices and what
40:08
are the offerings that you guys provide. Anything last but started with you, Bill
40:13
you want to go ahead and anything else you want to say? Sure. Well, as I mentioned, we do have a
40:18
promotion for the C-sharp corner community. Yeah. Promo page. That's a, it's a landing page
40:25
that's set up in that link tree. And basically what it is, is it's a six month trial subscription
40:33
You know, normally 30 a month once we start charging for this, but the goal is to, we're
40:37
just really all focused on just getting people to download it and give it a try. We've got
40:42
GitHub linked up to alert us whenever anyone reports an issue or a question on one of the
40:49
discussion boards. So basically, they would just click the button that says request trial license
40:54
They'll get prompted to put in their name. And then they get directed to a kind of a setup page
41:00
where they can download the app, put in their license key and start playing with the product
41:06
so yeah that's very interesting and that's very nice of you and we've got
41:11
as you can see on the bottom we've got the at the bottom of that page there's our GitHub link
41:14
LinkedIn link Twitter you know follow a lot of this to kind of keep current
41:19
when we publish news about anyone's cool new template that they've put out there
41:23
we really want to make sure and acknowledge the people that are contributing to the
41:27
to the pool of of automations that we think people have good ideas for yeah
41:34
that's very nice of you I mean guys just go ahead and grab this link and if you in any case let me say are we going to put this
41:40
link also on the article that we post on c-sharp corner that will be there you can also go ahead
41:44
and find this link over there so that's very nice of you guys thank you so much for sure yeah and
41:50
john any any any last words you want to add no i think i've said all the important parts i mean
41:58
i think i like i mentioned when we were chatting before the stream started off it it can get a
42:03
little meta it can get a little writing code that reads code to write code yeah it can get a little
42:09
deep so uh if anybody's got any questions or concerns just you know reach out to us through
42:14
here or through github or or however we'll be happy to happy to help walk you through it
42:20
all right so that that was a great session thank you john and thank you bill uh we're definitely
42:24
gonna go and encourage the community to go and try this tool uh it's pretty it's pretty fantastic
42:30
they also give you this uh free six months trial so there's no loss just go and grab this offer
42:38
and uh make the best out of it and if you like it go ahead and contribute too i mean there are ways
42:44
you don't have to just buy it you can go ahead and contribute too so uh thank you so much bill
42:48
thank you so much john thank you so much for your time we really appreciate for all that you do for
42:52
the community and would love to have you back whenever you are available or when you want to
42:56
to go ahead and add any more features on the platform, we would love to go ahead and talk
43:01
about that. So thank you so much and have a good day. Absolutely. Thank you very much
43:07
Thank you, Simon. Take care