Click here to Skip to main content
15,851,453 members

Articles by Paulo Zemek (Articles: 83, Technical Blogs: 14, Tip/Tricks: 9)

Articles: 83, Technical Blogs: 14, Tip/Tricks: 9

RSS Feed

Average article rating: 4.80

Artificial Intelligence
2 Aug 2011   Updated: 16 Mar 2012   Rating: 4.93/5    Votes: 131   Popularity: 10.42
Licence: CPOL    Views: 210,412     Bookmarked: 246   Downloaded: 17,075
Please Sign up or sign in to vote.
This article will explain some concepts of game development and how to apply and adapt them for multiplayer development.
6 Jun 2014   Updated: 12 Jun 2014   Rating: 4.94/5    Votes: 32   Popularity: 7.44
Licence: CPOL    Views: 56,546     Bookmarked: 81   Downloaded: 1,015
Please Sign up or sign in to vote.
This article presents a very small evolutionary algorithm capable of discovering some math expressions to give the results for the values you provide.
Desktop Programming
Windows Forms
7 Oct 2009   Updated: 7 Oct 2009   Rating: 4.25/5    Votes: 6   Popularity: 3.31
Licence: CPOL    Views: 25,318     Bookmarked: 10   Downloaded: 633
Please Sign up or sign in to vote.
Really easy to use framework capable of generating the right controls dynamically for each data type.
WPF
17 Sep 2012   Updated: 20 Sep 2012   Rating: 4.96/5    Votes: 16   Popularity: 5.98
Licence: CPOL    Views: 38,614     Bookmarked: 36   Downloaded: 346
Please Sign up or sign in to vote.
This article explains how to create a class that can handle any kind of data-type conversion by allowing users to register their own conversions and how to make it work both as a global and also as a local solution, so different threads can do different conversions for the same data-types.
17 Apr 2010   Updated: 20 Apr 2010   Rating: 4.25/5    Votes: 7   Popularity: 3.59
Licence: CPOL    Views: 37,410     Bookmarked: 16   Downloaded: 418
Please Sign up or sign in to vote.
This article explains some advantages and disadvantages of factories, and shows one to use for generating WPF Controls.
11 Sep 2014   Updated: 22 Jun 2016   Rating: 4.99/5    Votes: 44   Popularity: 8.19
Licence: CPOL    Views: 51,917     Bookmarked: 58   Downloaded: 934
Please Sign up or sign in to vote.
Learn how to create a math expression compiler and a special WPF markup extension capable of using it to generate bindings.
20 Apr 2012   Updated: 10 May 2013   Rating: 4.91/5    Votes: 31   Popularity: 7.32
Licence: CPOL    Views: 53,328     Bookmarked: 56   Downloaded: 2,747
Please Sign up or sign in to vote.
This article presents a class to manage enumerator based animations in WPF that can deal with different framerated animations independent of the hardware framerate
1 Nov 2012   Updated: 5 Nov 2012   Rating: 5.00/5    Votes: 8   Popularity: 4.52
Licence: CPOL    Views: 20,472     Bookmarked: 15   Downloaded: 265
Please Sign up or sign in to vote.
Extend your objects at run-time and create really loosely-coupled applications.
1 Nov 2013   Updated: 6 Nov 2013   Rating: 4.99/5    Votes: 73   Popularity: 9.30
Licence: CPOL    Views: 73,848     Bookmarked: 108   Downloaded: 0
Please Sign up or sign in to vote.
This is a small tutorial on how to create a Shoot'em Up game in .NET using mostly declarative animations.
3 Jun 2014   Updated: 4 Jun 2014   Rating: 4.93/5    Votes: 9   Popularity: 4.71
Licence: CPOL    Views: 16,670     Bookmarked: 14   Downloaded: 62
Please Sign up or sign in to vote.
This article talks about Distributable Observable POCOs and an MVVM-like design pattern built to take full advantage of them.
8 Jul 2011   Updated: 8 Jul 2011   Rating: 4.75/5    Votes: 5   Popularity: 3.32
Licence: CPOL    Views: 22,731     Bookmarked: 18   Downloaded: 270
Please Sign up or sign in to vote.
This article gives a little presentation of Control Templates, Data Templates, Inversion of Control, and Factories, explaining why they are all related and how to better use them.
8 Aug 2013   Updated: 18 Jun 2016   Rating: 4.96/5    Votes: 85   Popularity: 9.58
Licence: Apache    Views: 104,382     Bookmarked: 115   Downloaded: 4,798
Please Sign up or sign in to vote.
Create animations easily using a Fluent API that integrates well with frame-based animation segments.
DevOps
Unit Testing
5 Jan 2020   Updated: 5 Jan 2020   Rating: 4.83/5    Votes: 11   Popularity: 4.61
Licence: CPOL    Views: 11,419     Bookmarked: 0   Downloaded: 0
Please Sign up or sign in to vote.
I partially agree with the basic idea, but it fails when we need to deal with an issue no unit-test caught and the good developers and code-reviewers simply can't understand what's going on.
OOP
29 Mar 2014   Updated: 7 Apr 2014   Rating: 4.92/5    Votes: 53   Popularity: 8.48
Licence: CPOL    Views: 108,272     Bookmarked: 77   Downloaded: 0
Please Sign up or sign in to vote.
This is a beginner's article that explains Object Oriented Programming (also known as OOP or OO programming) by my personal view and experience with it.
Programming Languages
C#
5 Aug 2011   Updated: 5 Aug 2011   Rating: 4.79/5    Votes: 14   Popularity: 5.49
Licence: CPOL    Views: 32,075     Bookmarked: 22   Downloaded: 0
Please Sign up or sign in to vote.
This article will talk about the yield return keyword, will talk about an alternative and will talk about the theory of a better yield return;
7 Oct 2009   Updated: 10 May 2010   Rating: 4.85/5    Votes: 13   Popularity: 5.23
Licence: CPOL    Views: 42,493     Bookmarked: 25   Downloaded: 239
Please Sign up or sign in to vote.
Framework for caching data that includes the possibility to store ViewStates in files, reutilizing identical files as an way to avoid too much HD usage
25 Sep 2009   Updated: 25 Sep 2009   Rating: 4.40/5    Votes: 7   Popularity: 3.72
Licence: CPOL    Views: 32,075     Bookmarked: 16   Downloaded: 163
Please Sign up or sign in to vote.
An easy to use framework with multi-tier, user types, and LINQ support.
24 Jan 2010   Updated: 24 Jan 2010   Rating: 4.78/5    Votes: 13   Popularity: 4.98
Licence: CPOL    Views: 31,593     Bookmarked: 29   Downloaded: 643
Please Sign up or sign in to vote.
This article presents classes that represent bitmaps in full managed code.
9 Feb 2010   Updated: 19 Mar 2010   Rating: 4.77/5    Votes: 17   Popularity: 5.61
Licence: CPOL    Views: 51,222     Bookmarked: 36   Downloaded: 991
Please Sign up or sign in to vote.
This article presents classes that represent bitmaps in full managed code.
1 Feb 2013   Updated: 6 Feb 2013   Rating: 4.96/5    Votes: 22   Popularity: 6.56
Licence: CPOL    Views: 36,142     Bookmarked: 33   Downloaded: 725
Please Sign up or sign in to vote.
Learn how to create your own animation format, capable of doing basic compression.
8 Apr 2009   Updated: 8 Apr 2009   Rating: 3.47/5    Votes: 9   Popularity: 3.31
Licence: CPOL    Views: 34,671     Bookmarked: 14   Downloaded: 260
Please Sign up or sign in to vote.
This article shows how to use WeakDelegateSet class to create weak events. With weak events, objects can register themselves in events, but are allowed to be collected if the only references for them are such events.
1 Oct 2012   Updated: 17 Jan 2014   Rating: 4.91/5    Votes: 68   Popularity: 8.96
Licence: CPOL    Views: 148,609     Bookmarked: 177   Downloaded: 1,239
Please Sign up or sign in to vote.
This article explores the advantages and disadvantages of interfaces that can be used to replace delegates, considering performance, ease of use and versatility.
13 Oct 2009   Updated: 13 Oct 2009   Rating: 4.80/5    Votes: 12   Popularity: 4.80
Licence: CPOL    Views: 36,671     Bookmarked: 22   Downloaded: 0
Please Sign up or sign in to vote.
This article shows the differences of WeakReferences and GCHandles and how to implement a WeakArray.
27 Nov 2009   Updated: 6 Mar 2010   Rating: 4.57/5    Votes: 34   Popularity: 6.94
Licence: CPOL    Views: 95,737     Bookmarked: 33   Downloaded: 127
Please Sign up or sign in to vote.
This article shows why not even the "using" keyword is a failsafe mechanism
27 Mar 2010   Updated: 27 Mar 2010   Rating: 4.76/5    Votes: 5   Popularity: 3.33
Licence: CPOL    Views: 36,082     Bookmarked: 12   Downloaded: 266
Please Sign up or sign in to vote.
This article explains how to create a weak list (a list that allows items to be collected by the GC)
28 Oct 2010   Updated: 5 Nov 2010   Rating: 5.00/5    Votes: 9   Popularity: 4.77
Licence: CPOL    Views: 54,394     Bookmarked: 30   Downloaded: 511
Please Sign up or sign in to vote.
Using structural-typing and duck-typing in .NET via interfaces
14 May 2013   Updated: 14 May 2013   Rating: 5.00/5    Votes: 9   Popularity: 4.77
Licence: CPOL    Views: 28,203     Bookmarked: 16   Downloaded: 154
Please Sign up or sign in to vote.
Create data structures that implement the right Clone To Modify Pattern the easy way.
25 Oct 2012   Updated: 7 Nov 2013   Rating: 4.76/5    Votes: 27   Popularity: 6.57
Licence: CPOL    Views: 63,485     Bookmarked: 85   Downloaded: 0
Please Sign up or sign in to vote.
Understand things like OOP, AOP, Loose-coupling, Class Inheritance, Interface Implementation, Open-Closed Principle and others.
8 Jul 2016   Updated: 11 Jul 2016   Rating: 5.00/5    Votes: 26   Popularity: 6.90
Licence: CPOL    Views: 21,171     Bookmarked: 21   Downloaded: 0
Please Sign up or sign in to vote.
3 Nov 2016   Updated: 8 Nov 2016   Rating: 4.93/5    Votes: 29   Popularity: 7.21
Licence: CPOL    Views: 17,500     Bookmarked: 29   Downloaded: 223
Please Sign up or sign in to vote.
This article presents the PropertyPathObserver class, which allows for faster bindings and more.
7 Apr 2009   Updated: 10 Apr 2009   Rating: 4.67/5    Votes: 4   Popularity: 2.81
Licence: CPOL    Views: 45,575     Bookmarked: 21   Downloaded: 489
Please Sign up or sign in to vote.
This article shows that weak references are a good caching mechanism if used with a KeepAlive structure in mind for recently used objects.
6 Oct 2013   Updated: 13 Oct 2013   Rating: 4.89/5    Votes: 62   Popularity: 8.70
Licence: CPOL    Views: 151,639     Bookmarked: 90   Downloaded: 0
Please Sign up or sign in to vote.
Understand what is a weak reference and how it can help you in caching scenarios or to avoid memory leaks.
22 Apr 2013   Updated: 22 Apr 2013   Rating: 5.00/5    Votes: 6   Popularity: 3.89
Licence: CPOL    Views: 20,370     Bookmarked: 11   Downloaded: 164
Please Sign up or sign in to vote.
This article presents a class that allows volatile reads and writes as they are expected to work.
29 Apr 2020   Updated: 29 Apr 2020   Rating: 4.66/5    Votes: 17   Popularity: 5.48
Licence: CPOL    Views: 33,478     Bookmarked: 20   Downloaded: 0
Please Sign up or sign in to vote.
SafeHandles came to solve the problem, but the MSDN documentation on them is also broken.
10 Nov 2016   Updated: 10 Nov 2016   Rating: 5.00/5    Votes: 4   Popularity: 3.01
Licence: CPOL    Views: 10,182     Bookmarked: 5   Downloaded: 0
Please Sign up or sign in to vote.
Small tip on how to use WriteableBitmap for Universal Apps in C#
11 Feb 2014   Updated: 3 Feb 2018   Rating: 4.90/5    Votes: 33   Popularity: 7.44
Licence: CPOL    Views: 41,843     Bookmarked: 33   Downloaded: 407
Please Sign up or sign in to vote.
A dictionary implementation optimized for caches and the GetOrCreateValue method, supporting real parallelism while reading and avoiding some problems encountered in the ConcurrentDictionary
3 Jul 2014   Updated: 14 Dec 2015   Rating: 4.88/5    Votes: 100   Popularity: 9.72
Licence: CPOL    Views: 200,282     Bookmarked: 180   Downloaded: 11,718
Please Sign up or sign in to vote.
This article presents a Genetic Algorithm that searches for the shortest path to visit many places and return to the original one.
24 Oct 2013   Updated: 25 Oct 2013   Rating: 4.87/5    Votes: 33   Popularity: 7.33
Licence: CPOL    Views: 57,895     Bookmarked: 45   Downloaded: 0
Please Sign up or sign in to vote.
This is a basic article explaining the Dictionary class in .NET.
2 Mar 2014   Updated: 5 Mar 2014   Rating: 4.94/5    Votes: 13   Popularity: 5.50
Licence: CPOL    Views: 27,784     Bookmarked: 21   Downloaded: 186
Please Sign up or sign in to vote.
This article presents two collections optimized for good memory consumption and for inserts at the end, being always O(1). The AddCollection can also create immutable views without creating copies of the data.
24 Oct 2009   Updated: 24 Oct 2009   Rating: 4.93/5    Votes: 29   Popularity: 7.21
Licence: CPOL    Views: 69,212     Bookmarked: 73   Downloaded: 1,086
Please Sign up or sign in to vote.
The article explains how to create a secure stream that uses asymmetric cryptography to connect and symmetric cryptography to continue without the need for SSL or Certificates
14 Nov 2020   Updated: 14 Nov 2020   Rating: 5.00/5    Votes: 7   Popularity: 4.23
Licence: CPOL    Views: 8,684     Bookmarked: 6   Downloaded: 0
Please Sign up or sign in to vote.
Understanding breaking changes caused by event changes and how to avoid them.
29 Oct 2009   Updated: 29 Oct 2009   Rating: 4.56/5    Votes: 8   Popularity: 4.12
Licence: CPOL    Views: 27,240     Bookmarked: 16   Downloaded: 594
Please Sign up or sign in to vote.
This article explains the concept of a stateful remoting framework capable of doing the remoting of any object by interface, and how to use the classes.
17 Dec 2009   Updated: 12 Mar 2010   Rating: 4.94/5    Votes: 16   Popularity: 5.95
Licence: CPOL    Views: 93,185     Bookmarked: 70   Downloaded: 7,420
Please Sign up or sign in to vote.
This article will explain how to create a simple chat program using this remoting technology, which supports web-cam and sending files.
13 Apr 2012   Updated: 13 Apr 2012   Rating: 2.92/5    Votes: 6   Popularity: 2.27
Licence: CPOL    Views: 24,552     Bookmarked: 14   Downloaded: 0
Please Sign up or sign in to vote.
This article explains how multi-threading could be better in a conceptual level
9 Feb 2011   Updated: 15 Feb 2011   Rating: 4.83/5    Votes: 30   Popularity: 7.13
Licence: CPOL    Views: 52,231     Bookmarked: 48   Downloaded: 206
Please Sign up or sign in to vote.
How to detect if a thread is in a problematic situation before calling Abort
5 May 2013   Updated: 17 May 2013   Rating: 4.69/5    Votes: 8   Popularity: 4.24
Licence: CPOL    Views: 33,523     Bookmarked: 22   Downloaded: 0
Please Sign up or sign in to vote.
This article presents a pattern to create immutable objects, which have thread-safe guarantee among others, and which also support modifications through clonning, yet avoiding excessive intermediate clones.
24 May 2013   Updated: 26 May 2013   Rating: 4.94/5    Votes: 43   Popularity: 8.07
Licence: CPOL    Views: 88,582     Bookmarked: 36   Downloaded: 0
Please Sign up or sign in to vote.
A view on the principle including possible solutions to the Rectangle/Square example, also explaining why it is not a good example for real programming situations and presenting a more realistic example that you may find while programming.
4 Aug 2013   Updated: 4 Aug 2013   Rating: 5.00/5    Votes: 5   Popularity: 3.49
Licence: CPOL    Views: 17,360     Bookmarked: 3   Downloaded: 0
Please Sign up or sign in to vote.
A possible polemic article on why easiness is not always good.
10 Nov 2013   Updated: 12 Mar 2014   Rating: 4.94/5    Votes: 61   Popularity: 8.75
Licence: CPOL    Views: 87,741     Bookmarked: 164   Downloaded: 0
Please Sign up or sign in to vote.
A discussion about architecture in the development of applications, also discussing home-made frameworks and why they can be good.
2 Sep 2014   Updated: 18 Sep 2014   Rating: 4.95/5    Votes: 92   Popularity: 9.64
Licence: CPOL    Views: 121,296     Bookmarked: 166   Downloaded: 836
Please Sign up or sign in to vote.
A deep explanation on when to use interfaces and abstract classes.
1 Dec 2011   Updated: 1 Dec 2011   Rating: 4.96/5    Votes: 10   Popularity: 4.96
Licence: CPOL    Views: 26,242     Bookmarked: 27   Downloaded: 400
Please Sign up or sign in to vote.
This article will present two alternatives to Lazy.
28 Feb 2012   Updated: 28 Feb 2012   Rating: 5.00/5    Votes: 4   Popularity: 3.01
Licence: CPOL    Views: 19,192     Bookmarked: 15   Downloaded: 214
Please Sign up or sign in to vote.
This article presents classes to build new types at run-time without requiring users to understand IL instructions.
30 Mar 2012   Updated: 11 Apr 2012   Rating: 4.85/5    Votes: 33   Popularity: 7.23
Licence: CPOL    Views: 160,502     Bookmarked: 66   Downloaded: 1,183
Please Sign up or sign in to vote.
This article will explain how the async/await pair really works and why it could be better if real cooperative threading was used instead.
16 Aug 2012   Updated: 9 Nov 2012   Rating: 4.92/5    Votes: 13   Popularity: 4.92
Licence: CPOL    Views: 68,556     Bookmarked: 24   Downloaded: 213
Please Sign up or sign in to vote.
This article explains how attributes can violate the single responsibility principle and presents some ideas to avoid the problem.
23 Aug 2011   Updated: 30 May 2014   Rating: 4.83/5    Votes: 28   Popularity: 6.91
Licence: CPOL    Views: 99,809     Bookmarked: 84   Downloaded: 1,155
Please Sign up or sign in to vote.
Using only Managed Resources to create Thread Synchronization
2 Jul 2013   Updated: 8 Jul 2014   Rating: 4.88/5    Votes: 36   Popularity: 7.60
Licence: CPOL    Views: 49,022     Bookmarked: 57   Downloaded: 0
Please Sign up or sign in to vote.
Make your life easier by having components that never corrupt inner states.
5 Dec 2013   Updated: 16 Mar 2018   Rating: 4.93/5    Votes: 66   Popularity: 8.96
Licence: CPOL    Views: 109,007     Bookmarked: 105   Downloaded: 683
Please Sign up or sign in to vote.
Learn how to create a very small (less than 3KB) yet very expandable IoC container
5 Feb 2020   Updated: 5 Feb 2020   Rating: 4.68/5    Votes: 10   Popularity: 4.47
Licence: CPOL    Views: 7,840     Bookmarked: 2   Downloaded: 0
Please Sign up or sign in to vote.
What is a non-intrusive framework and whether it is really possible for a framework to be non-intrusive
27 Oct 2021   Updated: 27 Oct 2021   Rating: 4.94/5    Votes: 11   Popularity: 4.94
Licence: CPOL    Views: 9,982     Bookmarked: 10   Downloaded: 0
Please Sign up or sign in to vote.
Exceptions and when it is safe to catch them without rethrowing
24 May 2022   Updated: 24 May 2022   Rating: 4.23/5    Votes: 14   Popularity: 4.71
Licence: CPOL    Views: 15,862     Bookmarked: 6   Downloaded: 0
Please Sign up or sign in to vote.
Reasonings behind code-styles and why we shouldn't be using "auto-formatters" all of the time
14 Jun 2022   Updated: 14 Jun 2022   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: CPOL    Views: 4,580     Bookmarked: 3   Downloaded: 0
Please Sign up or sign in to vote.
How we group class members together makes a huge difference in the readability of our code.
2 Aug 2022   Updated: 9 Aug 2022   Rating: 5.00/5    Votes: 18   Popularity: 6.28
Licence: CPOL    Views: 15,930     Bookmarked: 14   Downloaded: 0
Please Sign up or sign in to vote.
Are you spending most of your time just writing code to "glue" your components together? Let's change that!
3 May 2023   Updated: 4 May 2023   Rating: 5.00/5    Votes: 8   Popularity: 4.52
Licence: CPOL    Views: 14,933     Bookmarked: 18   Downloaded: 106
Please Sign up or sign in to vote.
Using the ReaderWriterLockSlim correctly and avoiding a common mistake
4 Aug 2023   Updated: 9 Aug 2023   Rating: 4.98/5    Votes: 21   Popularity: 6.47
Licence: CPOL    Views: 25,984     Bookmarked: 25   Downloaded: 432
Please Sign up or sign in to vote.
This article presents a class similar to BigInteger, but supporting floating point values, like a decimal.
C# 4.0
11 Apr 2013   Updated: 5 May 2013   Rating: 4.99/5    Votes: 27   Popularity: 7.06
Licence: CPOL    Views: 59,945     Bookmarked: 94   Downloaded: 1,160
Please Sign up or sign in to vote.
This library is intended to "replace" ADO.NET by solving type mismatches and by creating typed readers that are faster and easier to use than DataTables.
7 Jun 2013   Updated: 12 Dec 2013   Rating: 5.00/5    Votes: 76   Popularity: 9.31
Licence: Apache    Views: 122,237     Bookmarked: 128   Downloaded: 817
Please Sign up or sign in to vote.
Create methods and types at run-time using an easy and fluent API.
18 Dec 2013   Updated: 31 Dec 2013   Rating: 4.58/5    Votes: 20   Popularity: 5.75
Licence: CPOL    Views: 33,072     Bookmarked: 17   Downloaded: 0
Please Sign up or sign in to vote.
This article explains why the dynamic keyword is not as useful as it should be.
27 Sep 2012   Updated: 14 Jan 2015   Rating: 4.80/5    Votes: 25   Popularity: 6.70
Licence: CPOL    Views: 41,560     Bookmarked: 44   Downloaded: 0
Please Sign up or sign in to vote.
Understand how to create fully configurable frameworks that let your application evolve without creating bottlenecks.
18 Feb 2013   Updated: 30 May 2014   Rating: 4.98/5    Votes: 57   Popularity: 8.67
Licence: CPOL    Views: 191,273     Bookmarked: 94   Downloaded: 1,903
Please Sign up or sign in to vote.
In this article we'll see the differences between using Dictionaries with locking versus the ConcurrentDictionary and also why you should still need or prefer a normal Dictionary (or a home made implementation).
29 Jun 2012   Updated: 6 Aug 2012   Rating: 4.93/5    Votes: 31   Popularity: 7.36
Licence: CPOL    Views: 71,626     Bookmarked: 79   Downloaded: 2,158
Please Sign up or sign in to vote.
This class makes getting MemberInfos easy, without the use of magic strings (so it is refactoring friendly) and also allows you to create delegates to do fast accesses to those items, much faster than the normal Invoke, GetValue or SetValue methods.
17 Mar 2013   Updated: 29 Mar 2013   Rating: 4.97/5    Votes: 23   Popularity: 6.77
Licence: CPOL    Views: 56,965     Bookmarked: 69   Downloaded: 1,534
Please Sign up or sign in to vote.
This article presents a library that allows you to index large collections of objects by different keys in memory or disk and also explains how it was created.
C++
19 Mar 2014   Updated: 21 Apr 2014   Rating: 4.76/5    Votes: 41   Popularity: 7.57
Licence: CPOL    Views: 147,068     Bookmarked: 83   Downloaded: 1,579
Please Sign up or sign in to vote.
A C++ memory/object pool that's always O(1) for allocations and deallocations.
1 Dec 2021   Updated: 4 Dec 2021   Rating: 3.58/5    Votes: 19   Popularity: 4.58
Licence: CPOL    Views: 17,582     Bookmarked: 7   Downloaded: 0
Please Sign up or sign in to vote.
Discussion about a simple math problem that has different interpretations - And a C++ gift about it
C++11
28 Mar 2018   Updated: 28 Mar 2018   Rating: 4.97/5    Votes: 18   Popularity: 6.12
Licence: CPOL    Views: 13,623     Bookmarked: 15   Downloaded: 136
Please Sign up or sign in to vote.
A beginner article about how to write a simple list class in C# and in C++
SQL
2 Feb 2014   Updated: 23 Feb 2014   Rating: 4.93/5    Votes: 31   Popularity: 7.35
Licence: CPOL    Views: 53,472     Bookmarked: 63   Downloaded: 1,895
Please Sign up or sign in to vote.
Generate DataReaders at run-time and get the best performance by avoiding repetitive code and by using the database's most appropriate Get methods.
Swift
12 Mar 2022   Updated: 14 Mar 2022   Rating: 5.00/5    Votes: 15   Popularity: 5.88
Licence: CPOL    Views: 11,090     Bookmarked: 13   Downloaded: 0
Please Sign up or sign in to vote.
Mistakes that can be made while using MVVM and how to overcome them
VC++
17 Apr 2014   Updated: 13 May 2014   Rating: 4.90/5    Votes: 38   Popularity: 7.74
Licence: CPOL    Views: 140,951     Bookmarked: 56   Downloaded: 1,964
Please Sign up or sign in to vote.
This article presents a .NET like Dictionary implemented in C++, which has better performance and consumes less memory than the STL's unordered_map class.
XML
2 Aug 2014   Updated: 1 Sep 2014   Rating: 4.89/5    Votes: 43   Popularity: 7.94
Licence: CPOL    Views: 105,816     Bookmarked: 85   Downloaded: 660
Please Sign up or sign in to vote.
There's a popular book that presents Data Structures tied to procedural code. Well, this article is all about using Data Structures in Object Oriented Programming.
11 Jan 2014   Updated: 30 May 2014   Rating: 4.95/5    Votes: 38   Popularity: 7.82
Licence: CPOL    Views: 51,781     Bookmarked: 69   Downloaded: 522
Please Sign up or sign in to vote.
This article presents important architectural decisions that must be considered if you want to create a really expandable remoting framework and, well, those decisions may apply to any kind of framework.
Security
13 Nov 2015   Updated: 13 Nov 2015   Rating: 4.49/5    Votes: 12   Popularity: 4.85
Licence: CPOL    Views: 14,630     Bookmarked: 13   Downloaded: 0
Please Sign up or sign in to vote.
Lately I am dealing a lot with security issues and, as I am thinking about security all the time, I decided to write this post. Yet, don't expect me to talk about the newest cases.So, first, what is considered a security issue?I don't have a perfect answer but maybe we can say that if anything in an
Web Development
HTML
27 Feb 2015   Updated: 3 Mar 2015   Rating: 4.77/5    Votes: 11   Popularity: 4.96
Licence: CPOL    Views: 23,400     Bookmarked: 22   Downloaded: 393
Please Sign up or sign in to vote.
Presenting three expandable frameworks built as Portable Class Libraries.
9 Nov 2011   Updated: 12 May 2021   Rating: 4.97/5    Votes: 115   Popularity: 10.23
Licence: CPOL    Views: 191,648     Bookmarked: 252   Downloaded: 4,588
Please Sign up or sign in to vote.
A tutorial explaining how to create a Virtual Machine and a Compiler for such virtual machine
HTML5
14 Jan 2014   Updated: 20 Jan 2014   Rating: 4.86/5    Votes: 20   Popularity: 6.32
Licence: CPOL    Views: 23,150     Bookmarked: 23   Downloaded: 476
Please Sign up or sign in to vote.
A fluent library for interactive animations in JavaScript

