Click here to Skip to main content
15,445,757 members
This competition has ended

Best Article of March 2022

Contest Entries and Requirements

  1. The contest period covers the the first day of the month 12AM US Eastern Standard Time and ends the final day of the month at 11:59:59 PM US Eastern Standard Time. All entries must be submitted during this period in order to qualify.
  2. Entries must be an article, or blog entry.
  3. Articles entries must follow the CodeProject submission guidelines.
  4. No cheating, lying, plagiarizing articles, chicanery, or kicking.
  5. No author can be nominated twice.
  6. In the event an article has multiple authors and/or contributors, the number of prizes issued is solely at the discretion of the prize issuer.
  7. In the event of a tie, the number of prizes issued is solely at the discretion of the prize issuer.
  8. Multiple votes from the same IP will be automatically disqualified.
  9. The judges’ decision is final and no correspondence will be entered into.
  10. Only those who live in jurisdictions in which this contest is legal may enter.
  11. Any breach of the rules and the prize will be awarded to the runner up.
  12. By entering the contest you agree to the rules, conditions of entry, and agree that your member alias and any submitted material can be used for promotional purposes by CodeProject.
  13. Entries shall be deemed to be submitted by the authorized account holder of the email address submitted at the time of entry unless clearly indicated otherwise. "Authorized account holder" is defined as the natural person who is assigned to an email address by an internet access provider, on-line service provider, or other organization (e.g. business, educational institution, etc.) that is responsible for assigning email addresses for the domain associated with the submitted email address.

Eligibility

This competition is open to software development professionals & enthusiasts who are of the age of majority in their jurisdiction of residence; however, residents of Quebec and of the following countries are ineligible to participate due to legal constraints: Cuba, Iran, Iraq, Libya, North Korea, Sudan, and Syria. Employees (or a member of their immediate family) of CodeProject or any of their affiliates, subsidiaries, advertising or promotional agencies are also ineligible to participate. Void where prohibited by law.

How to Enter

Entry is by the submission process described above. Please read the submission requirements before submitting your entry and ensure the article is tagged with at least one of the tags corresponding to that competition's category.

Lost, late, misdirected, or illegible entries will be disqualified. Any entry containing content that CodeProject deems objectionable for any reason will be disqualified. All decisions of CodeProject with respect to any aspect of the competition, including, without limitation, the eligibility of entries, are final and binding on all entrants in all matters as they relate to this competition. CodeProject reserves its right to modify the Rules.

CodeProject assumes no responsibility for lost, late, delayed, destroyed or misdirected mail, voice messages, email or any computer errors or malfunctions. No correspondence will be entered into with entrants.

CodeProject does not assume any responsibility for incorrect or inaccurate capture of entry information, technical malfunctions, human or technical error, lost, delayed or garbled data or transmissions, omission, interruption, deletion, defect or failures of any telephone or computer line or network, computer equipment, software or any combination thereof. Entry materials/data that have been tampered with or altered are void. If for any reason, in the opinion of CodeProject in its sole discretion, the competition is not capable of running as originally planned, or if the administration, security, fairness, integrity or the proper conduct of the competition is corrupted or adversely affected, including by reason of infection by computer virus, bugs, tampering, unauthorized intervention, fraud, technical failures or any other causes beyond its control, CodeProject reserves its right to cancel, terminate, modify, amend, extend or suspend the competition including cancelling any method of entry, and select a winner from previously received eligible entries. CodeProject reserves its right in its sole discretion to disqualify any individual it finds to be tampering with the entry process or the operation of the competition or to be acting in violation of the Rules or otherwise in a disruptive manner. CodeProject reserves its right to seek remedies and damages to the fullest extent of the law for any attempts to deliberately damage the competition web site or to undermine the legitimate operation of this competition. CodeProject shall not be held responsible for any errors or negligence that may arise or occur in connection with the competition including any damage to an entrant's computer equipment, system, software or any combination thereof, as a result of their participation in this competition or from downloading any material from the competition website where applicable.

Current Entries

Articles that match the contest criteria are automatically entered. The top 50 entries are shown.

