Click here to Skip to main content
15,512,053 members
This competition has ended

Best Article of June 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.
20 Jun 2022Igor Ladnik
Automatic generation of optimal control policies for the basic quadcopter flight modes
Please Sign up or sign in to vote.
14 Jun 2022Mark Pelf
We are giving an overview of 7 free Regex tools to test and develop Regex expressions
Please Sign up or sign in to vote.
11 Jun 2022honey the codewitch
Create a simple synchronized analog clock using GFX, and a bit of code
Please Sign up or sign in to vote.
18 Jun 2022Leonid Ustyugov
A quick guide to how to create a project on the LXUI.NET framework and demonstrate some of the features
Please Sign up or sign in to vote.
17 Jun 2022Mircea Neacsu
C++ thread objects and their use
Please Sign up or sign in to vote.
19 Jun 2022Ben Hanson
IDispatch C++ Code Generation Done Right
Please Sign up or sign in to vote.
24 Jun 2022Jerry Cruise
SPL provides a syntax equivalent to the SQL92 standard and can perform rich and diverse data calculations. You can directly execute SQL by using TXT/CSV/JSON/XML/XLS/ Web Service/ MongoDB/ Salesforce… as data tables.
Please Sign up or sign in to vote.
11 Jun 2022khazaad
An overview of lack of strong typing in higher order functions in modern C++ and possible solution to this problem
Please Sign up or sign in to vote.
13 Jun 2022Matt Pogue
Run Xfce desktop environment on Kali Linux in WSL. No systemd installation required!
Please Sign up or sign in to vote.
15 Jun 2022Tomasz Malicki
How to create a dynamic object in C # containing the results of a command executed in PowerShell.
Please Sign up or sign in to vote.
9 Jul 2022Higty
A Slack API client library by C# and how to design the architecture by using various C# language feature
Please Sign up or sign in to vote.
8 Jun 2022Matthew Dennis
A brief walkthrough of adding a new .NET AI module to CodeProject.AI Server.
Please Sign up or sign in to vote.
17 Jun 2022BenHall_io
A look at DevOps, a modern philosophy for working with people, processes, and tools to accelerate the pace of software development
Please Sign up or sign in to vote.
28 Jun 2022Pete O'Hanlon
Epic Games recently released Unreal Engine 5 and I thought it was time that I wrote a series about using Blueprints to show the power of UE5.
Please Sign up or sign in to vote.
14 Jun 2022Paulo Zemek
How we group class members together makes a huge difference in the readability of our code.
Please Sign up or sign in to vote.
14 Jun 2022Glenn Prince
In this article, we ease into infrastructure as code with Pulumi.
Please Sign up or sign in to vote.
9 Jun 2022Marcelo Ricardo de Oliveira
An introduction to IaC
Please Sign up or sign in to vote.
13 Jun 2022Matt Pogue
How to monitor a UPS with Nut and lighttpd on Linux
Please Sign up or sign in to vote.
11 Jun 2022Andrea Simonassi
Showing algorithms and code used on this article series
Please Sign up or sign in to vote.
2 Jun 2022Jason_Koo
In this article we look at why when store and query data using a graph database such as Neo4j, you can quickly surface critical information, and possibly expose potentially catastrophic issues hidden within complex datasets.
Please Sign up or sign in to vote.
13 Jun 2022Marcelo Ricardo de Oliveira
How to automatically provision resources
Please Sign up or sign in to vote.
28 Jun 2022Jerry Cruise
Innovations against the shortcomings of SQL have been made to SPL. SPL redefines and extends many operations of structured data, specifically, it adds the discreteness, enhances ordered computation, implements a thorough set orientation, supports object references, and advocates stepwise operation.
Please Sign up or sign in to vote.
27 Jun 2022Dawid Borycki
An introduction to Azure Virtual Network as the approach to isolate and secure your cloud resources
Please Sign up or sign in to vote.
28 Jun 2022Dawid Borycki
How Terraform works and how to use it to provision virtual networks in Azure using IaC
Please Sign up or sign in to vote.
29 Jun 2022Christian Specht
Looking at two solutions of how to create an image gallery with Hugo and Lightbox2, one with Hugo’s EXIF feature, one without.
Please Sign up or sign in to vote.
16 Jun 2022honey the codewitch
Create a clock that uses multiple Internet services to detect your weather, date and time
Please Sign up or sign in to vote.
27 Jun 2022Nguyễn Trung Nhẫn
Free Voice Command Control Library
Please Sign up or sign in to vote.
3 Jun 2022Ivan Yakimov
How to use single database to store information from several microservices with the help of FluentMigrator
Please Sign up or sign in to vote.
4 Jun 2022Oscar K.
What is PPL, Generation code DataFrame Library, Contents DataFrame library, examples of using several methods with results
Please Sign up or sign in to vote.
11 Jun 2022Andrea Simonassi
The simplest multiple precision sum algorithm
Please Sign up or sign in to vote.
6 Jun 2022syed shanu
Getting started with .NET 6.0 and Standalone Angular Template in VS 2022
Please Sign up or sign in to vote.
16 Jun 2022Glenn Prince
In this article, we’ll look at building out tests to ensure the infrastructure we’re building meets our requirements.
Please Sign up or sign in to vote.
23 Jun 2022Chip Verek
How to deploy your own simple multicloud environment hosted on Azure and DigitalOcean
Please Sign up or sign in to vote.
29 Jun 2022Dawid Borycki
How to add and configure Network Security Group, Routing and Route Control, Azure Firewall and DDOS protection
Please Sign up or sign in to vote.
30 Jun 2022raddevus
Fully working sample code and explanation of everything necessary to create authenticated encryption with AES256.
Please Sign up or sign in to vote.
26 Jun 2022syed shanu
Getting started with .NET 6.0 and Standalone Angular Template to create a Multi Language website using Angular NGX translate
Please Sign up or sign in to vote.
23 Jun 2022Ragesh_Hajela
In this article we look at how to modify the OpenVINO™ Notebooks repo on GitHub, retrain the same model but with a different dataset.
Please Sign up or sign in to vote.
7 Jun 2022Quinten Lamprecht
In this article, we’ll build on the previous article by adding additional services to the external cluster that we’re now managing with Azure Arc.
Please Sign up or sign in to vote.
6 Jun 2022Quinten Lamprecht
In the first article of this three-part series, we explore how to connect Azure Arc to a Kubernetes cluster hosted in the cloud and apply a policy.
Please Sign up or sign in to vote.
8 Jun 2022Quinten Lamprecht
In this article we demonstrate how to deploy containers into our Arc Kubernetes cluster via a GitHub Actions pipeline.
Please Sign up or sign in to vote.
10 Jun 2022Marcelo Ricardo de Oliveira
How to use the Bicep language and Terraform HCL syntax to create templates
Please Sign up or sign in to vote.
11 Jun 2022Andrea Simonassi
The first and simplest of the multiplication algorithms, fast enough to multiply not too large numbers
Please Sign up or sign in to vote.
10 Jun 2022FPGANinja
A walkthrough and source code for designing a stream interface in Vitis HLS
Please Sign up or sign in to vote.
11 Jun 2022Andrea Simonassi
A simple subtraction algorithm for multiple precision arithmetic
Please Sign up or sign in to vote.
11 Jun 2022Andrea Simonassi
The Normalized Division algorithm
Please Sign up or sign in to vote.
15 Jun 2022Glenn Prince
In this article we explore how easy it is to build infrastructure on Azure using Pulumi and TypeScript.
Please Sign up or sign in to vote.
20 Jun 2022BenHall_io
How to write Terraform code to deploy simple Azure infrastructure and explore Git workflow used by software developers to ‘gate’ infrastructure changes to our main branch
Please Sign up or sign in to vote.
21 Jun 2022BenHall_io
A hands-on tutorial that shows, step by step, how to set up GitHub actions that first validate the updated Terraform plan and then run the plan and provision Azure infrastructure
Please Sign up or sign in to vote.
22 Jun 2022Chip Verek
Benefits of supporting multicloud and the difficulties it can introduce
Please Sign up or sign in to vote.
23 Jun 2022Gaston Verelst
This article will show how to create a simple but complete WoA-native MAUI application.