Average blogs rating: 4.86

All Topics
5 Dec 2014   Updated: 5 Dec 2014   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: CPOL    Views: 8,580     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
JustificationWhen I finished the Contrained C# post I was talking about multi-threading and locks and I really wanted to write a new post about ideas on how to reduce multi-threading issues by adding more knowledge about shared states to the language itself.Unfortunately, it will not be this time.
15 Dec 2014   Updated: 15 Dec 2014   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: CPOL    Views: 13,890     Bookmarked: 0   Downloaded: 0
Please Sign up or sign in to vote.
Use of brackets
Desktop Programming
WPF
10 Apr 2016   Updated: 12 Apr 2016   Rating: 4.54/5    Votes: 4   Popularity: 2.73
Licence: CPOL    Views: 15,682     Bookmarked: 8   Downloaded: 0
Please Sign up or sign in to vote.
Infinite maps (for games or similar)
DevOps
Deployment
29 May 2015   Updated: 29 May 2015   Rating: 4.55/5    Votes: 7   Popularity: 3.84
Licence: CPOL    Views: 6,160     Bookmarked: 2   Downloaded: 0
Please Sign up or sign in to vote.
Deployment, SOA and scalability
Game Development
Unity
2 Jun 2015   Updated: 2 Jun 2015   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: CPOL    Views: 4,720     Bookmarked: 0   Downloaded: 0
Please Sign up or sign in to vote.
Breaking changes and Unity
Programming Languages
C#
29 Jan 2015   Updated: 29 Jan 2015   Rating: 4.91/5    Votes: 12   Popularity: 5.30
Licence: CPOL    Views: 13,750     Bookmarked: 5   Downloaded: 0
Please Sign up or sign in to vote.
A basic tutorial explaining how to create a List class.
6 Jan 2015   Updated: 6 Jan 2015   Rating: 4.67/5    Votes: 4   Popularity: 2.81
Licence: CPOL    Views: 6,330     Bookmarked: 2   Downloaded: 0
Please Sign up or sign in to vote.
Shared states in method signatures
17 Sep 2015   Updated: 17 Sep 2015   Rating: 4.79/5    Votes: 14   Popularity: 5.33
Licence: CPOL    Views: 30,382     Bookmarked: 10   Downloaded: 0
Please Sign up or sign in to vote.
Simply put, the this variable is not a smart pointer.
11 Nov 2014   Updated: 11 Nov 2014   Rating: 4.97/5    Votes: 15   Popularity: 5.84
Licence: CPOL    Views: 16,181     Bookmarked: 18   Downloaded: 0
Please Sign up or sign in to vote.
Design and implementation mistakes - mostly .NET
23 Mar 2015   Updated: 9 Apr 2015   Rating: 4.91/5    Votes: 48   Popularity: 8.26
Licence: CPOL    Views: 97,905     Bookmarked: 97   Downloaded: 0
Please Sign up or sign in to vote.
In this post I present how the same application can be created if it is done without any architecture, with an architecture completely bound to a technology and its limitations and with an architecture that I consider to be "unbound" from technologies and their limitations.
18 Nov 2014   Updated: 18 Nov 2014   Rating: 4.85/5    Votes: 4   Popularity: 2.92
Licence: CPOL    Views: 8,260     Bookmarked: 10   Downloaded: 0
Please Sign up or sign in to vote.
Design and implementation mistakes - Part 2
27 Nov 2014   Updated: 28 Nov 2014   Rating: 4.97/5    Votes: 9   Popularity: 4.74
Licence: CPOL    Views: 30,334     Bookmarked: 6   Downloaded: 0
Please Sign up or sign in to vote.
What if C# evolved differently?
10 Feb 2015   Updated: 11 Feb 2015   Rating: 5.00/5    Votes: 9   Popularity: 4.77
Licence: CPOL    Views: 15,733     Bookmarked: 9   Downloaded: 0
Please Sign up or sign in to vote.
A discussion about what is asynchronous execution, how it relates to threads and a brief analysis of its good and bad points.
Web Development
IIS
18 Jun 2015   Updated: 23 Jun 2015   Rating: 4.88/5    Votes: 43   Popularity: 7.81
Licence: CPOL    Views: 30,470     Bookmarked: 27   Downloaded: 0
Please Sign up or sign in to vote.
... but unfortunately they do, and those things go into production.

