Click here to Skip to main content
12,296,833 members (55,844 online)

Articles by Paul M Watt (Articles: 13, Technical Blogs: 58)

Articles: 13, Technical Blogs: 58

RSS Feed

Average article rating: 4.84

DirectX
Games
Posted: 30 Oct 2002   Updated: 16 Oct 2008   Views: 312,444   Rating: 4.88/5    Votes: 65   Popularity: 8.85
Licence: The Code Project Open License (CPOL)      Bookmarked: 124   Downloaded: 4,692
An interpretation of a popular falling block game implemented with DirectX that attempts to avoid any copyright infringement.
GDI
Beginners
Posted: 20 Mar 2002   Updated: 20 Mar 2002   Views: 259,317   Rating: 4.90/5    Votes: 77   Popularity: 9.23
Licence: The Code Project Open License (CPOL)      Bookmarked: 204   Downloaded: 9,168
Beginner's guide to understanding how to paint to a window in the WIN32 SDK environment
Device Contexts
Posted: 12 Jul 2011   Updated: 21 Jul 2011   Views: 87,337   Rating: 4.97/5    Votes: 60   Popularity: 8.84
Licence: The Code Project Open License (CPOL)      Bookmarked: 147   Downloaded: 8,194
Guide to creating and using Memory Device Contexts (DC) in Win32.
GDI Objects
Posted: 4 Apr 2002   Updated: 4 Apr 2002   Views: 288,829   Rating: 4.92/5    Votes: 100   Popularity: 9.83
Licence: The Code Project Open License (CPOL)      Bookmarked: 257   Downloaded: 8,962
Guide to understanding how Windows generates WM_PAINT messages, manages the update region for a window, and how to use all common type DCs.
Regions
Posted: 10 Mar 2002   Updated: 10 Mar 2002   Views: 177,561   Rating: 5.00/5    Votes: 65   Popularity: 9.06
Licence: The Code Project Open License (CPOL)      Bookmarked: 123   Downloaded: 5,670
Guide to understanding how to create and use regions with the WIN32 SDK
Posted: 9 Apr 2002   Updated: 9 Apr 2002   Views: 169,950   Rating: 4.92/5    Votes: 53   Popularity: 8.48
Licence: The Code Project Open License (CPOL)      Bookmarked: 108   Downloaded: 5,401
Guide to understand the three different types of clipping regions, and how they relate to the Device Context.
General Graphics
General
Posted: 8 Sep 2011   Updated: 9 Sep 2011   Views: 51,443   Rating: 4.99/5    Votes: 78   Popularity: 9.44
Licence: The Code Project Open License (CPOL)      Bookmarked: 135   Downloaded: 5,707
With respect to Image Composition, your imagination is your only limit.
C / C++ Language
Templates
Posted: 22 May 2014   Updated: 14 Jan 2015   Views: 16,325   Rating: 4.88/5    Votes: 15   Popularity: 5.80
Licence: The Code Project Open License (CPOL)      Bookmarked: 22   Downloaded: 389
A small self-contained header file implementation of an static counter for use at compile-time.
WTL
General
Posted: 27 Apr 2002   Updated: 27 Apr 2002   Views: 73,080   Rating: 4.55/5    Votes: 9   Popularity: 4.32
Licence: The Code Project Open License (CPOL)      Bookmarked: 30   Downloaded: 1,681
A message loop class that is suitable for game programming in WTL.
Programming Tips
General
Posted: 15 Oct 2002   Updated: 15 Oct 2002   Views: 70,680   Rating: 4.39/5    Votes: 15   Popularity: 5.14
Licence: The Code Project Open License (CPOL)      Bookmarked: 27   Downloaded: 0
VS Editor Tip: How to use Quick Macros
Design and Architecture
Frameworks
Posted: 9 Oct 2008   Updated: 9 Oct 2008   Views: 37,497   Rating: 5.00/5    Votes: 15   Popularity: 5.88
Licence: The Code Project Open License (CPOL)      Bookmarked: 49   Downloaded: 604
Macro based framework written for C++ applications that will allow basic instrumentation and profiling features
Uncategorised Technical Blogs
General
Posted: 17 Jan 2015   Updated: 17 Jan 2015   Views: 2,940   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 0   Downloaded: 0
Are you mocking me?
IoT Overview
General
Posted: 26 Oct 2014   Updated: 26 Oct 2014   Views: 10,193   Rating: 4.72/5    Votes: 8   Popularity: 4.33
Licence: The Code Project Open License (CPOL)      Bookmarked: 5   Downloaded: 0
What the Internet of Things is and how it can safely evolve to reach its potential

