Click here to Skip to main content
15,867,686 members
This competition has ended

Best Article of November 2021

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.

Please Sign up or sign in to vote.
21 Dec 2023Nick Polyak
This article covers important concepts of Avalonia/WPF needed for programming and software design
Please Sign up or sign in to vote.
15 Nov 2021Ivan Yakimov
This article contains a discussion of MediatR NuGet package.
Please Sign up or sign in to vote.
25 Dec 2023Nick Polyak
New simple and flexible package for Theming and Localizing multiplatform Avalonia applications is described here with samples
Please Sign up or sign in to vote.
27 Nov 2021honey the codewitch
How to take your IoT graphical interface from the mid-1990s into the present
Please Sign up or sign in to vote.
15 Dec 2021john morrison leon
A smart pointer to an object already owned by a unique_ptr. It doesn't own the object but it self zeroes when the object is deleted so that it can never dangle.
Please Sign up or sign in to vote.
12 Nov 2021Peter Huber SG
A detailed guide how to write your own collection.
Please Sign up or sign in to vote.
22 Nov 2021Michael Sydney Balloni
Wanna add basic database functionality to your C++ app? Too lazy to use SQLite directly? Read on!
Please Sign up or sign in to vote.
1 Nov 2021Pete O'Hanlon
How to use interfaces to set up types so they have certain behaviors
Please Sign up or sign in to vote.
27 Nov 2021Mircea Neacsu
Effective management tool for multiple libraries
Please Sign up or sign in to vote.
1 Nov 2021Ilija Poznić
Adding class selector to WPF
Please Sign up or sign in to vote.
2 Nov 2021Herman<T>.Instance
Migrations does not apply to T-SQL rules for ALTER TABLE ALTER COLUMN
Please Sign up or sign in to vote.
8 Nov 2021honey the codewitch
Deep dive some advanced source generation in a real world application
Please Sign up or sign in to vote.
13 Nov 2021Mark Beharrell
A queue based UDP protocol
Please Sign up or sign in to vote.
1 Nov 2021Bohdan Stupak
Short tip explaining the importance of asynchronous communication
Please Sign up or sign in to vote.
19 Nov 2021
Image class which contains an array of unique colors with counts used to sort by color and find duplicates.
Please Sign up or sign in to vote.
24 Nov 2021Arctype SQL
There are three major types of database models in use today. Learn about their differences and what applications they are good for.
Please Sign up or sign in to vote.
8 Nov 2021DebugST
Use [Unicode 14.0.0] version. Can support automatic code generation according to the latest version.
Please Sign up or sign in to vote.
15 Nov 2021Alexey Skripka
The architecture of a multilayer application with homogeneous layer structure is described.
Please Sign up or sign in to vote.
22 Nov 2021Herman<T>.Instance
Short route to fix this issue
Please Sign up or sign in to vote.
23 Nov 2021Raphael Mun
In this article, we explore packaging then deploying a game to Azure PlayFab servers.
Please Sign up or sign in to vote.
29 Nov 2021Uladzislau Baryshchyk
This series of articles consists of three articles, in which I will demonstrate step by step how to create a .NET core MVC project
Please Sign up or sign in to vote.
5 Nov 2021#realJSOP
One way to allow access to multiple model entities within a ASP.NET MVC view.
Please Sign up or sign in to vote.
29 Nov 2021Dmytro Striletskyi
Delete namespaces as namespace equals all resources belonging to feature branch in Kubernetes cluster
Please Sign up or sign in to vote.
1 Jan 2024Nick Polyak
Describes the new powerful features of UniDock, the new multiplatform UI docking framework.
Please Sign up or sign in to vote.
24 Nov 2021Rick Drizin
An overview of how to design a scalable Multi-Tenant Database using Row-Level Security Predicate Functions and DDL triggers to enforce that all shared tables are always restricted according to the tenant.
Please Sign up or sign in to vote.
13 Nov 2021The Ænema
This article brings you a very detailed but easy to learn experience on creating your own x64 PE packer/protector using only VC++!
Please Sign up or sign in to vote.
26 Nov 2021Tomasz Malicki
Basic PowerShell handler C# class with an explanation
Please Sign up or sign in to vote.
23 Nov 2021honey the codewitch
Easily compare collections for equality
Please Sign up or sign in to vote.
7 Nov 2021Pete O'Hanlon
How to implement interfaces in TypeScript, inherit from classes and a whole lot more.
Please Sign up or sign in to vote.
9 Nov 2021Member 12660776
Programmatically Adding New ConfigurationSectionGroup Corrupts Declaration Section With Multiple Group Declarations.
Please Sign up or sign in to vote.
1 Nov 2021freedeveloper
The foreach loop and in any case, the for loop in C# can get a great benefit in performance by using await and Task instruction. But this is not always possible.
Please Sign up or sign in to vote.
21 Nov 2021REALTBU
Easy to use class which supports displaying icons on button controls
Please Sign up or sign in to vote.
22 Nov 2021Allegra Angelo
Create a multipage TIFF image from images
Please Sign up or sign in to vote.
28 Sep 2022Cinchoo
Tip to merge different CSV files into one CSV file using Cinchoo ETL
Please Sign up or sign in to vote.
7 Nov 2021Cinchoo
Use Cinchoo ETL to deserialize selective XML nodes from large XML file
Please Sign up or sign in to vote.
30 Nov 2021Nandkishor Biradar
A minimalist UML State machine framework for finite state machine and hierarchical state machine in C
Please Sign up or sign in to vote.
11 Nov 2021honey the codewitch
Silly SQL Tricks, Mistakes and Other Nonsense
Please Sign up or sign in to vote.
27 Nov 2021After2050
In this article, I would like to share some of the learnings I got in the process of building an UI library using typescript decorators
Please Sign up or sign in to vote.
19 Nov 2021Arctype SQL
Learn how to write a MySQL cursor or a MySQL loop