Current Participants

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

Software Developer
Italy Italy
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer (Senior)
United Kingdom United Kingdom
Ben is the Principal Developer at a gov.uk and .NET Foundation foundation member. He previously worked for over 9 years as a school teacher, teaching programming and Computer Science. He enjoys making complex topics accessible and practical for busy developers.

Software Developer (Senior)
United Kingdom United Kingdom
I started programming in 1983 using Sinclair BASIC, then moved on to Z80 machine code and assembler. In 1988 I programmed 68000 assembler on the ATARI ST and it was 1990 when I started my degree in Computing Systems where I learnt Pascal, C and C++ as well as various academic programming languages (ML, LISP etc.)

I have been developing commercial software for Windows using C++ since 1994.
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.
Software Developer
Germany Germany
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
Dawid Borycki is a software engineer and biomedical researcher with extensive experience in Microsoft technologies. He has completed a broad range of challenging projects involving the development of software for device prototypes (mostly medical equipment), embedded device interfacing, and desktop and mobile programming. Borycki is an author of two Microsoft Press books: “Programming for Mixed Reality (2018)” and “Programming for the Internet of Things (2017).”
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.
Architect Faq.be bvba
Belgium Belgium
Gaston Verelst is the owner of Faq.be, an IT consultancy company based in Belgium (the land of beer and chocolate!) He went through a variety of projects during his career so far. Starting with Clipper - the Summer '87 edition, he moved on to C and mainly C++ during the first 15 years of his career.

