Click here to Skip to main content
15,883,337 members
This competition has ended

Best Article of April 2023

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.
1 Apr 2023Sergey Alexandrovich Kryukov
How to find out whether the Earth is flat or not? Just use the presented application and a digital camera.
Please Sign up or sign in to vote.
12 Oct 2023Graeme_Grant
.NET compliant Silent ClickOnce Update Background Worker Service for Winform, WPF & Console in C# & VB
Please Sign up or sign in to vote.
11 Apr 2023Kenneth Haugland
Practical implementations of the integrator expanded with more examples
Please Sign up or sign in to vote.
30 Apr 2023Federico Alterio
Convert an Event-based API to an awaitable pattern API
Please Sign up or sign in to vote.
2 Apr 2023Bruno van Dooren
In this article, I will explain Asynchronous Procedure Calls (APCs), their uses and their pitfalls
Please Sign up or sign in to vote.
10 Apr 2023Tough Developer
How to open 16-bit Win apps natively on 64-bit Windows using OTVDM/winevdm
Please Sign up or sign in to vote.
13 May 2023ToughDev
Exploring PCx86 - IBM PC emulator written in JavaScript
Please Sign up or sign in to vote.
11 Apr 2023Shao Voon Wong
Consuming Your C# Library in MFC/C++ Project via C++/CLI
Please Sign up or sign in to vote.
27 Jan 2024Shao Voon Wong
C++17 easy string to number and vice versa conversions in header-only class
Please Sign up or sign in to vote.
5 Apr 2023Kenji Elzerman
C# decorator pattern allows adding behavior to objects at runtime. In this tutorial, I show you how to implement the decorator pattern with C# in a minimal API.
Please Sign up or sign in to vote.
15 Apr 2023DavesApps
A way to catch / prevent race conditions in multithreaded code
Please Sign up or sign in to vote.
9 Apr 2023honey the codewitch
Mix wavs and waveforms with this simple to use library
Please Sign up or sign in to vote.
4 Apr 2023Tough Developer
How to troubleshoot slow C++ debugging with VS2022
Please Sign up or sign in to vote.
17 Apr 2023OriginalGriff
How to add images to a Winforms Project so they are accessible as resources
Please Sign up or sign in to vote.
11 Apr 2023IssamTP
A .NET XAML user control to get a simple PropertyGrid
Please Sign up or sign in to vote.
22 Apr 2023Coral Kashri
About C++20 Ranges library
Please Sign up or sign in to vote.
11 Apr 2023Stanislav Iakovlev
How to write the first autotest for an Android app
Please Sign up or sign in to vote.
17 Apr 2023pdoxtader
Very fast image processing without use of unsafe code
Please Sign up or sign in to vote.
3 Apr 2023Mike Hankey
Project like "Simon Says"
Please Sign up or sign in to vote.
20 Apr 2023rover tamarys
Chromedriver and how to use it
Please Sign up or sign in to vote.
5 Apr 2023ToughDev
Tandy Deskmate on DOSBox v0.7.4
Please Sign up or sign in to vote.
4 Apr 2023ToughDev
How to use Raspberry Pi Zero Wireless as cheap CCTV camera replacement
Please Sign up or sign in to vote.
4 Apr 2023Mike Meinz
Demonstrates two functions to retrieve the current Windows System Audio Volume and set Audio Volume.
Please Sign up or sign in to vote.
7 Apr 2023Sean Ewington
This article is a continually updated FAQ on how to use Blue Iris with CodeProject.AI Server
Please Sign up or sign in to vote.
4 Apr 2023Tough Developer
How to get Linux to boot on DOSBox-X
Please Sign up or sign in to vote.
7 Apr 2023Mostafa Hashemi _
Machine Learning & coefficients using MLPack
Please Sign up or sign in to vote.
26 Apr 2023Dawid Borycki
This article shows you how to reduce the computation time of the x64 architecture by 40 percent by making simple changes.
Please Sign up or sign in to vote.
24 Apr 2023LeisureBamboo
Some kinds of DCR files' format/data structure
Please Sign up or sign in to vote.
5 Apr 2023ToughDev
How to play the classic MS-DOS game - Alley Cat - from your browser
Please Sign up or sign in to vote.
4 Apr 2023Tough Developer
How to emulate EEPROM using Flash Memory on dsPIC33EP512MC502
Please Sign up or sign in to vote.
4 Apr 2023Tough Developer
How to power off a computer using ACPI from DOS
Please Sign up or sign in to vote.
4 Apr 2023Tough Developer
How to compile WinQEMU v0.10.2 in VS2008 and VS2012
Please Sign up or sign in to vote.
4 Apr 2023Tough Developer
Slow Conditional Breakpoints with C++ in VS2022
Please Sign up or sign in to vote.
4 Apr 2023Tough Developer
Available on AliExpress, the 360Eyes Pro (also known as IPC365, from the default network host name of this camera) is
Please Sign up or sign in to vote.
4 Apr 2023Tough Developer
The Floureon 720p/1080p CCTV camera is available from many sellers on eBay and Amazon. This camera supports night vision as well as pan-tilt-zoom (PTZ)
Please Sign up or sign in to vote.
5 Apr 2023Tough Developer
How to simulate key presses on Android devices
Please Sign up or sign in to vote.
4 Apr 2023Pete O'Hanlon
Process to create a Visual Studio Code extension that interacts with the editor window
Please Sign up or sign in to vote.
6 Apr 2023Tough Developer
How to measure temperature using the dsPIC CTMU
Please Sign up or sign in to vote.
7 Apr 2023Mostafa Hashemi _
Mean absolute error calculation in C++
Please Sign up or sign in to vote.
22 Apr 2023Coral Kashri
More about explicit(bool) C++20
Please Sign up or sign in to vote.
22 Apr 2023Coral Kashri
Involves usage example of shared_ptr aliasing constructor, design patterns reflection and factory, metaprogramming, string_view and variant/visit.
Please Sign up or sign in to vote.
22 Apr 2023Coral Kashri
In this article you will see how to save bytes and alignment when containing some types inside a structure.
Please Sign up or sign in to vote.
22 Apr 2023Coral Kashri
More about smart memory management in C++
Please Sign up or sign in to vote.
22 Apr 2023Coral Kashri
Shared ptr allocations and initializations
Please Sign up or sign in to vote.
22 Apr 2023Coral Kashri
Smart memory management
Please Sign up or sign in to vote.
22 Apr 2023Coral Kashri
RunTime Reflection in C++
Please Sign up or sign in to vote.
22 Apr 2023Coral Kashri
How to implement a compile-time Decorator
Please Sign up or sign in to vote.
22 Apr 2023Coral Kashri
How to correctly implement design patterns in C++
Please Sign up or sign in to vote.
22 Apr 2023Coral Kashri
Hash your conditions in C++

