Click here to Skip to main content
15,352,892 members
This competition has ended

Best Article of February 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.
13 Feb 2022
Peter Huber SG
Did you ever wonder what WPF is doing under the hood to place your control on the screen?
Please Sign up or sign in to vote.
28 Jun 2022U
Nick Polyak
This article describes Gidon - the first IoC/MVVM plugin framework created for Avalonia.
Please Sign up or sign in to vote.
8 Feb 2022
Marc Clifton
Reduces number of per-table controllers, models, services, and other code you end up writing or having auto-generated!
Please Sign up or sign in to vote.
28 Feb 2022
Mark Pelf
Tutorial article describing Visitor Pattern in C#
Please Sign up or sign in to vote.
17 Feb 2022
Aram Tchekrekjian
How to apply JWT Access Tokens and Refresh Tokens in ASP.NET Core Web API 6
Please Sign up or sign in to vote.
5 Feb 2022
Christ Kennedy
Build a remote control for a cumbersome wire tangled KVM that fits better hidden under your desk
Please Sign up or sign in to vote.
3 Feb 2022
Peter Huber SG
How to correct the problem that the DispatcherTimer raises the Tick events slower than required by Interval
Please Sign up or sign in to vote.
5 Feb 2022
Marc Clifton
Some code tweaks including the ability to alias a mapped property name
Please Sign up or sign in to vote.
19 Feb 2022
Asif Bahrainwala
A simple C++ program to generate RSA key pair
Please Sign up or sign in to vote.
23 Feb 2022
Michael Sydney Balloni
Recycle objects that are expensive to create and improve the performance of your application
Please Sign up or sign in to vote.
10 Feb 2022
ferdrodrigues
Implementation of a folder tree in front-end and back-end
Please Sign up or sign in to vote.
7 Feb 2022
Sergey L. Gladkiy
How to create a driver distraction detector and how to run it on an Arm-powered device like a Raspberry Pi or Jetson Nano
Please Sign up or sign in to vote.
14 Feb 2022
mural3
How to build custom HtmlHelpers to provide pagination in .NET Core MVC app
Please Sign up or sign in to vote.
21 Feb 2022
Illya Reznykov
How to update EmailMessage properties that don't have public setters
Please Sign up or sign in to vote.
1 Mar 2022
W. García
A class module developed to evaluate mathematical expressions given as VBA strings
Please Sign up or sign in to vote.
3 Feb 2022
MehreenTahir
In this article, we learn how to train a machine learning (ML) model on an Arc-enabled Kubernetes cluster.
Please Sign up or sign in to vote.
3 Feb 2022
adriancs
Step by step guide for installing MySQL on CentOS
Please Sign up or sign in to vote.
4 Feb 2022
MehreenTahir
In this article we learn to deploy our model and enable inference anywhere with Azure Arc-enabled ML.
Please Sign up or sign in to vote.
9 Feb 2022
Shakhansho
An overview of newly written package anonympy and a walk-through some of its methods and functionality
Please Sign up or sign in to vote.
15 Feb 2022
Raphael Mun
In this article we introduce Azure PlayFab from the perspective of a Unity developer.
Please Sign up or sign in to vote.
18 Feb 2022
honey the codewitch
Run your IoT display driver independent of the bus it uses, whether I2C, SPI or parallel
Please Sign up or sign in to vote.
24 Feb 2022
Sander Rossel
How to transform data to produce statistics and visualize data using Power BI
Please Sign up or sign in to vote.
27 Feb 2022
Joan M
When you forget to attach an invoice and your customer doesn't alert you... well, you start thinking about methods to prevent it from happening again.
Please Sign up or sign in to vote.
11 Feb 2022
Matthew Casperson
How to create a Spring Boot web app in Java that replicates the functionality of the “Universal Bots” sample app on GitHub
Please Sign up or sign in to vote.
14 Feb 2022
OriginalGriff
By the time you have read this, you will have no problem with compiling your programs ever again. Well, probably you won't. OK - maybe a little. Depends on the compiler.
Please Sign up or sign in to vote.
3 Feb 2022
adriancs
Building a .NET Core Linux Project with MySqlBackup.NET
Please Sign up or sign in to vote.
4 Feb 2022
Andrew Doss
Schedule Python and SQL scripts to keep your dataset clean and up-to-date in a Postgres database
Please Sign up or sign in to vote.
7 Feb 2022
Rahul__Sharma
How Managed Identities enable a Spring Boot web app running in Azure App service
Please Sign up or sign in to vote.
7 Feb 2022
Aram Tchekrekjian
How to localize in ASP.NET Core Web API 6
Please Sign up or sign in to vote.
8 Feb 2022
Rahul__Sharma
How Managed Identities enable a containerized Spring Boot web app running on Azure Kubernetes Service
Please Sign up or sign in to vote.
9 Feb 2022
Rahul__Sharma
How Managed Identities enable a Spring web app to obtain credentials from Azure Key Store and use them to access both Azure APIs and external APIs
Please Sign up or sign in to vote.
8 Feb 2022
Jo_vb.net
How to get started using the MVVM Toolkit
Please Sign up or sign in to vote.
8 Feb 2022
Marc Clifton
SqlKata is cool but having to use hardcoded strings for tables and fields in not my cup of tea.
Please Sign up or sign in to vote.
10 Feb 2022
Matthew Casperson
How to create a Spring Boot web app in Java that replicates the functionality of the “Teams Conversation Bot SSO” sample app on GitHub
Please Sign up or sign in to vote.
14 Feb 2022
Matthew Casperson
How to create a Spring Boot web app in Java that replicates the functionality of the “Teams File Upload” sample app on GitHub
Please Sign up or sign in to vote.
15 Feb 2022
Han Bo Sun
Tutorial to discuss the design of a moveable popup modal using AngularJS and ui-bootstrap
Please Sign up or sign in to vote.
18 Feb 2022
Raphael Mun
In this article, we integrate PlayFab’s Matchmaking feature into the game so that players can automatically match with each other to join on the same server and play together.
Please Sign up or sign in to vote.
16 Feb 2022
Raphael Mun
In this article, we’ll begin creating the backend code that this game will connect to for multiplayer gameplay.
Please Sign up or sign in to vote.
1 Feb 2022
Marijan Nikic
How to set AIP label via VBScript code
Please Sign up or sign in to vote.
21 Feb 2022
Raphael Mun
This article will demonstrate how to leverage the PlayFab Unity SDK’s built-in features to add a leaderboard to our game.
Please Sign up or sign in to vote.
22 Feb 2022
Sander Rossel
How to write a Python app to ingest weather data into Azure using an Azure Event Hub
Please Sign up or sign in to vote.
21 Feb 2022
Illya Reznykov
Creating Regional Web ACL with CloudFormation
Please Sign up or sign in to vote.
17 Feb 2022
Pete O'Hanlon
What is an array and how to use it to manage multiple items
Please Sign up or sign in to vote.
28 Feb 2022
Jeff Griffith
How to set up an Azure PostgreSQL database, migrate app’s data over, and ensure the application still works
Please Sign up or sign in to vote.
24 Feb 2022
Jeff Griffith
How to set up the project and prepare the database
Please Sign up or sign in to vote.
12 Mar 2022
Zijian
Solutions for using DateOnly in ASP.NET Core 6, before 7
Please Sign up or sign in to vote.
7 Feb 2022
Jim_Gray
Example code showing how to use Subtle Crypto to sign your request to Azure API in pure JavaScript or jQuery
Please Sign up or sign in to vote.
9 Feb 2022
Roger Winter
In this article we look at how developers can take advantage of the cross-architecture of oneAPI to make use of GPU resources in their applications.
Please Sign up or sign in to vote.
17 Feb 2022
Raphael Mun
In this article, we integrate the PlayFab GSDK to be ready for cloud hosting, and then upload and deploy it to PlayFab through the dashboard.

