Click here to Skip to main content
15,886,753 members
This competition has ended

Best Article of May 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.
18 May 2023Maxim Kartavenkov
The series of articles covers most aspects of logging and tracing mechanisms which can be embedded into your application. It discusses simple ways of tracing and also new tracing technologies which were involved in Windows 10.
Please Sign up or sign in to vote.
1 May 2023Sean Ewington
In this article, I'm going to set up Home Assistant OS on a Raspberry Pi 4, then use CodeProject.AI Server to detect a person, and then have Home Assistant send a notification with an image to a mobile phone.
Please Sign up or sign in to vote.
4 May 2023Paulo Zemek
Using the ReaderWriterLockSlim correctly and avoiding a common mistake
Please Sign up or sign in to vote.
30 May 2023adriancs
Using textarea (HTML) as code editor with syntax highlighting support
Please Sign up or sign in to vote.
4 May 2023JayWalks
A walkthrough of code solving a real world problem
Please Sign up or sign in to vote.
29 May 2023André Marcos (Advisor), William Caetano Cardenas
Prototyping a Web System to Schedule Patients in Local Medical Clinics Oriented by Test Driven Development Guidelines Supported by PHP, PHPUnit and Symfony Framework Technologies
Please Sign up or sign in to vote.
10 May 2023Peter Huber SG
WPF design might have been too clever when using DIP (device independent pixels)
Please Sign up or sign in to vote.
10 May 2023Jovibor
List Control with tooltips, cells editing, colors, sorting, hyperlinks, columns hiding, and a lot more
Please Sign up or sign in to vote.
16 May 2023Glenn Viroux
A step-by-step tutorial on how to deploy your Next.js project to Firebase
Please Sign up or sign in to vote.
23 May 2023Chris Maunder
The second in a two-part series on detecting objects and evil rodents
Please Sign up or sign in to vote.
25 May 2023Mark Pelf
Tutorial on EF7 – Database First approach using GUI tools EFCorePowerTools
Please Sign up or sign in to vote.
4 May 2023Bruno van Dooren
Ways to deal with changed security for CLR code in SQL databases
Please Sign up or sign in to vote.
7 May 2023ToughDev
In my previous article I provided some information on the Tektronix TDS 340 100 MHz digital storage oscilloscope and instructions
Please Sign up or sign in to vote.
8 May 2023ToughDev
How to identify used and unused resources in VS Project Resources.resx file
Please Sign up or sign in to vote.
8 May 2023JBartlau
In this article, we discuss how embedded reporting tools like List & Label offer advanced design and formatting capabilities, enabling users to customize the layout, font and formatting of Pixel-Perfect reports.
Please Sign up or sign in to vote.
23 May 2023kurta999
Automotive development tools and other things
Please Sign up or sign in to vote.
15 May 2023Dawid Borycki
This article demonstrates the convenience of using native Arm Python 3.11 on Arm-powered devices to experience up to a threefold performance boost over using it in emulation mode.
Please Sign up or sign in to vote.
30 May 2023Nuralem Abizov
Discover how to create your own conversational Telegram bot powered by OpenAI's ChatGPT, with this step-by-step guide designed for beginners.
Please Sign up or sign in to vote.
8 May 2023Jan Dolinay
Library to work with servos and receivers for radio-controlled models in C
Please Sign up or sign in to vote.
25 May 2023Mark Pelf
Tutorial on EF7 – Database First approach using Command Line (CLI)
Please Sign up or sign in to vote.
7 May 2023ToughDev
How to build Wireshark 1.12.5 static binaries for CentOS 5
Please Sign up or sign in to vote.
8 May 2023ToughDev
Emulate parallel port printer to capture data from Tektronix 1230 Logic Analyzer
Please Sign up or sign in to vote.
7 May 2023ToughDev
How to interface TEA5767 FM Receiver with PIC using I2C
Please Sign up or sign in to vote.
24 May 2023Peter Huber SG
Let the user import, adjust and view images
Please Sign up or sign in to vote.
7 May 2023ToughDev
This post shows a way to change the default crontab editor in bash shell for Raspberry Pi.
Please Sign up or sign in to vote.
7 May 2023ToughDev
How to install Microsoft Web Deploy on Win7
Please Sign up or sign in to vote.
3 May 2023Mark Olbert
How to obtain information on the active display in a Windows UI 3 app
Please Sign up or sign in to vote.
8 May 2023Dathuraj Pasarge
Extract SQL Server DB inventory\baseline using TSQL and PowerShell scripts
Please Sign up or sign in to vote.
7 May 2023ToughDev
In order to facilitate transferring files from my main PC to my VirtualBox machine running MS-DOS 6.22, I installed Microsoft
Please Sign up or sign in to vote.
8 May 2023ToughDev
Code to set and get current time using the RTCC module on PIC24
Please Sign up or sign in to vote.
9 May 2023Henry A Gabb, John Pennycook
Learn about the Accelerators in Your System
Please Sign up or sign in to vote.
7 May 2023ToughDev
How to use NFS to transfer files between Windows and MS-DOS 6.22
Please Sign up or sign in to vote.
8 May 2023ToughDev
How to convert between NSString and C strings in iOS project
Please Sign up or sign in to vote.
8 May 2023ToughDev
How to interface Nokia 3510i and 5110 LCD with PIC Microcontroller
Please Sign up or sign in to vote.
7 May 2023ToughDev
How to allow only numeric input in TextBox
Please Sign up or sign in to vote.
7 May 2023ToughDev
Interesting findings about GSM SIEMENS TC35
Please Sign up or sign in to vote.
7 May 2023ToughDev
Fix high Windows memory usage caused by large metafile
Please Sign up or sign in to vote.
7 May 2023ToughDev
How to restore text from PDF files Encoded using custom CID fonts
Please Sign up or sign in to vote.
7 May 2023ToughDev
Solution for ‘Your layout should make use of the available space on tablets’ when uploading APK to Google Play
Please Sign up or sign in to vote.
7 May 2023ToughDev
How to interface NEO-6M GPS module to PIC
Please Sign up or sign in to vote.
11 May 2023Henry A Gabb, Nawal Copty
Accelerate Linear Algebra Computations with Standard, Open Approaches
Please Sign up or sign in to vote.
7 May 2023ToughDev
How to interface VS1053 Audio Encoder/Decoder Module with PIC using SPI
Please Sign up or sign in to vote.
11 May 2023bhupeshkietian
Learn how to set up a fresh Ubuntu installation with Docker, enabling you to leverage the power of containerization for efficient development and deployment.
Please Sign up or sign in to vote.
7 May 2023ToughDev
How to fix PDF Export Issues while using a Scriptcase Grid app
Please Sign up or sign in to vote.
7 May 2023ToughDev
How to fix ‘Search fields undefined’ error when generating source code for a Scriptcase gridview