He quickly realized that teaching others is very rewarding. In 1995, he became one of the first MCT's in Belgium. He teaches courses on various topics:
• C, C++, MFC, ATL, VB6, JavaScript
• SQL Server (he is also an MSDBA)
• Object Oriented Analysis and Development
• He created courses on OMT and UML and trained hundreds of students in OO
• C# (from the first beta versions)
• Web development (from ASP, ASP.NET, ASP.NET MVC)
• Windows development (WPF, Windows Forms, WCF, Entity Framework, …)
• Much more

Of course, this is only possible with hands-on experience. Gaston worked on many large scale projects for the biggest banks in Belgium, Automotive, Printing, Government, NGOs. His latest and greatest project is all about extending an IoT gateway built in MS Azure.

"Everything should be as simple as it can be but not simpler!" – Albert Einstein

Gaston applies this in all his projects. Using frameworks in the best ways possible he manages to make code shorter, more stable and much more elegant. Obviously, he refuses to be paid by lines of code!

This led to the blog at https://msdev.pro. The articles of this blog are also available on https://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=4423636, happy reading!

When he is not working or studying, Gaston can be found on the tatami in his dojo. He is the chief instructor of Ju-Jitsu club Zanshin near Antwerp and holds high degrees in many martial arts as well.

Gaston can best be reached via https://www.linkedin.com/in/gverelst/.

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.
CEO TinyBetter, Inc
Japan Japan
I'm a CEO of TinyBetter, Inc in Japan.
United States United States
Just a shiny lil monster. Casts spells in C++. Mostly harmless.
Software Developer (Senior)
Israel Israel


  • Nov 2010: Code Project Contests - Windows Azure Apps - Winner
  • Feb 2011: Code Project Contests - Windows Azure Apps - Grand Prize Winner


Software Developer (Senior) Forsta
Russian Federation Russian Federation
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
Mobile Developer turned Pythonista, Jason Koo is Neo4j's resident Python Developer Advocate. He spent nearly 7 years developing iOS and Android apps and SDKs for Marketing and Financial Tech companies. During that time he began using Python for writing test data for SDK tests, developing code for IoT driven Escape rooms, then fully transitioned to developer advocacy in the computer vision field, real-time messaging, and now graph technologies.
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.
Poland Poland
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
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
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/
Systems Engineer
United States United States
Old-school hacker from the STL, 25 year IT veteran, Systems Director @ Worldwide Freight Management, author of The Solo Admin blog (https://thesoloadmin.com) and founder of Darkstar Consulting, LLC (https://darkstarconsulting.net).
Software Developer (Senior) CodeProject
Canada Canada
As Senior Architect, Matthew is responsible for the Architecture, Design, and Coding of the CodeProject software as well as Manager of the Infrastructure that runs the web site.

Matthew works on improving the performance and experience of the Code Project site for users, clients, and administrators.

Matthew has more years of software development, QA and architecture experience under his belt than he likes to admit. He graduated from the University of Waterloo with a B.Sc. in Electrical Engineering. He started out developing micro-processor based hardware and software including compilers and operating systems.
His current focus is on .NET web development including jQuery, Webforms, MVC, AJAX, and patterns and practices for creating better websites.
He is the author of the Munq IOC, the fastest ASP.NET focused IOC Container.
His non-programming passions include golf, pool, curling, reading and building stuff for the house.
Canada Canada
Mircea is an OOP (old, opinionated programmer) with more years of experience than he likes to admit. Always opened to new things, he is however too bruised to follow any passing fad.

Lately he hangs around here hoping that some of the things he learned can be useful to others.
Software Developer
Vietnam Vietnam
Research Student at BTEC FPT British College
Software Developer (Senior)
Slovenia Slovenia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
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).
CEO
United Kingdom United Kingdom
A developer for over 30 years, I've been lucky enough to write articles and applications for Code Project as well as the Intel Ultimate Coder - Going Perceptual challenge. I live in the North East of England with 2 wonderful daughters and a wonderful wife.

I am not the Stig, but I do wish I had Lotus Tuned Suspension.
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.
Software Developer (Senior) RADDev Publishing
United States United States
Roger has worked in IT for over 25 years in numerous roles (Technical Support, Quality Assurance, Capacity & Performance Engineering and Software Development).
During that time, he has recognized that software often just becomes another layer of work that the user has to wade through.
Sometimes technical documentation is like that too: so confusing and complex that it wastes developers' time.
That's why when he writes his books like Programming Windows 10 Via UWP and his articles (Practical Electronics For Makers) he strives to explain things in the shortest available space with the simplest language possible. Often that means, writing in a tutorial style with numerous images to help guide the user.
He believes the best guiding principle is Einstein's famous quote: "Everything should be made as simple as possible, but not simpler."
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.
Team Leader
India India
Microsoft MVP | Code Project MVP | CSharp Corner MVP | Author | Blogger and always happy to Share what he knows to others. MyBlog

My Interview on Microsoft TechNet Wiki Ninja Link
Retired
Poland Poland
Retired administrator of Microsoft systems, such as corporate AD and corporate Echange e-mail, creator of their on-prem implementation, assembling programs for his own use since 1982 (then in machine code 8080, today most often C #)

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 Jun - 30 Jun 2022