Please Sign up or sign in to vote.
15 Mar 2022David Deley
Internal working of the await keyword
Please Sign up or sign in to vote.
5 Mar 2022Mark Pelf
Tutorial article on Fluent Interface Pattern in C#
Please Sign up or sign in to vote.
14 Mar 2022Paulo Zemek
Mistakes that can be made while using MVVM and how to overcome them
Please Sign up or sign in to vote.
16 Apr 2022tugrulGtx
A walkthrough for a grid implementation of "particle in cell" problem to improve performance of axis-aligned bounding-box (AABB) collision checking in various scenarios
Please Sign up or sign in to vote.
16 Apr 2022Xavier Junqué i de Fortuny
Reduces/evaluates a real/complex math expression
Please Sign up or sign in to vote.
11 Sep 2022Mark Pelf
Tutorial article on Observer pattern in C#
Please Sign up or sign in to vote.
1 Mar 2022Marc Clifton
I want to host some simple applications under a real HTTPS domain. This article describes my foray into doing exactly this with a Digital Ocean Droplet.
Please Sign up or sign in to vote.
17 Mar 2022Ladware.Net
Blazor and Windows Form desktop application
Please Sign up or sign in to vote.
9 Mar 2022Coding Notes
An introduction to ASP.NET Core MVC
Please Sign up or sign in to vote.
21 Mar 2022Peter Huber SG
WpfTestbench helps you to write sophisticated test windows for your WPF controls with few lines of code
Please Sign up or sign in to vote.
19 Mar 2022Ryan S White
A fast, possibly the fastest, square root function for large integers and floats in C# and Java.
Please Sign up or sign in to vote.
20 Mar 2022Paul Aurelian Gagniuc
This article shows how to mix two signals into a third, in variable proportions.
Please Sign up or sign in to vote.
28 Mar 2022Jarek Szczegielniak
How to publish XGBoost and PyTorch models using Azure App Service, Flask, FastAPI, and machine learning online endpoints
Please Sign up or sign in to vote.
21 Apr 2022honey the codewitch
Take advantage of the PlatformIO repository to easily add GFX to your projects
Please Sign up or sign in to vote.
2 Mar 2022Jennifer Reif
In this article we take a look at what a graph database can and cannot do and give you a few of the tools to help that decision.
Please Sign up or sign in to vote.
25 Mar 2022honey the codewitch
On PC platforms, just getting it done is king. On IoT, the trick is doing it in the first place.
Please Sign up or sign in to vote.
21 Mar 2022Roger65
How to type text into a static control, change the font used and then save it into a bitmap
Please Sign up or sign in to vote.
7 Mar 2022essentialSQL
In this blog entry we do an overview of the order if execution in SQL.
Please Sign up or sign in to vote.
29 Mar 2022Jarek Szczegielniak
How to deploy and scale PyTorch models
Please Sign up or sign in to vote.
28 Feb 2022Saurabh Singh _
A simple approach to handle Airspace problem
Please Sign up or sign in to vote.
8 Mar 2022Marcelo Ricardo de Oliveira
In this article, we demonstrate how to set up an Azure PostgreSQL database, migrate the app’s data to Azure, and ensure the application still works.
Please Sign up or sign in to vote.
7 Mar 2022Marcelo Ricardo de Oliveira
This first article in the series introduces the goal of this series: demonstrating how to modernize legacy Python apps and their data on Azure.
Please Sign up or sign in to vote.
7 Mar 2022essentialSQL
In this video and the following article, we’ll take you step-by-step through the process of changing a query’s filter criteria into a SQL variable, then ultimately into a stored procedure.
Please Sign up or sign in to vote.
7 Mar 2022essentialSQL
Learn about a database cursor with an example and when to use it in a SP
Please Sign up or sign in to vote.
17 Mar 2022MehreenTahir
In this article we demonstrate how to deploy a Custom Vision model on a Raspberry Pi device to detect pedestrians in front of a vehicle.
Please Sign up or sign in to vote.
15 Mar 2022MaryT_Intel
In this article we show you the Intel® deep learning inference tools and the basics of how they work.
Please Sign up or sign in to vote.
15 Mar 2022MehreenTahir
In this article we demonstrate how to train a model to detect the presence of a human in images.
Please Sign up or sign in to vote.
9 Mar 2022SiretT
Console app to share internet connection with other network interface
Please Sign up or sign in to vote.
25 Mar 2022honey the codewitch
A more in-depth guide to creating drivers and other custom draw targets for GFX
Please Sign up or sign in to vote.
30 Mar 2022Jarek Szczegielniak
How to publish a TensorFlow model
Please Sign up or sign in to vote.
2 Apr 2022Michael Sydney Balloni
If you were on the fence about adding mscript to your arsenal of system tools, have another look.
Please Sign up or sign in to vote.
1 Mar 2022Jeff Griffith
How to lift and shift our Java app to Azure using Azure App Service
Please Sign up or sign in to vote.
16 Mar 2022MehreenTahir
In the previous article we trained a simple machine learning model that identifies when and where a human is present in an image. This article will demonstrate how to test this model and re-train it as necessary.
Please Sign up or sign in to vote.
9 Mar 2022Marcelo Ricardo de Oliveira
In this article we demonstrate how to move a copy of our Python app and data to the Azure cloud infrastructure with minimal redesign and modification.
Please Sign up or sign in to vote.
2 Mar 2022Glenn Prince
In this article, we create an Event Hubs instance and a demonstration application that sent messages using the Kafka API.
Please Sign up or sign in to vote.
2 Mar 2022Dhruv__Patel
In this article we compare and contrast SYCL and CUDA, and discuss how the oneAPI compiler can work with SYCL.
Please Sign up or sign in to vote.
7 Mar 2022essentialSQL
Top five performance tips for Stored Procedures
Please Sign up or sign in to vote.
10 Mar 2022Matthew Casperson
How to build a frontend web app for a universal translator
Please Sign up or sign in to vote.
14 Mar 2022Dhruv__Patel
In this article we demonstrate how to set up Intel DevCloud and get started using oneAPI while demonstrating some of oneAPI’s unique capabilities.
Please Sign up or sign in to vote.
11 Mar 2022Matthew Casperson
How to build the initial backend API and publish it as an Azure function app
Please Sign up or sign in to vote.
14 Mar 2022Matthew Casperson
How to translate text and convert the translated text to speech to complete building the Universal Translator
Please Sign up or sign in to vote.
15 Mar 2022Nikola Breznjak
This blog entry covers what we learned at the first Ionic framework meetup in Čakovec.
Please Sign up or sign in to vote.
7 Mar 2022essentialSQL
In this article we’re going to cover the seven data types you’ll most frequently encounter in your everyday use of SQL.
Please Sign up or sign in to vote.
15 Mar 2022Nikola Breznjak
An introduction to Test Driven Development in Ionic
Please Sign up or sign in to vote.
17 Mar 2022Coding Notes
An introduction to ASP.NET Core MVC
Please Sign up or sign in to vote.
21 Mar 2022Stanley Wu
How to create a serverless app in Azure that reacts to data changes in Dataverse
Please Sign up or sign in to vote.
22 Mar 2022Stanley Wu
How to insert data into Dataverse using the Dataverse API