Current Participants

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

adriancs
Software Developer
Other Other
Programming is an art.
Andrew Doss
United States United States
No Biography provided
Aram Tchekrekjian
Architect
Jordan Jordan
A passionate software developer with 12+ years of overall experience in various development languages including C#/vb.net, java. The technologies I mostly focus on are: ASP.NET Core, Android, Angular

I currently work as a Corporate Technical Manager in the Digital Solutions Team at Aramex International in Amman, Jordan.
Asif Bahrainwala
Instructor / Trainer
India India
Hi,
I have been working with computers since my eight grade, programming the ZX Spectrum. I have always had an interest in assembly language and computer theory (and is still the reason for taking tons of online courses), actively code using C/C++ on Windows (using VS) and Linux (using QT).

I also provide training on data structures, algorithms, parallel patterns library , Graphics (DX11), GPGPUs (DX11-CS,AMP) and programming for performance on x86.
Feel free to call me at 0091-9823018914 (UTC +5:30)



(All views expressed here do not reflect the views of my employer).
Christ Kennedy
CEO unemployable
Canada Canada
Christ Kennedy grew up in the suburbs of Montreal and is a bilingual Quebecois with a bachelor’s degree in computer engineering from McGill University. He is unemployable and currently living in Moncton, N.B. writing his next novel.
Dawid Borycki
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).”
ferdrodrigues
Brazil Brazil
No Biography provided
Han Bo Sun
Team Leader The Judge Group
United States United States
No Biography provided
honey the codewitch
United States United States
Just a shiny lil monster. Casts spells in C++. Mostly harmless.
Illya Reznykov
Software Developer (Senior)
Ukraine Ukraine
• Have more than 25 years of the architecting, implementing, and supporting various applications from small desktop and web utilities up to full-fledged cloud SaaS systems using mainly Microsoft technology stack and implementing the best practices.
• Have significant experience in the architecting applications starting from the scratch and from the existent application (aka “legacy”) where it is required to review, refactor, optimise the codebase and data structure, migrate to new technologies, implement new features, best practices, create tests and write documentation.
• Have experience in project management, collecting business requirements, creating MVP, working with stakeholders and end users, and tasks and backlog management.
• Have hands-on experience in the setting up CI/CD pipelines, the deploying on-premise and cloud systems both in Azure and AWS, support several environments.
• As Mathematician, I interested much in the theory of automata and computer algebra.
Jeff Griffith
United States United States
No Biography provided
Jim_Gray
Team Leader
United States United States
Full stack .NET developer with over fifteen years experience. I currently work as a consultant architect building full stack applications in MVC.NET but also facilitate a number of other roles. I don't post here much, but I should.
Jo_vb.net
Engineer
Germany Germany
Retired electrical engineer.
Joan M
Chief Technology Officer robotecnik
Spain Spain
I'm from Catalonia (in Spain) and a specialist in CNC, PLC, robotics and automation in general.