Average blogs rating: 4.90

Grid & Data Controls
General
Posted: 2 Jul 2014   Updated: 2 Jul 2014   Views: 3,930   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 0   Downloaded: 0
This is an entry for the continuing series of blog entries that documents the design and implementation process of a library. This library is called, Network Alchemy[^]. Alchemy performs data serialization and it is written in C++.By using the template construct, Typelist, I have implemented a basis
Site & Server Management
General
Posted: 27 Sep 2014   Updated: 28 Sep 2014   Views: 5,140   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: The Code Project Open License (CPOL)      Bookmarked: 3   Downloaded: 0
Does this scenario sound familiar? You have identified a piece of troublesome logic in your code-base, which has been the source of many headaches for both you and your managers. You have also determined an elegant fix to make the code maintainable and easy to work with for many years to come. You m
C / C++ Language
C++ 11
Posted: 5 Jun 2015   Updated: 5 Jun 2015   Views: 1,080   Rating: 4.83/5    Votes: 4   Popularity: 2.89
Licence: The Code Project Open License (CPOL)      Bookmarked: 3   Downloaded: 0
C++: Template Meta-Programming 2.0
General
Posted: 21 Jan 2014   Updated: 21 Jan 2014   Views: 4,971   Rating: 4.71/5    Votes: 4   Popularity: 2.91
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
My favorite C++ books are from Scott Meyers, Effective C++ series. The first item in Effective C++, 3rd Edition is titled View C++ as a federation of languages. I took note of this suggestion the first, and each successive time I read through this book. I thought of this as a fresh way to view the b
Posted: 9 Feb 2014   Updated: 9 Feb 2014   Views: 7,281   Rating: 4.72/5    Votes: 7   Popularity: 4.23
Licence: The Code Project Open License (CPOL)      Bookmarked: 3   Downloaded: 0
The concept of selecting descriptive variable names is a lesson that seems to start almost the moment you pick up your first programming book. This is sound advice, and I do not contest this. However, I think that the basis could be improved by creating and using the most appropriate type for the ta
Posted: 10 Mar 2014   Updated: 18 May 2014   Views: 6,530   Rating: 5.00/5    Votes: 6   Popularity: 3.89
Licence: The Code Project Open License (CPOL)      Bookmarked: 9   Downloaded: 0
using and namespace are two of the most useful C++ keywords when it comes to simplifying syntax, and clarifying your intentions with the code. You should understand the value and flexibility these constructs will add to your software and it maintenance. The benefits are realized in the form of orga
Posted: 18 Jun 2014   Updated: 21 Jun 2014   Views: 7,341   Rating: 4.87/5    Votes: 5   Popularity: 3.39
Licence: The Code Project Open License (CPOL)      Bookmarked: 6   Downloaded: 0
I would like to devote this entry to further discuss the Typelist data type. Previously, I explored the Typelist[^] for use in my network library, Alchemy[^]. I decided that it would be a better construct for managing type info than the std::tuple. The primary reason is the is no data associated wit
Posted: 4 Feb 2015   Updated: 4 Feb 2015   Views: 3,290   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 2   Downloaded: 0
Alchemy: BitField
Templates
Posted: 23 Dec 2013   Updated: 23 Dec 2013   Views: 9,900   Rating: 4.59/5    Votes: 11   Popularity: 4.80
Licence: The Code Project Open License (CPOL)      Bookmarked: 14   Downloaded: 0
Template meta-programming is the practice of using templates to generate types and functions to perform computations at compile-time and generate programs.
Posted: 17 May 2014   Updated: 18 May 2014   Views: 4,821   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 3   Downloaded: 0
Previously I had discussed the tuple data type. The tuple is a general purpose container that can be comprised of any sequence of types. Both the types and the values can be accessed by index or traversing similar to a linked list. The TypeList is a category of types that are very similar to the tup
Posted: 18 May 2014   Updated: 18 May 2014   Views: 7,825   Rating: 4.85/5    Votes: 4   Popularity: 2.92
Licence: The Code Project Open License (CPOL)      Bookmarked: 10   Downloaded: 0
C++ header
Posted: 27 Jan 2015   Updated: 9 Feb 2015   Views: 12,751   Rating: 4.91/5    Votes: 9   Popularity: 4.68
Licence: The Code Project Open License (CPOL)      Bookmarked: 6   Downloaded: 0
This post will focus on the concept of SFINAE, Substitution Failure Is Not An Error. This is a core concept that is one of the reasons templates are even possible. This concept is related exclusively to the processing of templates. It is referred to as SFINAE by the community, and this entry focuses
Other .NET Languages
General
Posted: 21 Mar 2014   Updated: 21 Mar 2014   Views: 4,911   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 2   Downloaded: 0
If you ask a group of 10 software engineers to develop unit tests for the same object, you will end up with 10 unique approaches to testing that object. Now imagine each engineer was given a different object. This was my experience with unit testing before I discovered how useful and how much more v
Posted: 22 May 2015   Updated: 22 May 2015   Views: 1,741   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 2   Downloaded: 0
As you gain expertise you begin to realize how little you actually know and understand. I have found this to be true of most skills. It’s easy to fall into the trap where you believe that you continue to grow your expertise each year, and thus have less and less to learn. Read on and I will de
Posted: 15 Jun 2015   Updated: 15 Jun 2015   Views: 6,562   Rating: 4.85/5    Votes: 4   Popularity: 3.01
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
Over the years I have heard this question or criticism many times:Why is so much math required for a computer science degree?I never questioned the amount of math that was required to earn my degree. I enjoy learning, especially math and science. Although, a few of the classes felt like punishment.
Libraries
Code Libraries
Posted: 5 Dec 2014   Updated: 5 Dec 2014   Views: 3,620   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
This is an entry for the continuing series of blog entries that documents the design and implementation process of a library. This library is called, Network Alchemy[^]. Alchemy performs data serialization and it is written in C++.I have written about many of the concepts that are required to implem
Social Network APIs
General
Posted: 18 Mar 2014   Updated: 18 Mar 2014   Views: 3,460   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
While many of the principles of developing robust software are easy to explain, it is much more difficult to know how and when to apply these principles. Practice and learning from mistakes is generally the most productive way to understand these principles. However, it is much more desirable to und
Internet / Network
Network
Posted: 28 Mar 2014   Updated: 29 Mar 2014   Views: 8,152   Rating: 4.88/5    Votes: 5   Popularity: 3.39
Licence: The Code Project Open License (CPOL)      Bookmarked: 9   Downloaded: 1
Byte-gender; not, "Yes! Please!"Good! Now that I have your attention let's solve a relatively simple problem, byte sex. A less sensational name for this concept is byte endianess. This is one of those concepts that you should at least be aware of, even if you don't have to pay much attention to it i
Uncategorised References
General
Posted: 21 Jun 2015   Updated: 21 Jun 2015   Views: 2,361   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 2   Downloaded: 0
Rvalue references were introduced with C++11, and they are used to implement move semantics and perfect-forwarding. Both of these techniques are ways to eliminate copies of data parameters for efficiency. There is much confusion around this new feature that uses the && operator, because its meaning
Windows 8 Design
Design
Posted: 29 Jun 2014   Updated: 29 Jun 2014   Views: 6,435   Rating: 4.95/5    Votes: 8   Popularity: 4.52
Licence: The Code Project Open License (CPOL)      Bookmarked: 11   Downloaded: 0
Software Design Patterns have helped us create a language to communicate and concepts and leverage the skills of previous work. Design patterns are very powerful, language agnostic descriptions problems and solutions that have been encounter and solved many times over. However, design patterns are o
Code Generation
General
Posted: 9 Nov 2013   Updated: 9 Nov 2013   Views: 7,345   Rating: 4.91/5    Votes: 3   Popularity: 2.39
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
A passive use of the term code rot describes the source code for an aging system that require dependencies or tools that are no longer available.
Posted: 20 Feb 2014   Updated: 18 May 2014   Views: 4,831   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 0   Downloaded: 0
Code of The DamnedThis is a journal for those who feel they have been damned to live in a code base that has no hope. However, there is hope. Hope comes in the form of understanding how entropy enters the source code you work in and using discipline, experience, tools and many other resources to kee
Posted: 20 May 2014   Updated: 20 May 2014   Views: 5,254   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: The Code Project Open License (CPOL)      Bookmarked: 8   Downloaded: 1
I really do not like MACROs in C and C++, at least the way they have been traditionally used starting with C. Many of these uses are antiquated because of better feature support with C++. The primary uses are inline function calls and constant declarations. With the possibility of MACRO instantiatio
Design and Architecture
Design Patterns
Posted: 21 Jul 2014   Updated: 21 Jul 2014   Views: 4,991   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: The Code Project Open License (CPOL)      Bookmarked: 3   Downloaded: 0
I am not aware of a software design pattern that has been vilified more than The Singleton. Just as every other design pattern, the singleton has its merits. Given the right situation, it provides a simple a clean solution, and just as every other design pattern, it can be misused. I ha
General
Posted: 27 Nov 2013   Updated: 27 Nov 2013   Views: 7,403   Rating: 4.87/5    Votes: 5   Popularity: 3.44
Licence: The Code Project Open License (CPOL)      Bookmarked: 3   Downloaded: 0
I want to hopefully connect the dots for many to help convince you of the ultimate importance of a well defined and protected interface.
Posted: 21 Jan 2014   Updated: 22 Jan 2014   Views: 15,281   Rating: 4.73/5    Votes: 31   Popularity: 7.05
Licence: The Code Project Open License (CPOL)      Bookmarked: 17   Downloaded: 0
Code maintenance is generally viewed as a separate task in the development lifecycle. The hard work of designing and implementing the product has been performed, and although software test did their best to get in the way and kept finding issues the program, the product shipped. Now comes the mainte
Posted: 13 Apr 2014   Updated: 14 Apr 2014   Views: 4,361   Rating: 4.62/5    Votes: 4   Popularity: 2.85
Licence: The Code Project Open License (CPOL)      Bookmarked: 4   Downloaded: 0
Recently I ran across the article, "Is Design Dead?", from Martin Fowler's blog. Martin addresses the common misconception that design is discouraged in Extreme Programming. He describes the overall purpose of design in software and how the design emerges as part of the development phase. As more is
Posted: 20 Apr 2014   Updated: 22 Apr 2014   Views: 8,262   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 3   Downloaded: 0
During my design analysis for my Network Alchemy implementation I thought that the tuple may be the answer to allow me to iterate over the types defined in a network message definition. Tuples are data structures that are a generalization of the std::pair. Rather than having a limitation of 2 items
Methodologies
Posted: 10 Nov 2013   Updated: 10 Nov 2013   Views: 13,222   Rating: 4.96/5    Votes: 9   Popularity: 4.72
Licence: The Code Project Open License (CPOL)      Bookmarked: 9   Downloaded: 0
a brief overview of TDD, which will include a description of the concepts, development process and potential benefits associated with TDD.
Unit Testing
Posted: 14 Oct 2014   Updated: 14 Oct 2014   Views: 4,041   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
How often are you given instructions by a person of authority and then at some later point in time witness them going against exactly what they just asked you to do?!Your dad telling you not to drink out of the milk carton; then you catch him washing down a bite of chocolate cake with a swig directl
Testing and QA
General
Posted: 13 Feb 2014   Updated: 14 Feb 2014   Views: 10,846   Rating: 4.95/5    Votes: 7   Popularity: 4.18
Licence: The Code Project Open License (CPOL)      Bookmarked: 9   Downloaded: 0
I would like to clarify the purpose and intention of a unit test for every role even tangentially related to the development of software. I have observed a steady upward trend, over the last 15 years, for the importance and value of automating the software validation process. I think this is fantast
Posted: 26 Mar 2014   Updated: 18 May 2014   Views: 6,071   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: The Code Project Open License (CPOL)      Bookmarked: 6   Downloaded: 2
I discussed the merits of selecting a suitable unit test framework for your development project in my previous post. I described the qualities that I found most valuable in the test framework that I use, CxxTest. The qualities are xUnit framework, portability, simplicity, and flexibility. There are
Posted: 13 Dec 2014   Updated: 13 Dec 2014   Views: 5,440   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
The Devil's Advocate is often an effective role that can help uncover logical weaknesses for a point of view. For those that are unfamiliar with this term, the Devil's Advocate takes a position that they do not necessarily agree with for the sake of debate. I usually do it to learn more about the to
Posted: 19 Dec 2014   Updated: 19 Dec 2014   Views: 6,211   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: The Code Project Open License (CPOL)      Bookmarked: 2   Downloaded: 0
What's wrong with code reviews
UI Testing
Posted: 1 May 2015   Updated: 1 May 2015   Views: 4,381   Rating: 4.67/5    Votes: 3   Popularity: 2.39
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
I have written about the Singleton[^] before. As a quick review from what I previously stated, I don't think the Singleton is misunderstood, I think it is the only software design pattern that most people do understand. Those that call the Singleton an anti-pattern believe that it is overused. It's
Work Issues
The Developer's Life
Posted: 21 Jan 2014   Updated: 21 Jan 2014   Views: 6,100   Rating: 4.53/5    Votes: 6   Popularity: 3.50
Licence: The Code Project Open License (CPOL)      Bookmarked: 5   Downloaded: 0
Having good engineers on your team can make the difference between a projects success or failure. Good engineers are able to jump in and solve problems, design the solution, and implement the code to make it all work. They may be on the team from the start, or brought in at the end to help get the p
Posted: 7 Dec 2014   Updated: 7 Dec 2014   Views: 4,491   Rating: 4.93/5    Votes: 5   Popularity: 3.38
Licence: The Code Project Open License (CPOL)      Bookmarked: 3   Downloaded: 0
How I avoid making mistakes
Posted: 4 Mar 2015   Updated: 5 Mar 2015   Views: 2,760   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
A post to see whether one size fits all
Scrapbook
General
Posted: 14 Jan 2015   Updated: 14 Jan 2015   Views: 2,741   Rating: 4.75/5    Votes: 4   Popularity: 2.90
Licence: The Code Project Open License (CPOL)      Bookmarked: 2   Downloaded: 0
I found the "Silver Bullet"!
Uncategorised Technical Blogs
General
Posted: 15 Apr 2014   Updated: 15 Apr 2014   Views: 3,110   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 0   Downloaded: 0
When I create a new library, I like to approach the design from two different directions. The first is the traditional route, analyzing the functionality that I need and designing a suitable interface to access those features. I also may write a set of pseudo-code that demonstrates what it would loo
Posted: 20 Jun 2014   Updated: 20 Jun 2014   Views: 5,681   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
I discussed the Typelist with greater detail in my previous post. However, up to this point I haven't demonstrated any practical uses for the Typelist. In this entry, I will further develop operations for use with the Typelist. In order to implement the final operations in this entry, I will need to
Posted: 4 Jul 2014   Updated: 4 Jul 2014   Views: 3,900   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 0   Downloaded: 0
This is an entry for the continuing series of blog entries that documents the design and implementation process of a library. This library is called, Network Alchemy[^]. Alchemy performs data serialization and it is written in C++.I presented the design and initial implementation of the Datum[^] obj
Posted: 16 Oct 2014   Updated: 16 Oct 2014   Views: 3,030   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
Value semantics for an object indicates that only its value is important. Its identity is irrelevant. The alternative is reference/pointer semantics; the identity of the object is at least as important as the value of the object. This terminology is closely related to pass/copy-by-value and pass-by-
Posted: 17 Dec 2014   Updated: 17 Dec 2014   Views: 11,414   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: The Code Project Open License (CPOL)      Bookmarked: 2   Downloaded: 0
Why computers haven't replaced programmers
Posted: 18 Dec 2014   Updated: 18 Dec 2014   Views: 6,172   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 0   Downloaded: 0
Alchemy: Message Buffer
Posted: 21 Dec 2014   Updated: 21 Dec 2014   Views: 3,280   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
Alchemy: Message Serialization
Posted: 7 Feb 2015   Updated: 7 Feb 2015   Views: 7,551   Rating: 5.00/5    Votes: 11   Popularity: 5.21
Licence: The Code Project Open License (CPOL)      Bookmarked: 6   Downloaded: 0
What is a software architect?
Posted: 12 Feb 2015   Updated: 12 Feb 2015   Views: 2,410   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 0   Downloaded: 0
Alchemy: BitLists Mk1
Posted: 21 Feb 2015   Updated: 21 Feb 2015   Views: 3,224   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 0   Downloaded: 0
This post discusses enable_if.
Posted: 28 Mar 2015   Updated: 28 Mar 2015   Views: 3,601   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: The Code Project Open License (CPOL)      Bookmarked: 2   Downloaded: 0
Bikeshedding
Posted: 18 Apr 2015   Updated: 18 Apr 2015   Views: 11,064   Rating: 4.96/5    Votes: 24   Popularity: 6.84
Licence: The Code Project Open License (CPOL)      Bookmarked: 18   Downloaded: 0
Coupling and Cohesion are two properties that deserve your attention when you design software. These are important because they have a direct effect on how flexible and maintainable your software will be as your software continues to e developed. Will you be able to reuse it? Will you be able to ada
Posted: 19 Apr 2015   Updated: 19 Apr 2015   Views: 2,450   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
A continuation of a series of blog entries that documents the design and implementation process of a library. The library is called, Network Alchemy[^]. Alchemy performs low-level data serialization with compile-time reflection. It is written in C++ using template meta-programming.With my first atte
Posted: 23 Apr 2015   Updated: 23 Apr 2015   Views: 4,071   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
Type Decay
Posted: 30 Apr 2015   Updated: 30 Apr 2015   Views: 2,001   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
A continuation of a series of blog entries that documents the design and implementation process of a library. The library is called, Network Alchemy[^]. Alchemy performs automated data serialization with compile-time reflection. It is written in C++ using template meta-programming.Benchmark testing
Posted: 24 May 2015   Updated: 24 May 2015   Views: 2,120   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 0   Downloaded: 0
"To know and not do, is to not yet know"This Zen mantra has been the signature that I have placed at the end of every entry since I started this blog. This mantra is the impetus of this entry, my decision to know how to use Modern C++.For the past 12 years I have worked at companies where backwards
Posted: 29 May 2015   Updated: 29 May 2015   Views: 1,911   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 0   Downloaded: 0
There are many different philosophies with regards to how source code should be commented. The gamut of these philosophies range from "Every single statement must have a comment." to "Comments are useless; avoid them at all costs!" I am not even going to attempt to explain the disparity of range. Ho
Posted: 31 May 2015   Updated: 31 May 2015   Views: 3,480   Rating: 4.88/5    Votes: 4   Popularity: 2.92
Licence: The Code Project Open License (CPOL)      Bookmarked: 5   Downloaded: 0
The keyword auto has been given a new behavior since the C++11 Standard was ratified. Instantly I could appreciate the value of its new function when I considered things like declaring an iterator for a container. However, I was skeptical of any value that auto could provide for general purpose use.
Posted: 15 Jun 2015   Updated: 15 Jun 2015   Views: 1,201   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The Code Project Open License (CPOL)      Bookmarked: 0   Downloaded: 0
Accidental complexity is the entropy that exists in your system that is possible to eliminate. The opposite of this is essential complexity; the parts of a system that are required and cannot be simplified. These two concepts were discussed by Fred Brooks in his essay No Silver Bullet -- Essence and
No tips have been posted.
No reference articles have been posted.

