Click here to Skip to main content
15,879,239 members
This competition has ended

Best C# Article of November 2016

Contribute to CodeProject and you'll automatically be in the running for a monthly prize!

Each month at CodeProject we gather together the best of the articles submitted the previous month and ask our readers to choose the best of the best. Entry is automatic - just submit you articke and we'll do the rest.

Check out the submission guidelines for information on posting articles.

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.
14 Dec 2018Dmitriy Gakh
The perspectives of creating bots that write programs with two simple examples.
Please Sign up or sign in to vote.
21 Nov 2016Kornfeld Eliyahu Peter
How to host a cross-platform ASP.NET Core application
Please Sign up or sign in to vote.
25 Nov 2016kannankeril
This article is an attempt at splitting out the controller layer to reduce its complexity and improve quality and maintainability of the resulting code.
Please Sign up or sign in to vote.
17 Nov 2016winsonet
Create and download the file with Ajax call in ASP.NET MVC
Please Sign up or sign in to vote.
28 Nov 2016Clifford Nelson
The WPF WebBrower control leaves a lot to be desired.
Please Sign up or sign in to vote.
8 Nov 2016mblataric
Instructions on how to migrate existing XAF security system to new permission policy.
Please Sign up or sign in to vote.
14 Nov 2016Peter N Robinson
Press either CTRL key to find out where the mouse pointer is...
Please Sign up or sign in to vote.
8 Nov 2016Niemand25
A simple way to place any ObjectListView inside a ComboBox
Please Sign up or sign in to vote.
10 Nov 2016Mehedi Shams
Coding a simple magic with cards!
Please Sign up or sign in to vote.
18 Nov 2016jamuro77
"Equals" method vs. "==" operator
Please Sign up or sign in to vote.
14 Dec 2016Rahul Sabharwal
Setting up Angular2 in Visual Studio 2015 update 3
Please Sign up or sign in to vote.
17 Nov 2016saransh89
How to create stack bar chart using AngularJs and ChartJS
Please Sign up or sign in to vote.
23 Nov 2016robert_chang
Learn how easy it is to write a console application to find the Congressional District of a U.S. address using free geocoding web services.
Please Sign up or sign in to vote.
6 Jan 2017Mark Vinod Sinnathamby
This post is a tutorial that is complimentary to the session I did, demonstrating the steps of how a simple holographic application can be built and deployed in the HoloLens emulator.
Please Sign up or sign in to vote.
10 Nov 2016Paulo Zemek
Small tip on how to use WriteableBitmap for Universal Apps in C#
Please Sign up or sign in to vote.
29 Nov 2016Miguel Diaz Kusztrich
Adding tools to help estimate the correct delay and embedding dimension
Please Sign up or sign in to vote.
13 Nov 2016Jack Vanlightly
In this article we'll look at common patterns in batch processing and how the Taskling libraries provide a simple and reliable way of using those patterns in your C# batch jobs.
Please Sign up or sign in to vote.
12 Nov 2016Daniel Vaughan
Using resource switching to support multiple deployment scenarios in Xamarin.Android projects.
Please Sign up or sign in to vote.
17 Nov 2016B. Clay Shannon
Generate a PivotTable from raw data with minimal code using the Aspose.Cells 3rd Party Library
Please Sign up or sign in to vote.
28 Nov 2016Zebedee Mason
Or why not both? This shows how.
Please Sign up or sign in to vote.
29 Nov 2016Kemeny Attila
A complete example of using the WCF data contract surrogate
Please Sign up or sign in to vote.
5 Nov 2016HUONG Minh-Luong
Introduction to H-Mapper
Please Sign up or sign in to vote.
14 Nov 2016Simon Jackson
    For my sins, I was asked back to FutureDecoded again this year to give a talk on the Microsoft UWP platform, specifically about bringing games to the XboxOne using UWP.  By all accounts the session went well (especially as there was standing room only by the time the …
Please Sign up or sign in to vote.
3 Nov 2016Metaphysico
Fix for issue with TestContext.BeginTimer("TimerName");
Please Sign up or sign in to vote.
4 Nov 2016Nagaraj Muthuchamy
Design and implementation of custom pagination and cascaded filtering with rad grid.
Please Sign up or sign in to vote.
8 Nov 2016Afzaal Ahmad Zeeshan
In this post, I will show you how to create a small script to automate the deployment of your ASP.NET Core applications to Microsoft Azure using local git deployment.
Please Sign up or sign in to vote.
15 Nov 2016scott_liu
Sometimes, a bug fix cannot meet the challenges by a regression test. So thinking twice for a better solution is worthwhile for troubleshooting and bug fixes.
Please Sign up or sign in to vote.
18 Nov 2016B. Clay Shannon
Based on some condition, hide a range (actually a specified number of contiguous rows) on a spreadsheet with Aspose Cells
22 Nov 2016Frank Rem
This article explains how to render PDF pages with Xamarin.Android.
Please Sign up or sign in to vote.
24 Nov 2016levelnis
How to use DataTables with Web API Part 2: Making a POST request
Please Sign up or sign in to vote.
5 Jan 2017Midi_Mick
Accessing the Windows Property System in the Shell
Please Sign up or sign in to vote.
9 Nov 2016wim4you
Short introduction and first trial implementation in C#
Please Sign up or sign in to vote.
3 Nov 2016Dave Kerr
In this article, I'm going to demonstrate a few tips and tricks which can make your life easier when you are building or maintaining Dockerfiles.
Please Sign up or sign in to vote.
16 Nov 2016APE-Germany
A simple class which allows to encrypt/decrypt a string with a password (AES/SHA2)
Please Sign up or sign in to vote.
30 Nov 2016PIEBALDconsult
Performs replacements within strings
Please Sign up or sign in to vote.
8 Nov 2016Paulo Zemek
This article presents the PropertyPathObserver class, which allows for faster bindings and more.
Please Sign up or sign in to vote.
17 Nov 2016RandyBuchholz
MVC Core opens new ways to managing View locations and enables moving from the flat project structure of the Views folder to a layered, nested, or distributed Views project structure.
Please Sign up or sign in to vote.
2 Jan 2017Rasik Bihari Tiwari
Let's get our hands dirty with new features of upcoming version 7 of C# language in .NET Framework
Please Sign up or sign in to vote.
14 Feb 2018Frantisek Ruzicka
Usage of my FontAwesome Image/Icon generator for WinForms
Please Sign up or sign in to vote.
20 Dec 2016Antonio Nakić Alfirević
A better approach for storing and restoring application state
Please Sign up or sign in to vote.
24 Feb 2017Ebenezar John Paul
An Ideal Code Review Checklist that applies for most programming languages
Please Sign up or sign in to vote.
28 Nov 2017Petru Faurescu
How to build step by step an ASP.NET Core WebAPI (.NET Core 2.0) with latest MongoDB driver. The project supports all requests to MongoDB asynchronously.
Please Sign up or sign in to vote.
16 Nov 2017HHerzl
Creating Angular2 Application with ASP.NET Core Template Pack in VS 2015
Please Sign up or sign in to vote.
25 Nov 2016Daniel Vaughan
A fun Xamarin Forms implementation of the game Sokoban, demonstrating how to port a UWP puzzle game to both Android and iOS while sharing nearly all code across platforms.
Please Sign up or sign in to vote.
22 Nov 2016Mahesh Patil
Key issues in setting up VS 2015 for debugging applications running on local docker container
Please Sign up or sign in to vote.
30 Mar 2017Boris Zinchenko
BPMN Model Interchange on Microsoft .NET platform. View BPMN diagrams from all major vendors.
Please Sign up or sign in to vote.
14 Nov 2016Vincent Maverick Durano
A quick demo tutorial on how to setup .NET Core on Mac and creating a simple ASP.NET Core app that talks to PostgreSQL database, and running it on Docker.
Please Sign up or sign in to vote.
7 Nov 2016Dirk_Strauss
In this article by Dirk Strauss, author of the book C# Programming Cookbook, he sheds some light on how to handle events, exceptions and tasks in asynchronous programming, making your application responsive.
Please Sign up or sign in to vote.
24 Nov 2016levelnis
How to use datatables with Web API - making a simple GET request

Current Participants

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

Software Developer
Pakistan Pakistan
Afzaal Ahmad Zeeshan is a computer programmer from Rabwah, Pakistan, currently living in The Netherlands, likes .NET Core and Node.js for regular everyday development. Afzaal Ahmad works at Adyen as a Developer Advocate.

He is an expert with Cloud, Mobile, and API development. Afzaal has experience with the Azure platform and likes to build cross-platform libraries/software with .NET Core. Afzaal is an Alibaba Cloud MVP, twice he has been awarded Microsoft MVP status for his community leadership in software development, four times CodeProject MVP status for technical writing and mentoring, and 4 times C# Corner MVP status in the same field.
Software Developer (Senior) Recro-Net
Croatia Croatia
I have been an a(tra)ctive software developer since 2005 mostly working on .NET. Currently living and working in Zagreb Croatia. I have earned my masters degree in Computer Science at the Faculty of Electrical Engineering and Computer Science in Zagreb in 2006.
Software Developer (Junior)
Germany Germany
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Founder Across Time & Space
United States United States
I am in the process of morphing from a software developer into a portrayer of Mark Twain. My monologue (or one-man play, entitled "The Adventures of Mark Twain: As Told By Himself" and set in 1896) features Twain giving an overview of his life up till then. The performance includes the relating of interesting experiences and humorous anecdotes from Twain's boyhood and youth, his time as a riverboat pilot, his wild and woolly adventures in the Territory of Nevada and California, and experiences as a writer and world traveler, including recollections of meetings with many of the famous and powerful of the 19th century - royalty, business magnates, fellow authors, as well as intimate glimpses into his home life (his parents, siblings, wife, and children).

Peripatetic and picaresque, I have lived in eight states; specifically, besides my native California (where I was born and where I now again reside) in chronological order: New York, Montana, Alaska, Oklahoma, Wisconsin, Idaho, and Missouri.

I am also a writer of both fiction (for which I use a nom de plume, "Blackbird Crow Raven", as a nod to my Native American heritage - I am "½ Cowboy, ½ Indian") and nonfiction, including a two-volume social and cultural history of the U.S. which covers important events from 1620-2006:
Chief Technology Officer CaseAgile LLC
United States United States
A proven experience in business process migration among all major platforms and environments. Reengineering, Analysis and Redocumentation with SAP® Solution Manager, Oracle® BPA Suite, Software AG (IDS Scheer) ARIS® Platform, Fujitsu Interstage BPM Suite (i-Flow), TIBCO® Business Studio, Casewise® Corporate Modeler Suite, IBM Rational Method Composer and WebSphere® Business Modeler, Metastorm® ProVision, Microsoft® SharePoint® and Visio®, UDDI Webservice Repositories, Sparx® Enterprise Architect, HP Universal CMDB with XML, XPDL, XMI, eEPC, BPMN, UML.
Software Developer (Senior) Clifford Nelson Consulting
United States United States
Has been working as a C# developer on contract for the last several years, including 3 years at Microsoft. Previously worked with Visual Basic and Microsoft Access VBA, and have developed code for Word, Excel and Outlook. Started working with WPF in 2007 when part of the Microsoft WPF team. For the last eight years has been working primarily as a senior WPF/C# and Silverlight/C# developer. Currently working as WPF developer with BioNano Genomics in San Diego, CA redesigning their UI for their camera system. he can be reached at
Switzerland Switzerland
Daniel is a former senior engineer in Technology and Research at the Office of the CTO at Microsoft, working on next generation systems.

Previously Daniel was a nine-time Microsoft MVP and co-founder of Outcoder, a Swiss software and consulting company.

Daniel is the author of Windows Phone 8 Unleashed and Windows Phone 7.5 Unleashed, both published by SAMS.

Daniel is the developer behind several acclaimed mobile apps including Surfy Browser for Android and Windows Phone. Daniel is the creator of a number of popular open-source projects, most notably Codon.

Would you like Daniel to bring value to your organisation? Please contact

Blog | Twitter

Xamarin Experts
Windows 10 Experts
Software Developer
United Kingdom United Kingdom
Follow my blog at and find out about my charity at
Software Developer (Senior)
South Africa South Africa
With over 17 years of experience programming with C# and Visual Studio, I have worked for various companies throughout my career. I have been privileged to work with and learn from some of the most brilliant developers in the industry. I have authored several books on topics ranging from Visual Studio and C# to ASP.NET Core. I am passionate about writing code and love learning new tech and imparting what I know to others.
Software Developer (Senior)
Azerbaijan Azerbaijan
Software Developer/Analyst/Architect/Researcher, IT Application Expert, Trainer-Instructor

Current project:
Software Developer Gislen Software
India India
Ebenezar John Paul is a Software programmer & Blogger. He loves to code and rethinks the conventional way of the world.

He believes that pushing limits is the only way to find out what we are really capable of, which is how the human race can redefine impossible and perfection.

And he prefers ideas over rules, results over excuses, people over things, satisfaction over completion and passion over any other.
Software Developer
Netherlands Netherlands
Worked for some years as a software engineer, architect and project leader for different software companies. Works at TallComponents, vendor of class libraries for creating, manipulating and rendering PDF documents.
Software Developer
Slovakia Slovakia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer
El Salvador El Salvador
CatFactory Creator.

Full Stack Developer with Experience in C#, Entity Framework Core, ASP.NET Core and Angular.
France France
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Spain Spain
I am a software architect/engineer that has been working on backend systems for 12 years. In recent years I have focused on event-driven architectures, data analytics, batch processing and software testing.

I write mostly on my own blog at
Spain Spain
Telecommunication Engineer by University of Zaragoza, Spain.

Passionate Software Architect, MCPD, MCAD, MCP. Over 10 years on the way building software.

Mountain Lover, Popular Runner, 3km 8'46, 10km 31'29, Half Marathon 1h08'50, Marathon 2h27'02. I wish I could be able to improve, but It's difficult by now
United States United States
ASP.Net Developer
Seattle, WA
Architect Nexogen
Hungary Hungary
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer (Senior)
Israel Israel
Born in Hungary, got my first computer at age 12 (C64 with tape and joystick). Also got a book with it about 6502 assembly, that on its back has a motto, said 'Try yourself!'. I believe this is my beginning...

Started to learn - formally - in connection to mathematics an physics, by writing basic and assembly programs demoing theorems and experiments.

After moving to Israel learned two years in college and got a software engineering degree, I still have somewhere...

Since 1997 I do development for living. I used 286 assembly, COBOL, C/C++, Magic, Pascal, Visual Basic, C#, JavaScript, HTML, CSS, PHP, ASP, ASP.NET, C# and some more buzzes.

Since 2005 I have to find spare time after kids go bed, which means can't sleep to much, but much happier this way...

Free tools I've created for you...

Technical Lead Levelnis Ltd
United Kingdom United Kingdom
Follow along my journey as I create a newsletter about launching websites. Just message me with "I'm in" and I'll add you
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.
Architect Interacx
United States United States
Home Page:

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.
Technical Lead Exilesoft
Sri Lanka Sri Lanka
Mark is a Technical Lead at Exilesoft, whose passion lies in coding, mentoring, and fueling technical innovation. In the past, he has worked as a developer for a product engineering company, an ERP/Technical Consultant in a Fortune 500 conglomerate, and also as a senior engineer for a startup in the manufacturing and design space. His current areas of research revolve around Enterprise Architecture, Big Data, NoSQL Technology, and Machine Learning.

In his spare time, Mark experiments with (computer) game design/development, operating system internals, and compiler design. He also discusses and blogs about various topics surrounding software development, computer science, game programming, and mathematics, which can be read at Feel free to email or message him anytime and strike up a conversation.
Croatia Croatia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer
Bangladesh Bangladesh
A software developer mainly in .NET technologies and SQL Server. Love to code and learn.
Software Developer
United States United States
I am currently an Automation Developer working on Coded UI Frameworks using Selenium, Load Testing Frameworks and Dynamic Data Frameworks for the prior mentioned testing systems. I maintain all of the software and hardware for our build, release and test systems, mostly using TFS, powershell and Hyper-V as well as building and maintaining Automated test systems.

SQL, Software Development, Microsoft SQL Server, Agile Methodologies
C#, JavaScript, HTML, C++, Markdown, XAML, XML
Quality Testing, Coded UI Testing, Selenium Testing, Load Testing
ALM, Team Foundation Server/VSO, Build Administration
Databases SQL/Oracle, Software and Hardware Installation/Maintenance
Troubleshooting, Project Management,
Solid State Electronics, Pulse Width Modulation, Metal Casting, Carbon Fiber Casting, Powder Coating.
Software Developer
Australia Australia
Been programming for 40 years now, starting when I was 13 on DEC PDP 11 (back in the day of paper tape storage, and hex switch boot procedures). Got right into micro-computers from an early age, with machines like the Dick Smith Sorcerer and the CompuColor II. Started CP/M and MS-DOS programming in the mid 1980's. By the end of the '80's, I was just starting to get a good grip on OOP (Had Zortech C++ V1.0).

Got into ATL and COM programming early 2002. As a result, my gutter vocabulary has expanded, but it certainly keeps me off the streets.

Recently, I have had to stop working full time as a programmer due to permanent brain damage as a result of a tumour (I just can't keep up the pace required to meet KPI's). I still like to keep my hand in it, though, and will probably post more articles here as I discover various tricky things.
Software Developer (Senior) Free lance
Spain Spain
I'm working with computers since the 80's of the past century, when I received as a present a 48K Spectrum which changed all my life plans, from a scientific career to a technical one. I started working in assembler language, in low lewel systems, mainly in the electromedical field. Today I work as a freelance, mainly in .NET Framework / database solutions, using the C# language.

I'm interested in scientific computer applications, and I,m learning AI and data analytics technics. I also own a technical blog,, where I publish some of the practice works of this learning process.
Software Developer (Senior) Cognizant
India India
Software developer with 10 years experience in developing .NET web applications.
Business Analyst Linden
Lithuania Lithuania
I'm a lawyer in a law firm. Programing is my hobby.
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:
Or e-mail me at:

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).
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Denmark Denmark
My name is Petru Faurescu and I am a solution architect and technical leader. Technical blog:
Software Developer (Senior)
United States United States
BSCS 1992 Wentworth Institute of Technology