Average tips rating: 4.65

General Programming
Threads
2 Dec 2011   Updated: 25 Dec 2011   Rating: 0.00/5    Votes: 0   Popularity: 0.00
Licence: CPOL    Views: 23,007     Bookmarked: 0   Downloaded: 0
Please Sign up or sign in to vote.
This code is buggy.See the line:if (Monitor.TryEnter(po1) && Monitor.TryEnter(po2)) return;Imagine that the lock to po1 is true, but for po2 is false (or vice-versa).It will not return, and later will lock po1 again.So, when unlocking, it will unlock the wrong number of...
Programming Languages
C#
5 Sep 2011   Updated: 2 Oct 2011   Rating: 0.00/5    Votes: 0   Popularity: 0.00
Licence: CPOL    Views: 17,560     Bookmarked: 0   Downloaded: 0
Please Sign up or sign in to vote.
I think the start is wrong... we can pass types as parameters.A method like this:void ShowName(Type type){ Console.WriteLine(type.FullName);}can be called as:ShowName(typeof(object));or as this:ShowName(someObject.GetType());If you are trying to say that we can't...
19 Feb 2013   Updated: 19 Feb 2013   Rating: 4.25/5    Votes: 3   Popularity: 2.03
Licence: CPOL    Views: 14,370     Bookmarked: 3   Downloaded: 0
Please Sign up or sign in to vote.
Tired of casts when parsing enums? Do you need a faster alternative to Enum.Parse? So, try this.
18 Aug 2014   Updated: 21 Aug 2014   Rating: 4.95/5    Votes: 11   Popularity: 5.16
Licence: CPOL    Views: 24,711     Bookmarked: 14   Downloaded: 268
Please Sign up or sign in to vote.
Avoid generating strings as templates. Avoid the complicated FrameworkElementFactory. Create templates that use a delegate to create new instances, so you can use normal code to do the job.
8 Jul 2011   Updated: 9 Jul 2011   Rating: 5.00/5    Votes: 14   Popularity: 5.40
Licence: CPOL    Views: 16,420     Bookmarked: 4   Downloaded: 0
Please Sign up or sign in to vote.
The easiest singleton pattern is the one you used to the lock object itself.Creating any variable as static readonly and initializing it directly (or via a static constructor) will already make it singleton.Also, considering that "lock" clears all the caches, you don't need to declare the...
27 Oct 2011   Updated: 30 Oct 2011   Rating: 4.00/5    Votes: 4   Popularity: 2.41
Licence: CPOL    Views: 10,161     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
The problem with alternative 3 and 4 is that it is not multi-threaded.Two threads may check for null, then the two will create the new instance. The race condition only happens at the first accesses. If a single thread accesses the object, then later many threads do the access, there is no...
1 Nov 2011   Updated: 6 Nov 2011   Rating: 5.00/5    Votes: 4   Popularity: 3.01
Licence: CPOL    Views: 14,482     Bookmarked: 11   Downloaded: 0
Please Sign up or sign in to vote.
Using a BackgroundLoader instead of Lazy to make your application more responsive.
18 Jan 2022   Updated: 20 Jan 2022   Rating: 4.68/5    Votes: 7   Popularity: 3.96
Licence: CPOL    Views: 14,112     Bookmarked: 4   Downloaded: 0
Please Sign up or sign in to vote.
The ?? operator is odd when combined with exceptions - It helps assignments but not non-assignments. Why?
5 Oct 2011   Updated: 5 Oct 2011   Rating: 0.00/5    Votes: 0   Popularity: 0.00
Licence: CPOL    Views: 10,281     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
All classes are naturally Lazy loaded.So a better implementation will be:public class Singletonwhere T: new(){ public static readonly T Instance = new T();}You will notice that before calling the singleton class, the object will not be loaded.Surely there are...

Average reference rating:

No reference articles have been posted.

Average project rating:

No projects have been posted.
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).