Current Participants

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

Software Developer
Belgium Belgium
I am a former professional software developer (now a system admin) with an interest in everything that is about making hardware work. In the course of my work, I have programmed device drivers and services on Windows and linux.

I have written firmware for embedded devices in C and assembly language, and have designed and implemented real-time applications for testing of satellite payload equipment.

Generally, finding out how to interface hardware with software is my hobby and job.
Software Developer (Senior)
Israel Israel
Senior C++ developer.
C++ Senioreas blog writer.
Passionate about investigating the boundaries and exploring the advanced capabilities of C++.
United States United States
Languages/frameworks: C#, .NET, ASP.NET, C/C++, WPF
Experienced in Web development, UI development, frameworks and multi-threading.


Author of the book Essential Software Development Career + Technical Guide.
https://www.amazon.com/dp/B0BXHYWMDP/

Check out our website at:
https://essentialsoftwaredevelopment.com/
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).”
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Technical Lead
Australia Australia
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
Just a shiny lil monster. Casts spells in C++. Mostly harmless.
Software Developer (Senior)
Italy Italy
Married with C++.
Software Developer (Senior) Kens Learning Curve
Netherlands Netherlands
I am a C# developer for over 20 years. I worked on many different projects, different companies, and different techniques. I was a C# teacher for people diagnosed with ADHD and/or autism. Here I have set up a complete training for them to learn programming with C#, basic cloud actions, and architecture. The goal was to help them to learn developing software with C#. But the mission was to help them find a job suitable to their needs.

Now I am enjoying the freedom of traveling the world. Learning new ways to teach and bring information to people through the internet.
Chief Technology Officer
Norway Norway
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
China China
BLOGS(gb2312):
-----------------
https://leisurebamboo1.blogspot.com
https://leisurebamboo.wordpress.com
Retired
United States United States
Currently enjoying retirement and working on projects without pressure, deadlines or any kind of management.
Retired
United States United States
I’m retired. When I started my career, programming projects consisted of plugging wires into plug boards to create punch card processing applications to be run on electrical accounting machine like the IBM 402, 407, 085, 088, 514, 519, etc. From there, I moved to writing SPS and Autocoder applications on an IBM 1401 with 4K of memory eventually upgraded to 16K of memory. After many years of migrating my skills to various languages on various hardware platforms, I became an Information Technology Director where I didn’t need to program anymore. So, starting in 1996, I volunteered my time with a local community cable television organization and built some applications to help them run their operations. Originally in Clipper Summer 1987 and later Clipper 5.2, I migrated and enhanced those applications to VB .NET 2003 in 2003. I retired from my full-time job in 2010. Since then, I have continued to support the local community cable tv organization's applications. In 2013, I migrated the VB .NET 2003 Solution to VB .NET 2012 so that it can run on 64-bit computers and interact with Microsoft Office 2010. The upgrade went smoothly. In mid 2013, I developed a VB .NET 2012 application for them to download election results data from the Secretary of State's web site, format the results and send them to a VizRT character generator for on-air display.
Technical Writer
Singapore Singapore
Since 2008, ToughDev has been publishing technical sharing articles on a wide range of topics from software development to electronics design. Our interests include, but are not limited to, Android/iOS programming, VoIP products, embedded design using Arduino/PIC microcontrollers, reverse-engineering, retro-computing, and many others. We also perform product reviews, both on new and vintage products, and share our findings with the community. In addition, our team also develops customized software/hardware solutions highly adapted to suit your needs. Contact us for more information.
Software Developer (Senior)
Iran (Islamic Republic of) Iran (Islamic Republic of)
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
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?
President Doxtader Industries LLC
United States United States
I've been in IT for the last 25 years in one capacity or another - always as either a network engineer or a developer... or both. At the moment I have an IT consultancy in Long Island, NY offering software development and network engineer services.
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.
Technical Writer CodeProject
Canada Canada
Sean Ewington is the Content Manager for CodeProject.

His background in programming is primarily C++ and HTML, but has experience in other, "unsavoury" languages.

He loves movies, and likes to say inconceivable often, even if it does not mean what he thinks it means.
Architect
United States United States
Physics, physical and quantum optics, mathematics, computer science, control systems for manufacturing, diagnostics, testing, and research, theory of music, musical instruments… Contact me: https://www.SAKryukov.org
Software Developer (Senior)
Singapore Singapore
Shao Voon is from Singapore. His interest lies primarily in computer graphics, software optimization, concurrency, security, and Agile methodologies.

In recent years, he shifted focus to software safety research. His hobby is writing a free C++ DirectX photo slideshow application which can be viewed here.
Tester / Quality Assurance inDrive
Cyprus Cyprus
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 Apr - 30 Apr 2023