Current Participants

Those with articles that match the contest criteria are automatically entered.

Software Developer
Vietnam Vietnam
I am a teacher, a software developer. I love reading, travelling and I am also blogging on ngocminhtran.com(in VietNamese).
Software Developer (Senior)
United States United States
1987 M.S., Electrical and Computer Engineering, University of California, Santa Barbara
1985 B.S., Mechanical and Environmental Engineering, University of California, Santa Barbara
United States United States
Dhruv Patel is a Full-Stack Developer and Professional Writer. He currently works at Splice Digital as Full-Stack Developer and practitioner of "Do What You Love". He wants to transform world by technology and educate in easiest way possible. In his leisure time, he clicks awesome drone-shots.
Easy Computer Academy, LLC
United States United States
Hello my name is Kris. I’m here because I am passionate about helping non-techie people to overcome their fear of learning SQL.

I know what it is like to not know where to start or whether the time spent learning is worth the effort. That is why I am here to help you to:
- Get started in an easy to follow step-by-step manner.
- Use your time wisely so you focus on what is important to learn to get the most value from your time.
- Answer your questions. Really! Just post a comment and I’ll respond. I’m here to help.

It wasn’t long ago that I was helping a colleague with some reporting. She didn’t know where to start and soon got overwhelmed and lost as she didn’t know SQL.

I felt really bad, as she was under pressure to get some summary information to her boss, the built-in reports were falling short, and to make them better would require her to know SQL. At that time that seemed impossible! It in dawned on me, it doesn’t have to be that way.

Then I discovered a way for anyone with the desire to easily learn SQL. I worked with my co-worker, started to teach her what I learned and soon she was able to write reports and answer her boss’ questions without getting stressed or ploughing hours into manipulating data in Excel.

It hasn’t always been easy. Sometimes the information seems abstract or too conceptual. In this case I’ve found out that a visual explanation is best. I really like to use diagrams or videos to explain hard-to-grasp ideas.

Having video, pictures, and text really help to reinforce the point and enable learning.

And now I want to help you get the same results.

