Click here to Skip to main content
14,486,466 members

Best Article of February 2020

This competition has ended

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.

10 Feb 2020
Bedri Egrilmez
A Windows .NET control for dynamic visualization of UML sequence diagrams
18 Feb 2020
honey the codewitch
A crash course in GLR parsing which can be used to parse highly ambiguous grammars
4 Feb 2020
Southmountain
Some tips on how to compile legacy Win32 programs in Visual Studio 2019 - may save you few hours to figure out why
24 Feb 2020
honey the codewitch
A relatively safe, simple, yet high performance technique for using lists as dictionary keys.
10 Feb 2020
Steffen Ploetz
YES, you can - use native DLLs in your Azure Functions via P/Invoke ([DllImport]) as you already know it from .NET Framework, and safe the code you have developed and maintained for decades with much effort and patience.
1 Feb 2020
honey the codewitch
Add non-backtracking fast DFA regular expression and finite state automata to your projects
8 Feb 2020
Aram Tchekrekjian
How to create and deploy your first ASP.NET Core Web API on IIS
19 Mar 2020U
Stephane Capo
A multi purpose, cross-platform, free and Open Source C++ framework. This article will focus on CoreModifiable methods.
20 Feb 2020
gggustafson
This article will present a method whereby external links can be intercepted and processed.
27 Feb 2020
Svetoslav Chekanov
A collection of image dithering algorithms
4 Feb 2020
OwenDavies
This post outlines how to use Docker image for local SQL Server development.
29 Feb 2020
Wendelius
Toggle mouse button swapping between on and off
27 Feb 2020
Jeremy Likness
See what is possible to build using only plain, native "Vanilla.js" JavaScript. No frameworks!
18 Feb 2020
SleepyCrat
Create a small "minigame" using asp .net core 3.0, Angular, and websockets implemented using vanilla javascript.
24 Feb 2020
Lukasz Szyrmer
A real life example to show how to use visualization to effectively simplify a complicated process
23 Feb 2020
Sacha Barber
How to get nice auto incrementing assembly versions inside your .NET Core/Standard projects
13 Feb 2020
SleepyCrat
This article will show you how to create an ASP. net core web api project and secure it using Google's Firebase authentication service with an Angular front end.
26 Feb 2020
Lukasz Szyrmer
Experimenting with output using three different alternative ways of working
29 Feb 2020
Oscar-Tark
A basic formatted string exploit shows you how small errors in programming with the printf function can be a lethal weapon for hackers looking to compromise a system.
19 Mar 2020U
Stephane Capo
A multi-purpose, cross-platform, free and Open Source C++ framework. This article will focus on CoreModifiable attributes.
10 Feb 2020
Han Bo Sun
This tutorial will introduce the basics needed to use RequireJS to build modularized web applications with JavaScript.
19 Feb 2020
Bohdan Stupak
This article describes a super-minimalistic auth endpoint based on AWS Lambda.
13 Feb 2020
sickfile
The causality of a JavaScript promise constructor. Asynchronous callbacks vs Promise.
3 Feb 2020
José Cintra
IoT architecture proposal for sensor data acquisition modules using the REDIS database and the GO language
18 Feb 2020
Mircea Neacsu
Case folding for UTF-8 code
25 Feb 2020
ADOConnection
How ASP.NET Core Razor turns templates into assemblies and runs them
27 Feb 2020
Stas Wolski
This step-by-step tutorial shows how to create a simple Vue.js-based app with a Gantt chart.
24 Feb 2020
Lukasz Szyrmer
Figuring out your velocity and how to increase it has much greater business value (bringing release dates in) rather than trying to specify and estimate everything up front to the utmost detail.
19 Feb 2020
Lukasz Szyrmer
This is a look at Continuous Delivery.
9 Feb 2020
Vlad Neculai Vizitiu
Hello and welcome, In this post, we are going to talk about how we can automate part of the windows desktop environment using AutoItX. What is AutoItX? Before we can talk about AutoItX first we need to talk a little bit about AutoIt.
11 Feb 2020
OwenDavies
The IIS rewrite module is a really powerful feature in IIS. It gives you power to set up rules to handle how requests for specific URLs are handled.
12 Feb 2020
OwenDavies
How to implement a crossdomain.xml file to allow the Flash client to connect to my site
19 Feb 2020
Rion Williams
Transformation on numerous fronts with just a few months of exposure to Kafka technology
6 Mar 2020
Lukasz Szyrmer
Given increasingly shorter time frames for product life cycles, time is an increasingly undervalued resource.
27 Feb 2020
Kevin Mack
A blog about availability in the cloud and how to build applications that are architected for resiliency.
27 Feb 2020
Kevin Mack
Different options for certification on the Azure platform
5 Feb 2020
V.
The easy view of the Software Development Process
4 Feb 2020
OwenDavies
Looks like sSMTP is no longer maintained, MSMTP is the suggested replacement. This post discusses how to do the replacement.
4 Feb 2020
OwenDavies
Terraform allows you to setup Infrastructure as expressed by code (Infrastructure As Code IaC). This post helps you to get started with Terraform.
8 Feb 2020
OwenDavies
When you create an Azure Storage account to store files in a container you can set the permissions to what ever access level you want, and you can generate tokens to access the blob storage account with set periods of time. That’s what we’re going to do here today.. 0.
9 Feb 2020
OwenDavies
A year ago in this post we created an Azure Virtual Machine using PowerShell instead of using the Azure Portal. This is fairly simple and allows a level of automation.
20 Feb 2020
Terence Wallace
Short economics game to analyze human behavior and approach to simulate NPC decision making
19 Mar 2020U
Stephane Capo
A multi purpose, cross-platform, free and Open Source C++ framework. This article will focus on CoreItem.
21 Feb 2020
Kamran A
How to use RavenDB to implement throttling in less than 40 lines of code
19 Mar 2020U
Stephane Capo
A multi purpose, cross-platform, free and Open Source C++ framework. This article will focus on Signal/Slot and Notification mechanisms.
23 Feb 2020
Member 14750355
DevOps is a methodology that aims to create a synergy between software engineering and IT operations teams.
2 Feb 2020
Arthur V. Ratz
A Simple Web Application User Authentication Project Using Passport.js And JSON Web Tokens (JWT) explained.
11 Feb 2020
Greg Utas
No breakpoints or drooling all over the console!
11 Mar 2020
Vassili Kravtchenko-Berejnoi
Use of a narrow-focus strategy in test-driven-development