From 1998 I've been developing software applications for the automation market.

I'm using different technologies in each case to get the proper result, fieldbus communications, special electronics, special laser sensors, artificial vision, robot arms, CNC applications, PLC's...

www.robotecnik.com[^] - robots, CNC and PLC programming
Marc Clifton
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.
Marijan Nikic
User Interface Analyst Raiffeisenbank Austria
Croatia Croatia
I acquired Masters degree in computing science at the Faculty of Electrical Engineering and Computing in Zagreb, Croatia in 2009. Following my studies, I got a job in a Croatian branch of Austrian-based CEE Raiffeisen Bank as an MIS (Management information system) analyst.
I have been working there since 2010, as an IT expert within the Controlling department, maintaining the Oracle's OFSA system, underlying interfaces and databases.
Throughout that time, I have worked with several different technologies, which include SQL & PL/SQL (mostly), postgres, Cognos BI, Apparo, Datastage, ODI, Jenkins, Qlik, ...
I am doing a lot of automation with scripting in batch / shell and VBscript (mostly) - data analysis and processing, automated DB imports and exports, Jenkins automation etc.
Privately, I was mostly doing Windows Forms and Console app tools in Visual Studio, C#.
Mark Pelf
Serbia Serbia
Mark Pelf is the pen name of just another Software Engineer from Belgrade, Serbia.
My Blog https://markpelf.com/
Matthew Casperson
Technical Writer
Australia Australia
MehreenTahir
Student
Ireland Ireland
C# Corner MVP, UGRAD alumni, student, programmer and an author.
Michael Sydney Balloni
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.
mural3
United States United States
No Biography provided
Nick Polyak
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 have my Ph.D. from RPI.