Originally from the Boston (MA) area. Lived in SoCal for a while. Now in the Phoenix (AZ) area.

OpenVMS enthusiast, ISO 8601 evangelist, photographer, opinionated SOB, acknowledged pedant and contrarian


"I would be looking for better tekkies, too. Yours are broken." -- Paul Pedant

"Using fewer technologies is better than using more." -- Rico Mariani

"Good code is its own best documentation. As you’re about to add a comment, ask yourself, ‘How can I improve the code so that this comment isn’t needed?’" -- Steve McConnell

"Every time you write a comment, you should grimace and feel the failure of your ability of expression." -- Unknown

"If you need help knowing what to think, let me know and I'll tell you." -- Jeffrey Snover [MSFT]

"Typing is no substitute for thinking." -- R.W. Hamming

"I find it appalling that you can become a programmer with less training than it takes to become a plumber." -- Bjarne Stroustrup

ZagNut’s Law: Arrogance is inversely proportional to ability.

"Well blow me sideways with a plastic marionette. I've just learned something new - and if I could award you a 100 for that post I would. Way to go you keyboard lovegod you." -- Pete O'Hanlon

"linq'ish" sounds like "inept" in German -- Andreas Gieriet

"Things would be different if I ran the zoo." -- Dr. Seuss

"Wrong is evil, and it must be defeated." –- Jeff Ello