Current Participants

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

ADOConnection
Web Developer
Russian Federation Russian Federation
No Biography provided
Aram Tchekrekjian
Technical Lead
Jordan Jordan
My name is Aram Tchekrekjian, I’m a passionate software developer with 10+ years of overall experience in various development languages including vb.net, c#, java and some php, during which I gained abundant of knowledge in Asp.net Web Forms, Asp.net Web Api, javascript, bootstrap, entity framework, WCF, windows forms, SQL server, MySQL as well as Android.

I work as a Corporate Senior Technical Lead in the Digital Solutions Team at Aramex International in Amman, Jordan.

Arthur V. Ratz
Software Developer (Senior) EpsilonDev
Ukraine Ukraine
I’m software developer, system analyst and network engineer, with over 20 years experience, graduated from L’viv State Polytechnic University and earned my computer science and information technology master’s degree in January 2004. My professional career began as a financial and accounting software developer in EpsilonDev company, located at L’viv, Ukraine. My favorite programming languages - C/C++, C#.NET, Java, ASP.NET, Node.js/JavaScript, PHP, Perl, Python, SQL, HTML5, etc. While developing applications, I basically use various of IDE’s and development tools, including Microsoft Visual Studio/Code, Eclipse IDE for Linux, IntelliJ/IDEA for writing code in Java. My professional interests basically include data processing and analysis algorithms, artificial intelligence and data mining, system analysis, modern high-performance computing (HPC), development of client-server web-applications using various of libraries, frameworks and tools. I’m also interested in cloud-computing, system security audit, IoT, networking architecture design, hardware engineering, technical writing, etc. Besides of software development, I also admire to write and compose technical articles, walkthroughs and reviews about the new IT- technological trends and industrial content. I published my first article at CodeProject in June 2015.
No Biography provided
Bohdan Stupak
Software Developer
Ukraine Ukraine
https://twitter.com/BohdanStupak1
gggustafson
Software Developer (Senior)
United States United States
In 1964, I was in the US Coast Guard when I wrote my first program. It was written in RPG (note no suffixing numbers). Programs and data were entered using punched cards. Turnaround was about 3 hours. So much for the "good old days!"

In 1970, when assigned to Washington DC, I started my MS in Mechanical Engineering. I specialized in Transportation. Untold hours in statistical theory and practice were required, forcing me to use the university computer and learn the FORTRAN language, still using punched cards!

In 1973, I was employed by the Norfolk VA Police Department as a crime analyst for the High Intensity Target program. There, I was still using punched cards!

In 1973, I joined Computer Sciences Corporation (CSC). There, for the first time, I was introduced to a terminal with the ability to edit, compile, link, and test my programs on-line. CSC also gave me the opportunity to discuss technical issues with some of the brightest minds I've encountered during my career.