The first step is simple, click here http://www.essentialsql.com/get-started-with-sql-server/
Architect
United States United States
Hi! I'm a Solution Architect, planning and designing systems based in Denver, Colorado. I also occasionally develop web applications and games, as well as write. My blog has articles, tutorials and general thoughts based on more than twenty years of misadventures in IT.
United States United States
Just a shiny lil monster. Casts spells in C++. Mostly harmless.
Architect
Poland Poland
Jarek has two decades of professional experience in software architecture and development, machine learning, business and system analysis, logistics, and business process optimization.
He is passionate about creating software solutions with complex logic, especially with the application of AI.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
United States United States
Jennifer Reif is a Developer Relations Engineer at Neo4j, speaker, and blogger with an MS in CMIS. An avid developer and problem-solver, she has worked with many businesses and projects to organize and make sense of widespread data assets and leverage them for maximum business value. She has expertise in a variety of commercial and open source tools, and she enjoys learning new technologies, sometimes on a daily basis! Her passion is finding ways to organize chaos and deliver software more effectively.
Software Developer (Senior) Ladware.Net
Italy Italy
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Unknown
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Architect Interacx
United States United States
Blog: https://marcclifton.wordpress.com/
Home Page: http://www.marcclifton.com
Research: http://www.higherorderprogramming.com/
GitHub: https://github.com/cliftonm

All my life I have been passionate about architecture / software design, as this is the cornerstone to a maintainable and extensible application. As such, I have enjoyed exploring some crazy ideas and discovering that they are not so crazy after all. I also love writing about my ideas and seeing the community response. As a consultant, I've enjoyed working in a wide range of industries such as aerospace, boatyard management, remote sensing, emergency services / data management, and casino operations. I've done a variety of pro-bono work non-profit organizations related to nature conservancy, drug recovery and women's health.
Instructor / Trainer Alura Cursos Online
Brazil Brazil
Software Developer
Serbia Serbia
Mark Pelf is the pen name of just another Software Engineer from Belgrade, Serbia.
My Blog https://markpelf.com/
United States United States
Mary is the Community Manager for this site. She likes to bike, and do college and career coaching for high school students in her spare time.
Technical Writer
Australia Australia
Student
Ireland Ireland
C# Corner MVP, UGRAD alumni, student, programmer and an author.
Software Developer
United States United States
Michael Balloni is a manager of software development at a cybersecurity software and services provider.

Check out https://www.michaelballoni.com for all the programming fun he's done over the years.

He has been developing software since 1994, back when Mosaic was the web browser of choice. IE 4.0 changed the world, and Michael rode that wave for five years at a .com that was a cloud storage system before the term "cloud" meant anything. He moved on to a medical imaging gig for seven years, working up and down the architecture of a million-lines-code C++ system.

Michael has been at his current cybersecurity gig since then, making his way into management. He still loves to code, so he sneaks in as much as he can at work and at home.
Software Developer (Senior)
Croatia Croatia
I’m an engineer at heart and a jack of all trades kind of guy.

For those who care about titles, I hold a masters degree in computing from FER (and a black belt in karate, but that’s another story…).