Current Participants

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

Software Developer (Senior) Paddedwall Software
United States United States
I've been paid as a programmer since 1982 with experience in Pascal, and C++ (both self-taught), and began writing Windows programs in 1991 using Visual C++ and MFC. In the 2nd half of 2007, I started writing C# Windows Forms and ASP.Net applications, and have since done WPF, Silverlight, WCF, web services, and Windows services.

My weakest point is that my moments of clarity are too brief to hold a meaningful conversation that requires more than 30 seconds to complete. Thankfully, grunts of agreement are all that is required to conduct most discussions without committing to any particular belief system.
Software Developer Trigent Software Private Limited
India India
I'm a software developer from south tip of India. I spent most of the time in learning new technologies. I've a keen interest in client-side technologies especially JavaScript and admire it is the most beautiful language ever seen.

I like sharing my knowledge and written some non-popular articles. I believe in quality and standards but blames myself for lagging them.

I believe in small things and they makes me happy!
Ukraine Ukraine
Algorithm / java / c# / sql developer
Systems / Hardware Administrator
Italy Italy
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Technical Writer Arctype
United States United States
Download our free SQL editor at https://www.arctype.com
This is a Organisation

3 members
Team Leader
Ukraine Ukraine
Team leader with 8 years of experience in the industry. Applying interest to a various range of topics such as .NET, Go, Typescript and software architecture.
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.
China China
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.
Software Developer (Senior) Avalon Development
United States United States
Jose A. Garcia Guirado, Electronic Engineer, graduated in Havana/Cuba 1982, MCTS, MCSD.NET, MCAD.NET, MCSE. Worked in the Institute for Cybernetics and Mathematics of Academy of Science of Cuba for 8 years; since 1995 working as free software architect, developer and adviser, first in Argentina and from 2003 to 2010, in Germany as External consultant in DWS Luxembourg, AIXTRON AG and Shell Deutschland GmbH and from 2010 to 2012 in Mexico working for Twenty Century Fox, and Mexico Stock Exchange (BMV). From 2013 to now in USA, Florida, First in FAME Inc. and now as Senior Software Engineer in Spirit Airlines.
Software Developer (Senior)
Netherlands Netherlands
I started in the eightees with Basic and QuickBasic. When the ninetees started dBase was my thing. Close to the millenium years I swapped to C++ and since 2003 it is only programming in c#.