In 1975, I moved to San Diego to head up an IR&D project, BIODAB. I returned to school (UCSD) and took up Software Engineering at the graduate level. After BIODAB, I headed up a team that fixed a stalled project. I then headed up one of the two most satisfying projects of my career, the Automated Flight Operations Center at Ft. Irwin, CA.

I left Anteon Corporation (the successor to CSC on a major contract) and moved to Pensacola, FL. For a small company I built their firewall, given free to the company's customers. An opportunity to build an air traffic controller trainer arose. This was the other most satisfying project of my career.

Today, I consider myself capable.
Greg Utas
Architect
Canada Canada
Author of Robust Services Core (GitHub) and Robust Communications Software (Wiley, 2005). Formerly Chief Software Architect of the servers (GSM MSCs) that handle the calls in AT&T's wireless network.
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.
Jeremy Likness
Instructor / Trainer Microsoft
United States United States
Note: articles posted here are independently written and do not represent endorsements nor reflect the views of my employer.

Jeremy Likness is a Cloud Developer Advocate for Azure at Microsoft. Jeremy has spent two decades building enterprise software with a focus on line of business web applications. Jeremy is the author of several highly acclaimed technical books including Designing Silverlight Business Applications and Programming the Windows Runtime by Example. He has given hundreds of technical presentations during his career as a professional developer. In his free time, Jeremy likes to CrossFit, hike, and maintain a 100% plant-based diet.

Jeremy's roles as business owner, technology executive and hands-on developer provided unique opportunities to directly impact the bottom line of multiple businesses by helping them grow and increase their organizational capacity while improving operational efficiency. He has worked with several initially small companies like Manhattan Associates and AirWatch before they grew large and experienced their transition from good to great while helping direct vision and strategy to embrace changing technology and markets. Jeremy is capable of quickly adapting to new paradigms and helps technology teams endure change by providing strong leadership, working with team members “in the trenches” and mentoring them in the soft skills that are key for engineers to bridge the gap between business and technology.
José Cintra
Software Developer
Brazil Brazil
I am a software developer focused on Mathematics, IoT and Games.
Homepage: HTML Apps
Blog: www.josecintra.com/blog
Kamran A
Software Developer (Senior) Target
United States United States
Hi, I'm Kamran Ayub aka Kamranicus. I specialize in helping people build usable, reliable, and resilient technology solutions with a primary focus on web-based technology.
Kevin Mack
Software Developer (Senior)
United States United States
My name is Kevin Mack, I'm a software developer in the Harrisburg Area. I have been a software developer since 2005, and in that time have worked on a large variety of projects. Everything from small applications, to mobile and Enterprise solutions. I love technology and enjoy my work and am always looking to learn something new. In my spare time I love spending time with my family, and learning new ways to leverage technology to make people's lives better. If you ask me what I do, I'll probably tell you I can paid to solve problems all-day-every-day.

Check out my blog at https://kmack.azurewebsites.net/ and https://totalalm.azurewebsites.net/
Lukasz Szyrmer
Program Manager
United Kingdom United Kingdom
Lukasz Szyrmer used to develop in C++ and C# and now manages development teams. He writes about agile, lasagna, and the cost of delay. If you are hungry for more, check out Debugging Velocity for a free chapter in his upcoming book.
Member 14750355
Yugoslavia Yugoslavia
No Biography provided
Mircea Neacsu
Canada Canada
No Biography provided
Oscar-Tark
Germany Germany
I am an avid programmer, my primary field has been .NET development on ERP systems. I branched out into PHP, Javascript and web development and now into Cyber-security.
OwenDavies
Architect
United Kingdom United Kingdom
I have been working in software development for over 16 years, during that time I have worn many hats.

I have worked as a Software Engineer, Architect, Agile Coach and Trainer. I’ve created teams, I’ve lead teams, but my main goal is to help teams build great software and enjoy the process.

I help a whole range of businesses – from startups with just an idea who want to build a team to take that idea into reality and FTSE 100 businesses who need to optimise existing teams – I train, mentor and coach them to success.

If you happen to know of anybody who could benefit from results like this, then please go to my contact page and get in touch.

Owen Davies
Rion Williams
Software Developer (Senior)
United States United States
An experienced Software Developer and Graphic Designer with an extensive knowledge of object-oriented programming, software architecture, design methodologies and database design principles. Specializing in Microsoft Technologies and focused on leveraging a strong technical background and a creative skill-set to create meaningful and successful applications.

Well versed in all aspects of the software development life-cycle and passionate about embracing emerging development technologies and standards, building intuitive interfaces and providing clean, maintainable solutions for even the most complex of problems.
Sacha Barber
Software Developer (Senior)
United Kingdom United Kingdom
I currently hold the following qualifications (amongst others, I also studied Music Technology and Electronics, for my sins)