"A good designer must rely on experience, on precise, logical thinking, and on pedantic exactness." -- Nigel Shaw

“It’s always easier to do it the hard way.” -- Blackhart

“If Unix wasn’t so bad that you can’t give it away, Bill Gates would never have succeeded in selling Windows.” -- Blackhart

"Use vertical and horizontal whitespace generously. Generally, all binary operators except '.' and '->' should be separated from their operands by blanks."

"Omit needless local variables." -- Strunk... had he taught programming
Technical Lead
Australia Australia
Have more than 10 years of experience in .Net Technologies.
Mostly focused on Web Applications in .Net MVC and Angular/React
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer 1E
India India
My professional details will hardly make a difference to you if you have come to know about me after reading my lengthy article but my intent will make a difference for sure. Why I write articles is for the sole motto which I got to know pretty late in my career. My motto is that there is ONLY one way of enhancing knowledge and that way is sharing. Blogs, articles and white papers are nothing but a form of knowledge sharing. It also helps you creating a backup copy of the knowledge you have in your brain and nerves. This backup copy will surely outlive your life as this knowledge gets transferred to uncountable people through sharing. So start contributing now! Always remember my favorite quote - "Knowledge is the ONLY antidote to all fears. Start reading a new book today". Don't seek Nirvana. Seek knowledge. Nirvana and knowledge are synonymous.
Software Developer (Senior)
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer
India India
Saransh Karoliwal is a highly motivated, high-energy individual with a passion for writing useful software and working with the latest technologies. I am having MCPD certificate. Currenlly working with AngularJs, Bootstrap, Chartjs, Dotnet Core, WEBAPI Core, EntityFrameWork Core, Sql Server. I am Passionate to learn more and more and more.
I am more interested in travel around the eat food of all type Smile | :) ........
Software Developer (Senior)
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Architect ZenithMoon Studios
United Kingdom United Kingdom
Long-time game developer / IT maniac.
By day I architect, design, build and deliver enriching Mixed Reality solutions to clients, bringing the work of AR/VR to light in new and interesting ways, by night I Masquerade as the Master Chief of ZenithMoon Studios, my own game development studio.

