Enhancing .NET Development: Visualization Tools and Open Source Contributions - .NET 194
In this episode, they dive deep into the world of development tools and open-source contributions. They explore the unique benefits of JetBrains' Rider versus Visual Studio, highlighting Rider's compatibility and extensibility across platforms. They also discuss how Stack Overflow's evolving landscape, influenced by tools like GitHub Copilot and chat GPT, impacts developers' careers. Special guest Giorgi Dalakishvili joins us to share his impressive 16-year programming journey—from utilizing C++ on Microsoft’s .NET framework to mastering C# and building robust desktop and mobile applications. Georgi offers valuable advice for aspiring open-source contributors and shares insights on his preference for Visual Studio, starting from version 2005.
Show Notes
Socials
- LinkedIn: Giorgi Dalakishvili
Picks
- Adam - x64dbg
- Christian - Beverly Hills Cop: Axel F (2024)
- Shawn - Ring Camera Outdoor
Transcript
Hello, everyone, and welcome to yet another edition of adventures in dot net. I'm Christian Mintz, one of your hosts. I'll I'm back after a a longer vacation, which was still too short if you ask me. And, actually working while I was away is my friend, Adam Fermanek. Hello, everyone.
Thanks for tuning in. And, Sean will probably join us later today as well. And we have we have a very special guest, today, Georgi Adalakisvili. Hello, Georgi. Welcome to the show.
Thrilled to have you here. Oh, and thanks for inviting me to the show. Yeah. Thank you for making it. So, one of one of the things we are, of course, always, interested in is, since we are adventures in dot net, what what brought you to dotnet?
Yeah. So it's, quite an old story already, I guess. I started programming 16 years ago, as a I mean, after university. So, so in university, I was learning, c plus plus so I I don't remember how, but I I ended up on, Microsoft's, implementation of c plus plus and, and back in that days, say there was, a version of c c plus plus that ran on dotnet framework. It was called, c plus plus CLI.
So because, I was more or less familiar with say, c plus plus language, I ended up using, c plus plus, the y, the dot net version of, c plus plus. And I remember that, when I was, looking up examples and documentation and things like that on MSDN or for the dot net library, I I was by default, I was always getting on the c sharp page, on the c sharp version of that plus. So so, I decided to check it out. What's this c sharp sync, and why why why am I getting there by default? It must be some cool language if if I'm getting if I default in instead of c c plus plus.
So So let me let me because I I was not, that familiar with c+ CLI. On on I still remember on my last, last day of of university, you know, I I put my hand on on the holy book, which, of course, is the art of computer programming, by Donald Knut. And, I I made a few, you know, promises for my future career. And one was to only very rarely touch touch Java from from now on because there was lots of Java in university. And, I mean, that was super modern.
Right? I mean, other universities at that time had, you know, some some some really some really old vintage stuff there. And, the second thing I promised was that, unless they forced me, I would never touch c or c plus plus again because, you know, I just I I kinda hit a wall. Right? I I saw my limitations there.
And and therefore, you know, my my personal dot net journey, you know, started with bb.net, right, and csharp.net. So I had I could skip the hard parts. Right? I just couldn't answer it. So so c+.netcli was the basically, you had the c+ syntax, but you could leverage features from the dot net framework?
Was was was that kinda Yeah. Yeah. It was it was mainly targeted for interrupt scenarios. Like, if you needed to pull some c plus plus code from your dot net, application. It was, a lot easier.
And so that was the main reason why it's, existed. I actually remember I was reading a c plus plus book, which had, in the beginning, it had Windows API examples. Then it had Microsoft NFC examples. And then the last part was about dot net, but it was using c plus plus as a language. So that's how I found c plus plus CLI.
And then later, I decided to learn c sharp because it was all all over the places where I was looking for documentation. It was all c sharp. So I I learned c sharp and never never tried anything after that, seriously. Yes. That's how I ended up in dot network.
Okay. So so then you jump ship, so to speak, and, moved on to to c sharp and, what I mean, you can do almost anything with c sharp, but what kind of applications were you then moving? Yeah. In the beginning, I was I was building desktop applications with Windows forms. I I I still like it.
It's very easy to build some. Many many people miss this. Looking at this, they're gonna drop. Later, I moved to a a speed of that platforms and a s c dot dot mvc, and and later, some of our development is centering and dotnetmau and to dotnetcore currently. So Full stack.
Yeah. All of this. So so what's what's your what's your main part of the I can't say dotnetframework, right, of dotnet, the framework that you're using at the moment? So is it, like, you know, everything or, I don't know, APIs or Yeah. It's mostly APIs.
I don't like doing the presentation part. So mostly, they can't database access and the, business logic and but sometimes I also build mobile apps with dot net. But for some reason, I'm okay with with some of that notes HTML. So does does dot NET MAUI work really well for you? Because, I mean, we we have we have guests at the show.
Some of them, they were, you know, super in love with the framework, but some was complaining about, you know, limitations and sometimes high high number of bugs. I mean, my my experiences are so so, and and I think with with enough time, everything can be solved. But, I mean, what's what's your personal stance on that? So so many other Yeah. Yeah.
I actually did only 2 actually, I think. So, it's it was normal. Like, I encountered, some some of the bugs, but, yeah, nothing major that, blocked me. But, but I would say that, compared to, what was many years ago, where was it was very unstable, and the experience was, very, not good. It has improved a lot for the last couple of years, probably since since they joined Microsoft.
Excellent. Alright. And, you're also a very well versed extension builder. Is can I say that correctly for what's what's the best, what's the best IDE for dotnet development? Is it is it right or no?
It's it's a for for Visual Studio. Oh, I I like that. Yeah. Yeah. For for me, they'll be just to do probably because I started it, in in, Visual Studio 2,005.
So old old habits die hard. And, I mean, yeah, you're right. And, I mean, if you compare, you know, today's Visual Studio with Visual Studio 2,005, of course, that's also not not one milestone, but probably several milestones. Right? Yeah.
Yeah. Yeah. And and I'm a user, so so it may be logical to migrate to, but, but I I I still stick to the video and reshuffle. I don't, I don't know why, but I I I like the environment. See, the the.
It's very powerful. Yeah. And it comes straight from the source. Right? That's, that's maybe also a contributing factor.
Right? Since yeah. No. No. It's a really good IDE.
And, so you you publish, well, at least one, extension that that we noted. Would you like to level on that? Yeah. That's the only visual studio extensions that I have. And, yeah, it's the it's it's quite interesting, I think.
It it's a it's a it's a bigger visualizer for Visual Studio. So a bigger visualizer basically is a is an extension that, lets you customize how you, visualize some variables. Like, when you hover the mouse, pointer on the variable, you see the magnifying glass icon. But for example, when you do it on a string variable, you can view it as JSON or HTML or XML that it's built in Visual Studio. There is also an eye in a memorable, visualizer from Microsoft as well, which which which shows some fancy dialogue for for the, eye enumerable variables.
Mhmm. And what my extension does is that, it shows the query plan of your entity framework query. And, and the actual query as well. So you see the query of your, entity framework for query and the query plan, that the database uses to execute your query. Mhmm.
Okay. So so, let let me let me let me let me let me dive dive dive into that. So, as you all know, Entity Framework Core. Right? Microsoft OR Mapper.
So, basically, we have an API. We work with that API, and that then, by Entity Framework Core, is converted to SQL statements that are sent to the database. Right? And the data that then comes back is somehow serialized or converted transformed into into into c sharp objects. So can't I just see the the the queries being sent in the console output anyway?
Yes. I think. Not by default. But if you if you configure logging in your code, you can see the queries in the, in the output window of your, Visual Studio. You can also, during debugging, the easy query strength in inside the debugger, the the SQL query.
So this extension takes it one step further, and you can, you can use the query plans that the database uses. So if you have any slow queries, for example, and she wants to try diagnose why it's slow. It can be helpful to have a look at the query plan and see what's going wrong in the database side. Okay. So without it, you would have to copy the query from Visual Studio to SQL Server Management Studio or some other tool, and they would execute it there and, just require it when.
So it it's it doesn't replace, the SQL Server Management Studio, but, at least you can have a rough idea of what the query is doing at the database side. And you're you're not just seeing the the the the the string, basically, or the text information. You are really visualizing that. Right? Right.
So, that part is actually coming from another open source project, not mine. So I just I just, took that open source projects. Let's say say, projects. That's the, visualization part when you give it the query planning XML formats. It turns into HTML.
Ah, nice. Okay. Yeah. That's that's the that's the library that, echo workflow uses on their data explorer page. If you have ever tried to run queries on this tech overflow database, there is an option to use a query plan as well.
So so that's where I got the idea that, if there is a way to, see the query planning web browsers, and I could take it and put it in Visual Studio extension. And since since the, tech overflow data explorer is open source, I I explored their source code and found how how they do the visualization parts. Mhmm. And and it turned out that there is also a similar library for Postgres, which turns Postgres Query Plan into HTML. So, so my extension supports both of the databases.
You can, use the query plans for SQL Server or Postgres, which is, I think it's becoming a lot popular in the network nowadays. Mhmm. Okay. And so so is that is that that Stack Overflow library, is that was that, like, like, plug plug and play, or did you did you need to fork it? Or is it kinda like an API, and then that gives you something that's drawable?
Yeah. It does it does everything. It's a JavaScript library. You you give it the query plan, the external query plan, and it turns into an SVG element on a HTML page. If if you you you give the query plan and see, container, like, div or something where it should put the, generated SDG, and that's all.
I I did not need to dive into JavaScript. Okay. Even even better even better. So so you so you you implemented the the extension, and then when you say, I don't know, please visualize the the the the query plan, then you basically have a a web browser control. And in the web browser control, you run an HTML page with a diff, and then basically say, okay.
Yeah. That that's where you put the So when you when you hover the the cursor on the high quality variable Mhmm. The it it it's it loads my, visualizer into the target process. So I have the active connection to the database. I can, fetch the query plan from the database.
And, and then the visualizer shows a web browser control in a window. The the web browser control is actually the the one based on, edge, run time that is installed, on on computers. So it uses the modern, web browser engine and not the old No. Not yet. That's that's where I'm at.
You you sometimes see that, right, with with several applications, especially those that then, you know, open up a window to do kinda logging in via a third party where you then get those old JavaScript error messages from IE 7. Yeah. Yeah. Okay. So so let's see.
Yeah. Yeah. So the Postgres Postgres, library did not support any static browser, so that's why I use the edge based, web browser control, and I just renders the, well, I I I asked the, podcast or simple server. We visualizer tool, renders the plan as HTML and the way to the hard part. Inside, not good at the front end.
So so when I I want to use the the extension, I I install it, and then then I'm debugging an application, I guess. Right? So I'm in debug mode. And when I Yeah. Yeah.
The endpoint, do I have a tooltip then or a context menu entry, or how does how do I leverage that? You you have a return then. I queryable, variable, and the magnifying class that appears will have, new query plan option, and you click on it and, wait for a couple of seconds. It needs some time to fetch the actual plan from the database, and you will see a a pop up dialogue, with the browser inside it, and you will see the Qualia Grant rendered, there as an HTML. So so what what, what what did you have to do to then implement the the extension once once you had the idea?
How should someone start writing, a Visual Studio extension? Yeah. Yeah. Is that also quite tricky because the your studio has its own has its own API, we which, based on its history is, as some, tricky 30 methods, I think. But but, thankfully, there's there's a new, new Visual Studio extensibility SDK, which, which, works on, latest versions of Visual Studio only.
So so that's why my extension works on the in Visual Studio 2022 and, since version 9 19.5, I think. So, that was a new visual studio studio extensibility SDK makes it's a a lot easier to build extensions and to toggle visualizers for visual studio. It it tries to hide the old comb based API from you. Otherwise, I think I I wouldn't have managed to build it. So so it was a good coincidence in times that, that the visual studio versions that supports the new SDK was, going quietly in a month after I published this extension.
So, so we see we see with this SDK, it's actually a lot easier. Well, I cannot return an extension with an older version of their SDK, but when I looked at the docs, I I did not want to characterize it all the API. So is the new SDKs a lot more user friendly? So so that SDK, is that then a a c sharp, SDK or c plus plus? Or what what language binding Yeah.
It's it's it's the shelf SDK, and it tries to abstract, the the the inner workings of old API, I guess. And, it's much more developer friendly. And they have samples. They have, documentation, and the team behind it is also very friendly. When I had, when I started building data, I had some, issue showing the, web browser control inside the dialogue and, and, I wanna say our team members was very helpful in in resolving the issue and getting it to work.
So that that actually, that's that's super helpful because, I'm I have always maximum respect for for extension authors. Right? Because it's just a different type of application. You don't just write the application for the application's sake and the functionality, but you also have to integrate with a system that especially in the case of Visual Studio, I mean, it's probably backwards compatible till until, I don't know, 20th century. And, therefore therefore, I think it's it's quite, quite an achievement.
So the the old SDK, which you then didn't use, right, was that also already a c sharp based SDK, or was that still c or c plus plus? It was. You could use it from c sharp, but Okay. You you would notice the text and Mhmm. And Mhmm.
And the, old old interfaces and, things like that. So, with the naming, you you would just have some some interface and then a new interface with the same name and 2 at the end. So Mhmm. You would you would notice all the legacy of for for the past, decade, I guess, that visual studio has done so. Okay.
Well So, yeah, using new SDK is a lot better and Okay. It's So let me ask you you know, it's called dating extensions. Yeah. Let let me ask you, how how do you integrate database. Is that correct?
Yes. That's correct. Yes. Yeah. So so they does it work?
So so how does it work with with the different types of queries? Do you support, like, create statements? Do you support stored procedures, calls, other stuff? What issues would be facing those? No.
It's it does not support it. Like, you you can't you have plan of, if you have if you are using a mother library like Tapter or just plain add on it, you can't use the query plan in that case because, it's targets on the entity framework at the moment. Like, I ideally, I could also build a visualizer. I could extend it a little bit to to support SQL comment objects as well. So I would, I would just need to, fetch the comment text from SQL comment and execute it with, with explain.
And the asset would work. The the other limitations that it has is since it only works with I queryable variables, it it does not support queries, like, first or default or so that return not an I queryable, but just the entity itself. Or, if you are if you have a query with count or sum or things like that, some other aggregates, it also can't visualize it because there is no, incurable, instance for for such queries. And I understand that, technically, you need to extract the query from the IQueryable. Right?
You just can't get the SQL statement. Gotcha. And what about the databases? What databases do you support and can support more of them? Yeah.
I I I can. So there's the reason it supports only SQL Server and Postgres at the moment is that I wanted to have this, visual, way of viewing that the plan. But but it's possible to support other databases and just shows the text output of the explain or JSON output of the explains that for for example, MySQL supports, viewing the planning, text mode. Oracle's also and SQLite also have the same ability. And, yeah, for for for those databases, I I I could extend and just shows the output in the text mode.
And probably it makes sense to do something like that because if you if you are using MySQL, that would probably be what you would be looking at. Because, there there are some tools which provide visual visual view of the query plan, but, probably most of the people look at the text version of the query plan. Do you know other also visualizers for not not just my SQL, but also, I think, SQLite since since Microsoft now has that in an option in Visual Studio for those, you know, scaffolding wizards? Yeah. Thanks.
There there is not nothing like that. So it just has, text version of explain so you can explain and and explain common data as to your light and let's see, internal curriculum from the database engine. And, also, since there was one one idea in the GitHub discussions to to to use to use this library, I forgot the name, which which allows you to build the visual graph. It's called dot dot something. You you you give it to say dot file, and it yeah.
I think it's called graph quiz, and you can it's it's for visualizing graphs. So, you can probably turn the text curriculum into some kind of, graph and show it there. So is this tool only useful for those that kinda understand query plans, execution plans already, or does it give some tips and information for somebody that doesn't know really what they're looking at in execution plan? But it can say, well, this is good or not a great execution plan. Yeah.
No. It it it doesn't do anything like that at the moment. It just, shows whatever, whatever data is returned by, SQL Server or Postgres. The the query plan that that's that I get from SQL Server sometimes also contains, information about, missing indexes, but but I don't show it currently in in the visualizer. But So so you don't look at you don't say this this query has a lot of table scans in it.
You may consider adding indexes to create seeks instead of scans. Yeah. No. I I I don't currently do that. But but I can show that if if that information is included in the query plan, if if I implement that feature.
So so sometimes the SQL Server query plan will include the information about missing indexes. So I could I could take that and show it in the in the visualizer window. But it's still probably you you should have still probably plan to create all those indexes and, 11. Yeah. Yeah.
Sometimes it's it's recommendations. It's tips or whatever, missing indexes aren't really something you could actually implement because you'll end up duplicating. You'll slow down your your rights and deletes and updates versus everything else. So Yeah. Yeah.
So the recommendation that it gives is for that one specific query, but you don't know how to affect your whole databases or or your other queries. Now sometimes it's, it tells you to include all the columns that you have in the, index. So that that's probably not the best thing to do. So so, yeah, it's it helps if you can at least understand some of the query plan and see how know how to read it, but, so it's it's mostly for those people who who who would have copied the query from the output window and, you would see quality planning as management studio. It is just in here for them now.
They can just use the planning in the user directly. And if they want to investigate, it's positive, and they can always go to SSMS. So what kind of things are you thinking about adding to it? Is is you know, is it pretty in at a good final state here, or do you have some things you wanna change, Add Well, many people have asked for rider version. Mhmm.
And, unfortunately, I could not find the necessary extensibility points for rider. Like, the rider has its own SDK, and I joined, say, they are select where for for developers of extensions, but, but I could not find anything, for for building custom visualizers. At first, maybe I think support for for other databases would busy most requested feature. So we thought show very plans in text format for, MySQL and SQLites and yeah. That's that's it.
Mhmm. I think the, at least some some of the folks from JetBrains, are pretty supportive on on Twitter. So, if you just I don't know if you tried, but maybe maybe they have some some pointers in the right direction. But, yeah, they I mean, I think the extensibility system is entirely different from the Visual Studio 1, right, because of the the cross platform nature of, of Rider. Yep.
Yeah. They ridership is it's built in, difficult visualizers. So rider supports it, but, that probably doesn't support, third parties because it there's a hell of a recent more important work to do, and it's totally understandable. Like, you can't still do everything in one day or even 1 year or Mhmm. Is there a Versus code version?
No. No. There is no Versus code version. Only only the yeah. I have not received any requests for that.
So You might now. Yeah. It was mostly rider. Like, everywhere I mentioned it, so is the first response was rider. Alright.
Yeah. So maybe maybe one day, that that will be portable. But, yeah, probably then, we will have almost 2 code bases, right, since since the key aspects are the integrations. Yeah. It is the integrations are are not the, largest.
So so the visualization part is done by external open source libraries for equal server and phosphorus. The starting to plan is, staying on on on, it's it in in both cases. So so probably the integration part is, like, 30% or maybe maybe even less. So so it should be, not not easy to port it, but doable once once they have the necessary APIs. Excellent.
So you mentioned that you get requests from from many people. I also saw on your GitHub profile that you are in top 1% on Stack Overflow. Yeah. If you could share what brought you there, what's like, how often you visit Stack Overflow to reach these top ranks, and, like, how does it go to be this you know, the top of the peak of Stack Overflow nowadays? Yeah.
I I I I I don't answer any questions anymore currently. It was mostly in, 2008 when Stack Overflow was new. I I think most of the people can't even imagine, that once upon a time, there was there was the color flow, and we we we code code without it. But but I remember when when it was launched, and, yeah, I I I enjoyed, answering questions, probably also because I was relatively new to programming, and, I want I wanted to kind of give it back because, I learned a lot from different forums and, different websites, and I I just wanted to to to those to those the same. So so so this year, see, the question Scott's accumulated and I somehow ended up in the 1 person.
It is Yeah. We've had one of my guys. We've had John Skeet on the show before, and he's kinda along the same lines. He started out really, you know, going at it, answering every there everything, and he's kinda tailed off recently. So, yeah, that is very similar for him as it is for you there.
I I once had a if if I if I can tell it, I I once had a really top rank at Experts Exchange, but, yeah, that that didn't get me anything. Right? And that tells you how old I am, but, diff different story. Yeah. How many people are on there?
When you are Back then, when you are are in this in this top Stack Overflow. Does it help in your career? I mean, do people know that you are so good? Do they ask you about that in interviews? Does it bring any benefits?
No. No. At least not in my case. I I think it it's the fact that I mean, top 1%, but still still a lot far from skip. For example, it just shows how many users just don't answer any questions.
And, when we join to post questions, like, I I have not done any any analysis, but probably, probably, like, they they are very few percentage of the total users who who have some, reputation and points such that are more than 1,000 or even 10,000 because, like, if if you look at, like, I I don't remember how how many thousands that I have, but it's still a lot farther from the top 10 users, for example, like, n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n it it shows, like, on those users only. I I will probably be somewhere in z button. So And now with things like Copilot and chat GPT, the number of questions have really kinda decreased.
You know? Because you can actually go out there and ask a question for those. And the first response isn't, have you tried search? They actually give you an answer. Yeah.
Back in today, when when when I asked questions, I was getting a a lot better replies than if I ask something nowadays. Cool. So I can also see that you are an info queue editor. Could you tell how this story happened? Yeah.
I I'm unfortunately, I'm not, not very active. I I I only wrote, 4 or 5 articles for them, and and, kind of gave up. I I wanted to get better at writing, things as well as in code. So so I I I found they had this program where you you could join and they would, you would, pair with their editor and you wrote a couple of articles together and, I I wrote several on my own. But but but I noticed that, I I I don't really enjoy writing articles, unfortunately.
Probably, it's, it's it's my my fault, and I I would have got better if I wrote some some more, but, I could not find the necessary, will end. I could not persuade myself to to light more. Mhmm. Okay. So And that writing code is not comfortable for me.
But you are also a blogger. Right? So how is it different to write a blog post than write an article for InfoQ? Oh, when you are writing the blog post for for your own, website, it's it's a lot easier. You you it's the InfoQ.
The the idea is to write about some, some, recent news and follow their style, and you have some, rules to follow. And I'm not saying that those rules are bad. They are good for their needs. When you are, when you are writing for your own website, you don't care, much about, following any rules, or you are just writing for your own. And if some people find it useful and very good, if not, if not, that's okay.
Oh, If you like, I know many people would like to start blogging, writing articles, writing extensions, doing open source. By the way, I think you are also great in open source world. If you were to give, like, an advice to people who would like to do that, but they are hesitant and can't start, what would that be? Open source projects. I just, saw my my first open source project, which, which was just more or less popular.
I I started it because I I I noticed that I was using the same code in in different projects. So I I decided to put it on GitHub and, so that other people would, find it useful. Like, I I I did not have any any particular aim to to get rich by open source because you you can't or or to to to achieve anything specific. I just, I just noticed that I was, reusing the same code over and over again. So I just put it on GitHub and, publish it on new contents.
It just, happens to, get some attention and, but, 1,100 stars now on GitHub. So so I would say to just do it and don't obsess about, about, what other people say or what they think or or they open issues and ask for features that you don't feel, will be useful for your library. Just, you don't don't feel obliged to work on those issues because you you don't have any obligation towards other people when you are doing open source. And now some of the users can can start to demand. So for example, let's you fix their issues or get some feature or things like that.
And, just take it easy and put put put something if you if you fail. It's the Cool. That's something that the other people is fine useful. I think that's a great piece of advice, that you don't need to feel obliged, and you should just start doing it. So that is really good.
So for anyone listening and considering, this kind of opportunity in your career, just start doing it. And I guess it's now the right time to move on to picks. You probably noticed that Sean joined us in this episode. He was late, but maybe he would just begin with his pick for this week. Yeah.
I can do that. Sorry for being late. Dang. Hardware problems. So my pick this week is the Ring stick up camera.
I used to have just, like, trail cameras in the back of my house to pick up activity from, like, dogs and cats that walk through the yard or raccoons or foxes or rabbits that we get in our yard all the time and things like that. But it was Or the Amazon delivery person. Right? Well, none of the they don't go in the back of the yard. They're out front.
So my my doorbell camera picks them up, and that was always a Ring doorbell camera. But I kept on getting tired of dealing with going out, get the SD card out of the trail camera, download it, replacing batteries, and all that kind of stuff. So I picked up a couple of Ring stick up cameras that operate off battery. And so now I can just watch on my phone on my Ring app to see what's been out there and things like that. I can set up schedules.
I can set up motion zones, things like that, sensitivity sensitivity, all that kind of stuff. It's really nice. And then if it gets long battery, I just have pull the battery out and recharge it so I don't have to deal with double laser or things like that. So if you, want extra cameras around your house, try the Ring one out. Works well for me.
Cool. Christian? Yes. So I have, streaming, streaming pick, this week, and I'm I picked, the 4th installment of Beverly Hills Cop. So, our younger listeners probably won't even remember the first three Beverly Hills Cop.
I think the first one was 40 years ago, 1984. And after long hiatus, they actually well, not they. Kinda Netflix convinced Eddie Murphy and some of the other cast, or they convinced them, I don't know, to make a 4th installment. And, you know, I it's it's always a bit difficult if you've seen the original movies when they came out, so you automatically have, like, you know, a positive memory. And, actually, I I didn't watch the old ones again, so I don't know how well they aged.
So but I thought they had you know, were more charming than than the new one, but still, it was I would would would would say mindless fun, but, you know, it's just it's it's it's it's good to watch, and, of course, it's it's also a trip down down memory lane. And they are actually working on, movie number 5. So Netflix seems to have, a lot of money. Yeah. So, yeah, I watched it, about a week or 2 ago, William, shortly after it first came out and and they loved it.
It was good. But but, you know, they they licensed it from Paramount because I think Paramount had the original rights. And so, yeah, they did they did, get the rights for another one as well. So and I also saw that this one had 40,000,000 streams within the 1st 5 days, which is pretty hot pretty up there. That is awesome.
And talking about the younger generation, my son was over here, just before the 4th July, and he's 29. Never seen the original. Be we were gonna start watching this one, and he says, I've never seen the original. I was like, okay. Well, we can't watch this one unless you've seen the original.
So we started told him, watch that, and then then we'll watch the new one. So you get some context. So excellent. Alright, Adam. Okay.
I will go with software pick as often. So you probably know the bugger in Visual Studio as it was mentioned earlier. It's pretty cool, but it's not the only front end for the debuggers you can use. The other one, which is very popular is windbg, and obviously the other solutions. So my big for this week is x64dbg.
That's kinda something between windbg and IDA, let's call it, IDA Pro. If you don't wanna pay for IDA Pro and would like to try something maybe not better but different, maybe will be more comfortable for you, then go for a 64 d p g. That's the front end debugger for Windows platform. So if you ever use Wing d p g, you will easily find, find yourself at home playing with it. So that's my pick for today.
And now, Georgi, what's your Actually, I I found couple couple of weeks ago, because of your extension sets, AI assistant. It's called I I don't remember the exact name, but I think it's its name is or something like that. It's it's like it have co co pilot, but it has a free tire. So you can then you can use it and evaluate and, I mean, I'm not trying to advertise it, but if you want to use an AI assistant in visual studio and don't want to pay for, top copilot or JetBrains AI, you can you can use the free tire of of this extension. And I I found it quite useful for, for boring stuff.
Like, if you if you have already written some codes that is similar and need to need to write a piece of code, which is different but follow the same pattern, then then the extension can learn from the codes that you have and suggest, suggest the implementation. So it's it can't, it it can't write some custom algorithm for for your own needs. But, if you have, more some repeatable codes with slight variations, it can it can write that easily. So that will be my trick. Okay.
Thanks for this. Thank you, gentlemen, for all our picks. Georgi, if our listeners would like to reach out to you, what's the best way to ask you questions? So the best way will probably to go to my personal website at glt.dev, and there there's a contact forms there, which which ends up in my email. So send send me a message from my website, and I'll reply.
Or you can also message me on Twitter. I I will, my my Twitter is twitter.com/pil. So you can reach out to me either on Twitter or on my personal website. Or send pull requests to his open source project. Alright.
Okay. Thank you, Georgi. And I guess that would be it for today's episode. You can also reach out to Sean. He's at the dotnetsuperhero on x, Twitter, and other things.
I think it's Fred's, but I'm from Europe. I don't have access to that. So sorry. And Now you don't. Being said You should.
Yeah. Or is it today. I'm sorry. That will that will be your tech pick next week. I'm pretty sure.
Now I'm swamped for a month going through all the threats I missed to an opening vendor. And that being said, folks, thank you all for tuning in and see you next time in adventures in dot net.