There is one thing about me.
Not that kind of OO guy and definately not an ORM-fan. I know a database to well to give the importance of data out in the hands of a tool.
United States United States
Just a shiny lil monster. Casts spells in C++. Mostly harmless.
Software Developer (Senior) Ilija Poznić PR PI Elektronika
Serbia Serbia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer (Senior) Finstek
China China
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Retired
Spain Spain
Software Author with engineering, science and mathematical background.

Many years using C++ to develop responsive visualisations of fine grained dynamic information largely in the fields of public transport and supply logistics. Currently interested in what can be done to make the use of C++ cleaner, safer, and more comfortable.
Technical Lead HCL Technologies LTD
India India
Full stack developer with over 10.1 years of IT industry experience in Microsoft .Net & SQL on application Design, Development & Production supportProficient in building Web Applications using Microsoft .Net Core & Framework, C#, ASP.NET MVC & Web API, SQL Server, Micro ORM, Entity Framework, jQuery, Bootstrap, WCF and Dependency Injection.

• Strong knowledge in N-Tier architecture applications and SOA (Service Oriented Architecture) based services.

• Architecting applications with industry best practices, using SOLID DRY SOC design principles, Dependency Injection, Onion Architecture, and Aspect Oriented Programming for Logging and Repository Pattern for Database Communication.

• Expertise on developing MVC Application with best practices using Areas, Attribute based Routing, Responsive Web Design and jQuery with modular pattern.

• Expertise on using Tuples and DTO (Data Transfer Objects) for efficient and quick data transfer.

• Strong hands experience in writing test cases faster using Specflow (BDD), MSTest, Nbuilder, Faker and MOQ frameworks to achieve best code coverage.

• Worked on Security features using form and windows Authentication for web applications and token-based for Web API and role-based Authorization.

• Expertise on writing honest methods, refactoring code using Resharper/StyleCop to create clean, reusable, scalable code and improve performance.

New Zealand New Zealand
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.
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.
Canada Canada
Mircea is the embodiment of OOP: Old, Opinionated Programmer. With more years of experience than he likes to admit, he is always opened to new things, but 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 (Senior)
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Architect AWebPros
United States United States
I am a software architect and a developer with great passion for new engineering solutions and finding and applying design patterns.

I am passionate about learning new ways of building software and sharing my knowledge with others.

I worked with many various languages including C#, Java and C++.

I fell in love with WPF (and later Silverlight) at first sight. After Microsoft killed Silverlight, I was distraught until I found Avalonia - a great multiplatform package for building UI on Windows, Linux, Mac as well as within browsers (using WASM) and for mobile platforms.

I have my Ph.D. from RPI.

here is my linkedin profile
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.
Software Developer (Senior)
Singapore Singapore
Retired SW Developer from Switzerland living in Singapore

Interested in WPF projects.
United States United States
Raphael Mun is a tech entrepreneur and educator who has been developing software professionally for over 20 years. He currently runs Lemmino, Inc and teaches and entertains through his Instafluff livestreams on Twitch building open source projects with his community.
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)
United States United States
I'm passionate about building things since I was born and passionate about computers and programming since I was a kid. I taught myself programming when I was 12 by reading some BASIC programming books and never stopped since then, having played and worked with dozens of technologies.

I have more than 20 years of work experience, having played both technical and management roles, and having worked for companies in many different sectors, including Financial Institutions, Healthcare, and Startups.

I have a Bachelor's degree in Computer Science from University of São Paulo, and an MBA degree from Fundação Getúlio Vargas, both top-ranked universities in Latam. Born and raised in Brazil, lived in Chile for a while, now living in Florida (Fort Lauderdale Area).

If you like my articles please check and follow me on https://github.com/Drizin
Engineer MemarDesign™ LLC.
France France
This is your last chance. After this, there is no turning back. You take the blue pill - the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill - you stay in Wonderland and I show you how deep the rabbit-hole goes. - Matrix


Hamid.Memar
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 #)
Software Developer (Senior)
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.

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 Nov - 30 Nov 2021