At heart, I am a community developer breaking down lots of fun and curious technologies and bringing them to the masses.

I'm also a contributor to several open-source projects, most notably, the Reality Toolkit and all the services provided by the Reality Collective, The Unity-UI-Extensions project, as well as in the past the AdRotator advertising rotator project for Windows and Windows Phone.

Currently, I spend my time fulfilling contracts in the Mixed Reality space (primarily for an XR experience firm called Ethar), writing books, technically reviewing tons of material and continuing my long tradition of contributing to open-source development, as well as delivering talks, but that goes without saying Big Grin | :-D

Mixed Reality MVP, Xbox Ambassador, MS GameDevelopment Ambassador & Best selling author:

[Accelerating Unity Through Automation](
[Mastering Unity 2D Game Development] (
[Unity 3D UI Essentials] (
United States United States
A code monkey who loves to drink beer, play guitar and listen to music.

My Tech Blog:
My Youtube Channel:

I currently work as a Solutions Architect and we build "cool things" to help people improve their health.

With over 14 years of professional experience working as a Sr. Software Engineer specializing mainly on Web and Mobile apps using Microsoft technologies. My exploration into programming began at the age of 15;Turbo PASCAL, C, C++, JAVA, VB6, Action Scripts and a variety of other equally obscure acronyms, mainly as a hobby. After several detours, I am here today on the VB.NET to C# channel. I have worked on Web Apps + Client-side technologies + Mobile Apps + Micro-services + REST APIs + Event Communication + Databases + Cloud + Containers , which go together like coffee crumble ice cream.

I have been awarded Microsoft MVP each year since 2009, awarded C# Corner MVP for 2015, 2016,2017 and 2018, CodeProject MVP, MVA, MVE, Microsoft Influencer, Dzone MVB, Microsoft ASP.NET Site Hall of Famer with All-Star level and a regular contributor at various technical community websites such as CSharpCorner, CodeProject, ASP.NET and TechNet.

Books written:
" Book: Understanding Game Application Development with Xamarin.Forms and ASP.NET
" Book (Technical Reviewer): ASP.NET Core and Angular 2
" EBook: Dockerizing ASP.NET Core and Blazor Applications on Mac
" EBook: ASP.NET MVC 5- A Beginner's Guide
" EBook: ASP.NET GridView Control Pocket Guide
Netherlands Netherlands
Retired hobby programmer.
Web Developer
Hong Kong Hong Kong
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
United Kingdom United Kingdom
Mathematician turned freelance Software Engineer with over 20 years experience, mainly in the development of CAD/CAM/CAE software. Generally worked for smaller businesses - although have been at Lloyd's Register, Siemens and Rolls-Royce. Enjoy living on the edge of the Peak District where I go cycling and hiking.

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. With the exception of the Everything Else category, the article must be tagged with at least one of the tags corresponding to that competition's category (for example, to enter the C# Competition you would need to tag your article with a C# tag).
  4. Articles entries must follow the CodeProject submission guidelines.
  5. No cheating, lying, plagiarizing articles, chicanery, or kicking.
  6. Articles may only be considered for a single category. If an article is eligible for multiple categories (for example, it pertains to both the C# and Web Dev categories), CodeProject editors and judges will decide which category the article shall be entered in.
  7. No author can be nominated twice in the same category.
  8. If an author writes has two separate articles, each article may be considered in their respective categories provided none of the aforementioned rules are broken. For example, if an author wrote two separate articles, one related to C# and one related to VB.NET, the author and articles could be nominated in the C# and VB.NET competitions, respectively.
  9. In the event an author wins multiple competitions, and repeat, identical prizes, the number of prizes issued is solely at the discretion of the prize issuer.
  10. 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.
  11. In the event of a tie,  the number of prizes issued is solely at the discretion of the prize issuer.
  12. Multiple votes from the same IP will be automatically disqualified.
  13. The judges’ decision is final and no correspondence will be entered into.
  14. Only those who live in jurisdictions in which this contest is legal may enter.
  15. Any breach of the rules and the prize will be awarded to the runner up.
  16. 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.
  17. 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.


This competition is open to software development professionals & enthusiasts who are of the age of majority in their jurisdiction of residence; however, residents of Quebec and of the following countries are ineligible to participate due to legal constraints: Cuba, Iran, Iraq, Libya, North Korea, Sudan, and Syria. Employees (or a member of their immediate family) of CodeProject or any of their affiliates, subsidiaries, advertising or promotional agencies are also ineligible to participate. Void where prohibited by law.

How to Enter

Entry is by the submission process described above. Please read the submission requirements before submitting your entry and ensure the article is tagged with at least one of the tags corresponding to that competition's category.

Lost, late, misdirected, or illegible entries will be disqualified. Any entry containing content that CodeProject deems objectionable for any reason will be disqualified. All decisions of CodeProject with respect to any aspect of the competition, including, without limitation, the eligibility of entries, are final and binding on all entrants in all matters as they relate to this competition. CodeProject reserves its right to modify the Rules.

CodeProject assumes no responsibility for lost, late, delayed, destroyed or misdirected mail, voice messages, email or any computer errors or malfunctions. No correspondence will be entered into with entrants.

CodeProject does not assume any responsibility for incorrect or inaccurate capture of entry information, technical malfunctions, human or technical error, lost, delayed or garbled data or transmissions, omission, interruption, deletion, defect or failures of any telephone or computer line or network, computer equipment, software or any combination thereof. Entry materials/data that have been tampered with or altered are void. If for any reason, in the opinion of CodeProject in its sole discretion, the competition is not capable of running as originally planned, or if the administration, security, fairness, integrity or the proper conduct of the competition is corrupted or adversely affected, including by reason of infection by computer virus, bugs, tampering, unauthorized intervention, fraud, technical failures or any other causes beyond its control, CodeProject reserves its right to cancel, terminate, modify, amend, extend or suspend the competition including cancelling any method of entry, and select a winner from previously received eligible entries. CodeProject reserves its right in its sole discretion to disqualify any individual it finds to be tampering with the entry process or the operation of the competition or to be acting in violation of the Rules or otherwise in a disruptive manner. CodeProject reserves its right to seek remedies and damages to the fullest extent of the law for any attempts to deliberately damage the competition web site or to undermine the legitimate operation of this competition. CodeProject shall not be held responsible for any errors or negligence that may arise or occur in connection with the competition including any damage to an entrant's computer equipment, system, software or any combination thereof, as a result of their participation in this competition or from downloading any material from the competition website where applicable.

You must sign in to participate in this contest.
This contest has ended.
1 Nov - 30 Nov 2016