Paul M Watt
Engineer
United States United States
I am a software architect and I have been developing software for nearly two decades. Over the years I have learned to value maintainable solutions first. This has allowed me to adapt my projects to meet the challenges that inevitably appear during development. I use the most beneficial short-term achievements to drive the software I develop towards a long-term vision.

C++ is my strongest language. However, I have also used x86 ASM, ARM ASM, C, C#, JAVA, Python, and JavaScript to solve programming problems. I have worked in a variety of industries throughout my career, which include:
• Manufacturing
• Consumer Products
• Virtualization
• Computer Infrastructure Management
• DoD Contracting

My experience spans these hardware types and operating systems:
• Desktop
o Windows (Full-stack: GUI, Application, Service, Kernel Driver)
o Linux (Application, Daemon)
• Mobile Devices
o Windows CE / Windows Phone
o Linux
• Embedded Devices
o VxWorks (RTOS)
o Greenhills Linux
o Embedded Windows XP

I am a Mentor and frequent contributor to CodeProject.com with tutorial articles that teach others about the inner workings of the Windows APIs.

I am the creator of an open source project on GitHub called Alchemy[^], which is an open-source compile-time data serialization library.

I maintain my own repository and blog at CodeOfTheDamned.com/[^], because code maintenance does not have to be a living hell.


Advertise | Privacy | Mobile
Web02 | 2.8.160525.2 | Last Updated 27 May 2016
Copyright © CodeProject, 1999-2016
All Rights Reserved. Terms of Service
Layout: fixed | fluid