During the last years, worked in a betting software industry where I made use of my knowledge in areas ranging from full-stack (web & desktop) development to game development through Linux and database administration and use of various languages (C#, PHP, JavaScript to name just a few).

Currently, I’m a senior software engineer at TelTech, where we make innovative communications apps, and I <3 it.

Lately, I’m very passionate about Ionic framework and am currently in the top 3 answerers on StackOverflow in Ionic framework. I wrote a book about Ionic framework which you can get for free on Leanpub: Ionic framework – step by step from idea through prototyping to the app stores.

Other technical writing:

+ wrote a book Getting MEAN with MEMEs
was a technical reviewer for a book Deploying Node published by Packt
was a technical reviewer for a book Getting started with Ionic published by Packt
After writing 300 posts, this is why I think you should start blogging too

Come and see what I write about on my blog.
-
Software Developer (Senior) Microsoft
United States United States
I started to program computers when I was 11 years old, as a hobbyist, programming in AMOS Basic and Blitz Basic for Amiga.
At 12 I had my first try with assembler, but it was too difficult at the time. Then, in the same year, I learned C and, after learning C, I was finally able to learn assembler (for Motorola 680x0).
Not sure, but probably between 12 and 13, I started to learn C++. I always programmed "in an object oriented way", but using function pointers instead of virtual methods.

At 15 I started to learn Pascal at school and to use Delphi. At 16 I started my first internship (using Delphi). At 18 I started to work professionally using C++ and since then I've developed my programming skills as a professional developer in C++ and C#, generally creating libraries that help other developers do their work easier, faster and with less errors.

Want more info or simply want to contact me?
Take a look at: http://paulozemek.azurewebsites.net/
Or e-mail me at: paulozemek@outlook.com

Codeproject MVP 2012, 2015 & 2016
Microsoft MVP 2013-2014 (in October 2014 I started working at Microsoft, so I can't be a Microsoft MVP anymore).
Software Developer (Senior)
Singapore Singapore
Retired SW Developer from Switzerland living in Singapore

Interested in WPF projects.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Help desk / Support
United States United States
Ryan White is an IT Coordinator, currently living in Pleasanton, California.

He earned his B.S. in Computer Science at California State University East Bay in 2012. Ryan has been writing lines of code since the age of 7 and continues to enjoy programming in his free time.

You can contact Ryan at s u n s e t q u e s t -A-T- h o t m a i l DOT com if you have any questions he can help out with.
Software Developer (Senior)
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Engineer
Cuba Cuba
Telecommunications and Electronics Engineer
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Turkey Turkey
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Contest Entries and Requirements

  1. The contest period covers the the first day of the month 12AM US Eastern Standard Time and ends the final day of the month at 11:59:59 PM US Eastern Standard Time. All entries must be submitted during this period in order to qualify.
  2. Entries must be an article, or blog entry.
  3. Articles entries must follow the CodeProject submission guidelines.
  4. No cheating, lying, plagiarizing articles, chicanery, or kicking.
  5. No author can be nominated twice.
  6. In the event an article has multiple authors and/or contributors, the number of prizes issued is solely at the discretion of the prize issuer.
  7. In the event of a tie, the number of prizes issued is solely at the discretion of the prize issuer.
  8. Multiple votes from the same IP will be automatically disqualified.
  9. The judges’ decision is final and no correspondence will be entered into.
  10. Only those who live in jurisdictions in which this contest is legal may enter.
  11. Any breach of the rules and the prize will be awarded to the runner up.
  12. By entering the contest you agree to the rules, conditions of entry, and agree that your member alias and any submitted material can be used for promotional purposes by CodeProject.
  13. Entries shall be deemed to be submitted by the authorized account holder of the email address submitted at the time of entry unless clearly indicated otherwise. "Authorized account holder" is defined as the natural person who is assigned to an email address by an internet access provider, on-line service provider, or other organization (e.g. business, educational institution, etc.) that is responsible for assigning email addresses for the domain associated with the submitted email address.

Eligibility

This competition is open to software development professionals & enthusiasts who are of the age of majority in their jurisdiction of residence; however, residents of Quebec and of the following countries are ineligible to participate due to legal constraints: Cuba, Iran, Iraq, Libya, North Korea, Sudan, and Syria. Employees (or a member of their immediate family) of CodeProject or any of their affiliates, subsidiaries, advertising or promotional agencies are also ineligible to participate. Void where prohibited by law.

How to Enter

Entry is by the submission process described above. Please read the submission requirements before submitting your entry and ensure the article is tagged with at least one of the tags corresponding to that competition's category.

Lost, late, misdirected, or illegible entries will be disqualified. Any entry containing content that CodeProject deems objectionable for any reason will be disqualified. All decisions of CodeProject with respect to any aspect of the competition, including, without limitation, the eligibility of entries, are final and binding on all entrants in all matters as they relate to this competition. CodeProject reserves its right to modify the Rules.

CodeProject assumes no responsibility for lost, late, delayed, destroyed or misdirected mail, voice messages, email or any computer errors or malfunctions. No correspondence will be entered into with entrants.

CodeProject does not assume any responsibility for incorrect or inaccurate capture of entry information, technical malfunctions, human or technical error, lost, delayed or garbled data or transmissions, omission, interruption, deletion, defect or failures of any telephone or computer line or network, computer equipment, software or any combination thereof. Entry materials/data that have been tampered with or altered are void. If for any reason, in the opinion of CodeProject in its sole discretion, the competition is not capable of running as originally planned, or if the administration, security, fairness, integrity or the proper conduct of the competition is corrupted or adversely affected, including by reason of infection by computer virus, bugs, tampering, unauthorized intervention, fraud, technical failures or any other causes beyond its control, CodeProject reserves its right to cancel, terminate, modify, amend, extend or suspend the competition including cancelling any method of entry, and select a winner from previously received eligible entries. CodeProject reserves its right in its sole discretion to disqualify any individual it finds to be tampering with the entry process or the operation of the competition or to be acting in violation of the Rules or otherwise in a disruptive manner. CodeProject reserves its right to seek remedies and damages to the fullest extent of the law for any attempts to deliberately damage the competition web site or to undermine the legitimate operation of this competition. CodeProject shall not be held responsible for any errors or negligence that may arise or occur in connection with the competition including any damage to an entrant's computer equipment, system, software or any combination thereof, as a result of their participation in this competition or from downloading any material from the competition website where applicable.

You must sign in to participate in this contest.
This contest has ended.
1 Mar - 31 Mar 2022