ASP.Net Core 2.2 runtime events

Published by:

ASP.Net Core 2.2 was recently released and announce at the Microsoft Connect() conference in Las Vegas. Sure, there was a lot of hype on the .Net Core 3.0 announcement but ASP.Net Core 2.2 is now GA, while .Net Core 3.0 is only in preview. And since ASP.Net Core 2.2 is now globally available it also brings some new features that can be used in production. In this article I want to briefly describe one feature that in my opinion is the most useful one: runtime events.

It is often desirable to monitor runtime services such as the GC, JIT, and ThreadPool of the current process to understand how these services are behaving while running your application. On Windows systems, this is commonly done using ETW and monitoring the ETW events of the current process. While this continues to work well, it is not always easy or possible to use ETW. Whether you’re running in a low-privilege environment or running on Linux or macOS, it may not be possible to use ETW. Continue reading

What’s the point of .Net Core 3.0 desktop applications

Published by:

The Microsoft Connect() conference in Las Vegas took of on December 4th with some coll but not really unexpected announcements. For my interests the most important announcement was the .Net Core 3.0 preview availability with the long hailed support for desktop applications. Till now you could use .Net Core to build mostly web applications or console application, but starting with .Net Core 3.0 developers will be able to build Windows desktop applications on .Net Core. This step was already announced in May at the Build conference so therefore the .Net Core 3.0 preview availability is not unexpected for techhies that try to be active in the .Net ecosystem. Ignorance is however at high level and since the initial announcement at Build tech forums and discussion boards are full of questions and answers around the “cross-platform desktop applications” idea. So will we be able to run .Net Core 3.0 desktop applications on Windows, Linux and Mac? Of course NOT! That’s why I would like to get into a lot more detail on this point and finally outline what in my opinion really is the key benefit of creating .Net Core 3.0 desktop applications.  Continue reading

The anatomy of an attack in the world of open source software

Published by:

“The secured, shared bitcoin wallet” reads the tagline of Copay. You know, that part of the entire marketing strategy of any brand that really gets printed and displayed anywhere to create a strong bond between the message itself and the brand. It also turns out that the “secure” part was not that secure recently as a NPM package vulnerability in v5.0.2-5.1.0 of Copay and BitPay Wallets was discovered few days ago. Still this post is not about Copay or BitPay. Since Copay and BitPay wallets rely on open source software I really aim to depict a timeline of what happened, what can we learn about the current state of open source software and some aspects that all players in the open source community should think about. Continue reading

.Net Core online courses

Published by:

.Net Core is a constantly growing ecosystem and it becomes a viable option for developers, mostly due to the fact that you can easily develop applications for any operating systems or any platforms. Learning .Net Core becomes more and more a very good investment. Especially for those who want to start learning now, C# and .Net is in my opinion one of the best ways to start. I already wrote an article that explains why I believe this, so I won’t dive in this topic in this occasion.

On the other hand I feel a deep sense of responsibility to give back and that’s why my mission is to help regular people with passion for technology to become software developers. That’s mostly because as a self-taught developer I am fully aware of the challenges that people with passion for software would face until they get the first software developer role. That’s precisely the reason why I have started Codewrinkles Academy! I won’t dwell on what’s making this learning platform great, because I already did it (so check it out!). Right now I want to announce that a .Net Core learning path is available for registration. And I want to talk about the courses, time to completion and possible outcomes. Continue reading

An overview of Razor Components (server-side Blazor)

Published by:

I wrote about Blazor some time ago. Blazor is really cool in my opinion and, in a certain way, the future of web development (even if not in the form we might think of nowadays). It is a single-page web app framework built on .NET Core that runs in the browser with WebAssembly. The overview I made earlier is still valid so you might check it out. In this article however I want to offer a quick overview of a feature called Razor Components or server-side Blazor. Continue reading

Classes and objects. Programming vs philosophy

Published by:

Few days back I had an interesting discussion with a colleague. We both have studied philosophy earlier in our lives so our discussion went into an interesting direction of mapping programming concepts, more specifically OOP concepts, to philosophical ideas. This discussion was very interesting to me, since when I started to learn programming I did not try to do this at all. It’s strange because it would have been probably easier to learn using analogies to familiar concepts. Most probably, I was thinking at that time that programming and philosophy are totally unrelated. The discussion with my colleague proved me wrong, so I thought about writing a short piece aimed to map classes and objects, one of the pillars of object oriented programming, to philosophical ideas. Continue reading

All that glitters is not gold

Published by:

All that glitters is not gold” is a well-known saying, meaning that not everything that looks precious or true turns out to be so. Does this also apply to software development? I’m fairly sure it does, since being attracted by glitters comes natural especially when you are not a very experienced software developer. As I do not considered myself a very experienced developer, I’m not afraid to say that I was attracted by glitters more than once and learned the hard way that all that glitters is not gold. Let me explain! Continue reading

Do you want to become a software developer? Here’s a good chance to start

Published by:

Do you want to become a software developer even if you didn’t study computer science? If yes, keep reading since this post might be interesting for you!

As many of my readers might know already, I did not study computer science at all. Still, I am working in the IT industry for around 10 years, half of which I’ve spend working at Microsoft. I started coding around 3 years ago and right now I am working as a full stack software developer. My primary focus is .Net Core and Angular 2+ when it comes to front end. A big part of my work experience had also to do with training, coaching, webinars. Continue reading

Data as a new global currency! Thoughts about machine learning and artificial intelligence

Published by:

This week I attended an artificial intelligence workshop organized by the company I work for and very nicely delivered by Richard Jarvis from DXC. Therefore, I think it would be nice to share some things I’ve learned there alongside with some personal thoughts on buzz words like, artificial intelligence and machine learning.

First of all there is a huge misconception that those who are not math geniuses should probably stay away from this topic. I learned during the workshop that this is simply not true. Sure, if you really want to dive deep into machine learning algorithms researches you need to know mathematics. Fortunately, the world won’t probably need as many researchers as people who are aware how things work and that are able to build applications and bring value to users by relying on the research that’s already been made. Why I say that? Continue reading

Playing around with ASP.Net Core ConfigureServices()

Published by:

These days I’m working on a small personal project with ASP.Net Core and this allowed me play around with the ConfigureServices method in Startup.cs and discover some things I wasn’t aware of. So I though on sharing my experiments here to see what others have to say about them.

Even if the application itself is fairly simple I decided to create several different projects in a solution to keep things open for extensions, right? So what I have is an ASP.Net Core API project and a bunch of different other projects like Sample.Core, Sample.Infrastructure, Sample.Dal. For the data access layer I wanted to play around with the repository pattern and created a very simple and insecure repository to handle operations on the Azure Table Storage service. Continue reading