- MSc (Passed with distinctions), in Information Technology for E-Commerce
- BSc Hons (1st class) in Computer Science & Artificial Intelligence

Both of these at Sussex University UK.

Award(s)

I am lucky enough to have won a few awards for Zany Crazy code articles over the years

  • Microsoft C# MVP 2016
  • Codeproject MVP 2016
  • Microsoft C# MVP 2015
  • Codeproject MVP 2015
  • Microsoft C# MVP 2014
  • Codeproject MVP 2014
  • Microsoft C# MVP 2013
  • Codeproject MVP 2013
  • Microsoft C# MVP 2012
  • Codeproject MVP 2012
  • Microsoft C# MVP 2011
  • Codeproject MVP 2011
  • Microsoft C# MVP 2010
  • Codeproject MVP 2010
  • Microsoft C# MVP 2009
  • Codeproject MVP 2009
  • Microsoft C# MVP 2008
  • Codeproject MVP 2008
  • And numerous codeproject awards which you can see over at my blog
sickfile
Macedonia, the Republic of Macedonia, the Republic of
No Biography provided
SleepyCrat
Software Developer
United States United States
Software developer in Nashville, TN(USA).
Southmountain
Software Developer
United States United States
turns good thoughts into actions...

Stas Wolski
Software Developer (Senior)
Russian Federation Russian Federation
Building web apps since 2001. Rich experience in HTML frontends for different platforms.
Steffen Ploetz
CEO Ploetz + Zeller GmbH
Germany Germany
No Biography provided
Stephane Capo
Chief Technology Officer Assoria
France France
I created Assoria company in 2007.
I supervise and participate in the development of Kigs framework, projects realized by Assoria as well as NEXT-BIM software.
Svetoslav Chekanov
Technical Lead Brosix
Bulgaria Bulgaria
I am a software development engineer .

Programming Languages: C/C++, Java, Delphi, HTML, CGI, Servlets, EJB, Assembly, CNC G-language
RDBMS Microsoft SQL Server 7.0, MySQL, MS Access, ODBC, JDBC

Networking: TCP/IP, Winsock, HTTP, HTTPS, FTP, SMTP, POP3, TELNET, IMAP, SOCKS 4/5, RTSP, CGI, MS Internet Information Server

Projects I have worked on:
  • Brosix
  • Screen-Sharing product
  • Video chat application
  • Java Virtual Machine
  • Application Server + Internet Proxy Services
  • Instant Messenger - like MSN and Yahoo ones
  • Voicer - Freeware VoIP application
  • SSH Proxy - SOCKS 4&5 Proxy that can relay TCP Connections through HTTPS Proxy
  • HTTP Proxy
  • SOCKS proxy
  • Battery Test Suite
  • Internet Address Book - Synchronizes local Outlook, Outlook Express, Netscape and Eudora address book with database on WEB server located in the Internet
  • Advertising Screen Saver - Screen Saver that sends e-mails and gain prizes for the computer owner
  • Proxy Send Mail - Send Mail service that can send e-mails through SOCKS 4, SOCKS 5 and HTTPS proxies
  • Proxy Hunter - Very fast, and also works as proxy checker
  • Java Disassembler
  • CNC Gravuring System
  • Little DOS games - when I was schoolboy
  • More information about my current work you can find here:
    www.brosix.com

    Terence Wallace
    Founder Arkitech EBC Corporation
    United States United States
    MS, BBA, software developer, consultant, and trainer. Specializing in building data-centric applications designed for business, university, community & faith based organizations. Started developing Excel VBA macros and never looked back. Freelance developer utilizing VB.Net, SQL Server, Microsoft Access, and ASP.Net.
    V.
    Software Developer
    Belgium Belgium
    Graduate Computer Sciences.
    My interests go out to music and movies.
    Author of the infamous MQOTD
    Creator of this video

    Owner of VMA Guitars
    Vassili Kravtchenko-Berejnoi
    Software Developer (Senior) Vassili Kravtchenko-Berejnoi Technical Computing
    Austria Austria
    No Biography provided
    Vlad Neculai Vizitiu
    Software Developer
    Romania Romania
    When asked, I always see myself as a .Net Developer because of my affinity for the Microsoft platform, though I do pride myself by constantly learning new languages, paradigms, methodologies, and topics. I try to learn as much as I can from a wide breadth of topics from automation to mobile platforms, from gaming technologies to application security.

    If there is one thing I wish to impart, that that is this "Always respect your craft, your tests and your QA"
    Wendelius
    Architect
    Europe Europe
    Biography provided

    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 - 29 Feb 2020