Current Participants

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

Software Developer
Other Other
Programming is an art.
Business Analyst
Brazil Brazil
agile and devops enthusiast; master in computer science and professor in  technology courses; I have worked with projects and development for the telecommunication area
This is a Collaborative Group

5 members
Architect
India India
A seasoned technical architect with over 14 years of experience in developing and implementing software solutions for clients across various industries. Proficient in developing and maintaining software architectures, providing technical direction to development teams, and ensuring the timely delivery of high-quality software solutions. Excellent communication and interpersonal skills, with a proven ability to collaborate effectively with both technical and non-technical stakeholders.
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.
Founder CodeProject
Canada Canada
Chris Maunder is the co-founder of CodeProject and ContentLab.com, and has been a prominent figure in the software development community for nearly 30 years. Hailing from Australia, Chris has a background in Mathematics, Astrophysics, Environmental Engineering and Defence Research. His programming endeavours span everything from FORTRAN on Super Computers, C++/MFC on Windows, through to to high-load .NET web applications and Python AI applications on everything from macOS to a Raspberry Pi. Chris is a full-stack developer who is as comfortable with SQL as he is with CSS.

In the late 1990s, he and his business partner David Cunningham recognized the need for a platform that would facilitate knowledge-sharing among developers, leading to the establishment of CodeProject.com in 1999. Chris's expertise in programming and his passion for fostering a collaborative environment have played a pivotal role in the success of CodeProject.com. Over the years, the website has grown into a vibrant community where programmers worldwide can connect, exchange ideas, and find solutions to coding challenges. Chris is a prolific contributor to the developer community through his articles and tutorials, and his latest passion project, CodeProject.AI.