here is my linkedin profile
OriginalGriff
CEO
Wales Wales
Born at an early age, he grew older. At the same time, his hair grew longer, and was tied up behind his head.
Has problems spelling the word "the".
Invented the portable cat-flap.
Currently, has not died yet. Or has he?
Pete O'Hanlon
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.
Peter Huber SG
Software Developer (Senior)
Singapore Singapore
Retired SW Developer from Switzerland living in Singapore

Interested in WPF projects.
Rahul__Sharma
United States United States
No Biography provided
Raphael Mun
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.
Roger Winter
United States United States
No Biography provided
Sander Rossel
CEO JUUN Software
Netherlands Netherlands
Sander Rossel is a Microsoft certified professional developer with experience and expertise in .NET and .NET Core (C#, ASP.NET, and Entity Framework), SQL Server, Azure, Azure DevOps, JavaScript, MongoDB, and other technologies.

He is the owner of JUUN Software, a company specializing in custom software. JUUN Software uses modern, but proven technologies, such as .NET Core, Azure and Azure DevOps.

You can't miss his books on Amazon and his free e-books on Syncfusion!

He wrote a JavaScript LINQ library, arrgh.js (works in IE8+, Edge, Firefox, Chrome, and probably everything else).

Check out his prize-winning articles on CodeProject as well!
Sergey L. Gladkiy
Team Leader VIPAKS
Russian Federation Russian Federation
EDUCATION:

Master’s degree in Mechanics.

PhD degree in Mathematics and Physics.



PROFESSIONAL EXPERIENCE:

15 years’ experience in developing scientific programs
(C#, C++, Delphi, Java, Fortran).



SCIENTIFIC INTERESTS:

Mathematical modeling, symbolic computer algebra, numerical methods, 3D geometry modeling, artificial intelligence, differential equations, boundary value problems.
Shakhansho
Student ArtLabs
Russian Federation Russian Federation
Hey there! My name is Shakhansho, but I prefer to call myself Shukur. I am 21 years old and a Junior student at University of Central Asia (UCA), majoring in computer science. Due to my experiences of working in consumer services, I have developed strong communication and interpersonal skills. In addition, this summer I was lucky to start my intership at ArtLabs
So now apart from my studies I am also working as a part-time Machine Learning Developer. Although my hard skills are not as strong as my soft skills, I compensate it with my hard work, dedication, and passion for the field of computer science.
... and excessive Googling
Group type: Organisation (No members)


W. García
Dominican Republic Dominican Republic
No Biography provided
Zijian
Software Developer
Australia Australia
I started my IT career in programming on different embedded devices since 1992, such as credit card readers, smart card readers and Palm Pilot.

Since 2000, I have mostly been developing business applications on Windows platforms while also developing some tools for myself and developers around the world, so we developers could focus more on delivering business values rather than repetitive tasks of handling technical details.

Beside technical works, I enjoy reading literatures, playing balls, cooking and gardening.

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 Feb - 28 Feb 2022