In addition to his work with CodeProject.com, Chris co-founded ContentLab and DeveloperMedia, two projects focussed on helping companies make their Software Projects a success. Chris's roles included Product Development, Content Creation, Client Satisfaction and Systems Automation.
Technical Lead
India India
Dathuraj Pasarge is having around 10 years of experience in the IT industry, and he began his career as .NET and SQL Server Developer. He currently associated with IBM India, being a Sr.Database Administrator, supporting end to end migration activities, providing HADR solutions, and working on complex BAU issues for multiple clients on MSSQL and
MySQL platform. He is very passionate about delivering trainings, mentoring, and writing blogs on different Database Management system forums.
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).”
Belgium Belgium
Aerospace engineer and software developer from Antwerp, Belgium.

Currently building https://ballisticapp.io
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.
Employed (other) Tomas Bata University in Zlin
Czech Republic Czech Republic
Works at Tomas Bata University in Zlin, Czech Republic. Teaches embedded systems programming. Interested in programming in general and especially in programming microcontrollers.
Business Analyst
Australia Australia
Coding since I was 10.
Love to geek and nerd out.
Love people and dogs.
CEO combit
Germany Germany
Leading the development at combit as Managing Director. Microsoft .NET enthusiast driving innovation & agile project management. Used to be a physicist in my first life. I love hiking and vanlife.
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.
Zaire Zaire
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Slovakia Slovakia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Jump for Joy Software
United States United States
Some people like to do crossword puzzles to hone their problem-solving skills. Me, I like to write software for the same reason.

A few years back I passed my 50th anniversary of programming. I believe that means it's officially more than a hobby or pastime. In fact, it may qualify as an addiction Smile | :) .

I mostly work in C# and Windows. But I also play around with Linux (mostly Debian on Raspberry Pis) and Python.
Software Developer
Serbia Serbia
Mark Pelf is the pen name of just another Software Engineer from Belgrade, Serbia.
My Blog https://markpelf.com/
Software Developer (Senior)
Russian Federation Russian Federation
I'm a professional multimedia developer (more than 10 years) in any kind of applications and technologies related to it, such as DirectShow, Direct3D, WinMM, OpenGL, MediaFoundation, WASAPI, Windows Media and other including drivers development of Kernel Streaming, Audio/Video capture drivers and audio effects. Have experience in following languages: C, C++, C#, delphi, C++ builder, VB and VB.NET. Strong knowledge in math and networking.
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.
Team Leader Re:start
Kazakstan Kazakstan
• 5+ YoE as an engineer. Last 3 years as a backend developer using Python, TS, and other linked technologies;
• In one of my previous companies (Halyk bank), I worked my way up from a junior developer to a senior developer in a very short time (half a year), got the highest scores as an employee in my department;
• Successfully designed and developed an end-to-end solution from scratch in a robotics startup as a Team Lead & Tech Lead member and managed a team of 7;
• Got a “Best Developer Project Kazakhstan” prize in Tekla BIM Awards International Project Competition;
• Currently, I’m a backend developer (TS + NodeJS) in Re:start Financial;
Software Developer (Senior) Microsoft
United States United States
I started to program computers when I was 11 years old, as a hobbyist, programming in AMOS Basic and Blitz Basic for Amiga.
At 12 I had my first try with assembler, but it was too difficult at the time. Then, in the same year, I learned C and, after learning C, I was finally able to learn assembler (for Motorola 680x0).
Not sure, but probably between 12 and 13, I started to learn C++. I always programmed "in an object oriented way", but using function pointers instead of virtual methods.

At 15 I started to learn Pascal at school and to use Delphi. At 16 I started my first internship (using Delphi). At 18 I started to work professionally using C++ and since then I've developed my programming skills as a professional developer in C++ and C#, generally creating libraries that help other developers do their work easier, faster and with less errors.

Want more info or simply want to contact me?
Take a look at: http://paulozemek.azurewebsites.net/
Or e-mail me at: paulozemek@outlook.com

Codeproject MVP 2012, 2015 & 2016
Microsoft MVP 2013-2014 (in October 2014 I started working at Microsoft, so I can't be a Microsoft MVP anymore).
Software Developer (Senior)
Singapore Singapore
Retired SW Developer from Switzerland living in Singapore

Interested in WPF projects.
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.

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 May - 31 May 2023