Click here to Skip to main content

Articles by Marc Clifton (Articles: 144)

Articles: 144

RSS Feed

Average article rating: 4.55

Desktop Gadgets

Countdown Reminders
Posted: 24 Apr 2010   Updated: 24 Apr 2010   Views: 17,184   Rating: 4.94/5    Votes: 19   Popularity: 6.32
Licence: The Code Project Open License (CPOL)      Bookmarked: 44   Downloaded: 995
Create countdown timers to remind you of upcoming events.

Dialogs and Windows

Message Form - A minimum time display form
Posted: 14 Dec 2006   Updated: 14 Dec 2006   Views: 29,649   Rating: 3.94/5    Votes: 9   Popularity: 3.73
Licence: Not specified      Bookmarked: 36   Downloaded: 132
Display useful messages for a minimum duration.
A Plug-in Wizard Framework
Posted: 21 May 2008   Updated: 21 May 2008   Views: 40,045   Rating: 4.81/5    Votes: 29   Popularity: 7.03
Licence: The BSD License      Bookmarked: 106   Downloaded: 428
A wizard framework that supports plug-ins for the wizard pages.

Edit Controls

Nullable Masked Edit, and a Better Masked Edit Also!
Posted: 12 Apr 2006   Updated: 22 Apr 2006   Views: 87,598   Rating: 4.87/5    Votes: 65   Popularity: 8.83
Licence: Not specified      Bookmarked: 114   Downloaded: 254
A nullable masked edit control based on the .NET 2.0 MaskedTextBox.

Files and Folders

File Flitter
Posted: 15 Jan 2011   Updated: 15 Jan 2011   Views: 9,415   Rating: 4.97/5    Votes: 15   Popularity: 5.84
Licence: The Code Project Open License (CPOL)      Bookmarked: 48   Downloaded: 234
Monitor files and when they change, copy them to specified folders.

Grid & Data Controls

A Helper Class to Bind a DataTable to a Class
Posted: 9 Nov 2007   Updated: 9 Nov 2007   Views: 33,717   Rating: 4.52/5    Votes: 20   Popularity: 5.88
Licence: The Code Project Open License (CPOL)      Bookmarked: 88   Downloaded: 316
Binding to the DataTable without the System.Windows.Forms namespace.

Menus

Dynamic Menu Creation
Posted: 21 Sep 2002   Updated: 24 Sep 2002   Views: 173,771   Rating: 3.44/5    Votes: 20   Popularity: 4.47
Licence: Not specified      Bookmarked: 83   Downloaded: 948
Dynamically create menus whose structure is defined in an Access database.

Miscellaneous

Understand .NET Scrollbars
Posted: 28 Dec 2004   Updated: 28 Dec 2004   Views: 100,804   Rating: 4.51/5    Votes: 23   Popularity: 6.14
Licence: Not specified      Bookmarked: 59   Downloaded: 1,623
Thumb Size, Paging, and Sub-Paging issues.
Part I: Unifying Web and Windows Form design and layout
Posted: 8 Jul 2002   Updated: 9 Jul 2002   Views: 179,849   Rating: 4.63/5    Votes: 25   Popularity: 6.47
Licence: Not specified      Bookmarked: 110   Downloaded: 2,980
Part I of a multipart series, it illustrates how to unify GUI design for both Web Forms and Windows Forms, so that a single GUI specification can be rendered in both technologies.
Part II: Web & Window Form Unification: Synchronous And Asynchronous Event Handling For Controls Created At Runtime
Posted: 12 Jul 2002   Updated: 13 Jul 2002   Views: 89,509   Rating: 4.17/5    Votes: 17   Popularity: 5.14
Licence: Not specified      Bookmarked: 77   Downloaded: 1,068
This is the second part of a multipart article on unifying web and window form application development. This part demonstrates synchronous and asynchronous event handling of GUI control events, abstracting the implementation of web/window forms to be technology independant.
MyXAML--XAML-style gui generator (added styles)
Posted: 12 Feb 2004   Updated: 9 Mar 2004   Views: 230,620   Rating: 4.85/5    Votes: 75   Popularity: 9.10
Licence: Not specified      Bookmarked: 152   Downloaded: 951
Generate controls, set property values, and wire up event handlers at runtime from an XML definition.
Mouse Events
Posted: 2 Jun 2005   Updated: 2 Jun 2005   Views: 87,278   Rating: 4.67/5    Votes: 20   Popularity: 6.08
Licence: Not specified      Bookmarked: 51   Downloaded: 1,479
A helper class to expand on the mouse events provided by the Control class.

Selection Controls

An Outlook Bar Implementation
Posted: 12 Apr 2003   Updated: 12 Apr 2003   Views: 322,217   Rating: 4.84/5    Votes: 130   Popularity: 10.23
Licence: Not specified      Bookmarked: 293   Downloaded: 2,326
Illustrates in a step-by-step manner the design and implementation of an Outlook style icon bar.

Tree Controls

XTree
Posted: 7 Jan 2006   Updated: 7 Jan 2006   Views: 60,535   Rating: 4.41/5    Votes: 19   Popularity: 5.64
Licence: Not specified      Bookmarked: 71   Downloaded: 312
A template driven tree.
XTree - Part II
Posted: 29 May 2006   Updated: 29 May 2006   Views: 38,960   Rating: 4.04/5    Votes: 10   Popularity: 4.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 58   Downloaded: 221
A template driven tree control.
XTree Part III - Trees, DataSets, and DataTables
Posted: 6 Jul 2006   Updated: 6 Jul 2006   Views: 50,226   Rating: 4.81/5    Votes: 15   Popularity: 5.66
Licence: The Code Project Open License (CPOL)      Bookmarked: 85   Downloaded: 374
A general purpose tree combined with automated DataRow management.
XTree - A Generic Implementation
Posted: 30 Nov 2011   Updated: 30 Nov 2011   Views: 5,793   Rating: 5.00/5    Votes: 7   Popularity: 4.23
Licence: The Code Project Open License (CPOL)      Bookmarked: 13   Downloaded: 353
Revisiting the XTree implementation, using a generic controller.

ASP.NET

Simple User Account Login
Posted: 23 Jun 2002   Updated: 23 Jun 2002   Views: 214,112   Rating: 3.42/5    Votes: 33   Popularity: 5.19
Licence: Not specified      Bookmarked: 90   Downloaded: 6,036
Demonstrates maintaining user account information, managing session state, Access database I/O, cookies, and some other basic features.
A Lean And Mean Blog Engine
Posted: 27 Feb 2007   Updated: 27 Feb 2007   Views: 49,045   Rating: 3.44/5    Votes: 21   Popularity: 4.55
Licence: Not specified      Bookmarked: 44   Downloaded: 323
My 3 day foray into writing a blog engine
A Lean And Mean Blog Engine, Part II
Posted: 27 Feb 2007   Updated: 27 Feb 2007   Views: 36,488   Rating: 4.44/5    Votes: 22   Popularity: 5.96
Licence: Not specified      Bookmarked: 53   Downloaded: 293
Part II of my 3 day foray into writing a blog engine.

Trace and Logs

A Release Mode Breakpoint Using Reflection Emit
Posted: 7 Oct 2002   Updated: 9 Oct 2002   Views: 59,567   Rating: 4.08/5    Votes: 13   Popularity: 4.54
Licence: Not specified      Bookmarked: 21   Downloaded: 2
C#'s release mode doesn't allow break points to be set. This function emits an IL break, forcing a breakpoint in the debugger.
A Treatise on Using Debug and Trace classes, including Exception Handling
Posted: 9 Oct 2002   Updated: 12 Oct 2002   Views: 159,894   Rating: 4.59/5    Votes: 36   Popularity: 7.14
Licence: Not specified      Bookmarked: 169   Downloaded: 1,195
C#'s built in Debug and Trace classes can be confusing and inappropriately used. This article looks at one success story using debug traces and assertions, and presents an improved debug class.
Simple Code Path Testing
Posted: 8 Mar 2005   Updated: 8 Mar 2005   Views: 41,846   Rating: 4.00/5    Votes: 10   Popularity: 4.00
Licence: Not specified      Bookmarked: 22   Downloaded: 229
Add code path testing to your unit tests.
Traceract
Posted: 3 Sep 2005   Updated: 3 Sep 2005   Views: 46,878   Rating: 3.69/5    Votes: 9   Popularity: 3.52
Licence: Not specified      Bookmarked: 31   Downloaded: 759
A prototype debug tracer with an added dimension.

User Controls

A Data Driven Tab Strip User Control
Posted: 28 Oct 2003   Updated: 28 Oct 2003   Views: 166,410   Rating: 3.94/5    Votes: 24   Popularity: 5.44
Licence: Not specified      Bookmarked: 77   Downloaded: 1,959
Reduce implementation time with a reusable, externally driven tab strip control.

Database

Object Mapping Part II - Schema Code Generator
Posted: 17 Dec 2006   Updated: 17 Dec 2006   Views: 46,115   Rating: 4.61/5    Votes: 12   Popularity: 4.97
Licence: Not specified      Bookmarked: 67   Downloaded: 247
Generate an object mapping class from a schema definition.
Object Mapping Part I - The Row Cursor
Posted: 17 Dec 2006   Updated: 17 Dec 2006   Views: 42,123   Rating: 4.84/5    Votes: 18   Popularity: 6.07
Licence: Not specified      Bookmarked: 72   Downloaded: 271
A row cursor implementation suitable for synchronizing and navigating a DataView against with object-mapped instance.
How to Manually Create a Typed DataTable
Posted: 28 Oct 2008   Updated: 28 Oct 2008   Views: 62,706   Rating: 4.96/5    Votes: 42   Popularity: 8.06
Licence: The Code Project Open License (CPOL)      Bookmarked: 124   Downloaded: 583
When you override GetRowType, you also need to override NewRowFromBuilder().
Introduction to the Entity Framework
Posted: 12 Feb 2009   Updated: 12 Feb 2009   Views: 151,953   Rating: 4.72/5    Votes: 47   Popularity: 7.89
Licence: The Code Project Open License (CPOL)      Bookmarked: 213   Downloaded: 2,807
Looking at the EF and database association patterns.
Accessing XML Using Insert/Update/Delete/Query Statements
Posted: 12 Apr 2005   Updated: 12 Apr 2005   Views: 98,734   Rating: 4.65/5    Votes: 23   Popularity: 6.33
Licence: The Code Project Open License (CPOL)      Bookmarked: 98   Downloaded: 1,782
A psuedo-database for XML.
An XML Database Schema And Data Editor
Posted: 29 Sep 2002   Updated: 29 Sep 2002   Views: 150,434   Rating: 4.91/5    Votes: 51   Popularity: 8.38
Licence: The Code Project Open License (CPOL)      Bookmarked: 122   Downloaded: 3,151
View and edit your XML database schema and data
DataTable Transaction Logger
Posted: 28 Feb 2006   Updated: 28 Feb 2006   Views: 70,366   Rating: 4.89/5    Votes: 28   Popularity: 7.07
Licence: The Code Project Open License (CPOL)      Bookmarked: 96   Downloaded: 1,565
Undo/Redo DataTable transactions by logging row changes (insert/delete) and field changes.
BindingSource, Transaction Sandboxes, and Pre vs. Post Add Modalities
Posted: 13 Mar 2006   Updated: 13 Mar 2006   Views: 53,297   Rating: 5.00/5    Votes: 11   Popularity: 5.21
Licence: The Code Project Open License (CPOL)      Bookmarked: 49   Downloaded: 416
An investigation into different data entry modalities and the need for a transaction sandbox.
The BeginLoadData problem and why OOP doesn't work
Posted: 22 Jun 2006   Updated: 22 Jun 2006   Views: 26,417   Rating: 3.23/5    Votes: 13   Popularity: 3.67
Licence: The Code Project Open License (CPOL)      Bookmarked: 20   Downloaded: 0
A foray into a specific problem while discovering at the same time the reasons for why OOP often fails us.
Relationship Oriented Programming - The IDE plus More on Agile Project Management
Posted: 8 Feb 2012   Updated: 12 Mar 2012   Views: 10,659   Rating: 4.97/5    Votes: 15   Popularity: 5.84
Licence: The Code Project Open License (CPOL)      Bookmarked: 29   Downloaded: 421
An Integrated Development Environment (IDE) for the Relationship Oriented Programming Tool.
DataTable Synchronization Manager
Posted: 4 Mar 2006   Updated: 4 Mar 2006   Views: 39,921   Rating: 4.55/5    Votes: 10   Popularity: 4.55
Licence: Not specified      Bookmarked: 61   Downloaded: 488
Adds synchronization to the DataTable Transaction Logger.

GDI+

Create a fractal Christmas tree
Posted: 22 Dec 2002   Updated: 22 Dec 2002   Views: 181,725   Rating: 4.94/5    Votes: 31   Popularity: 7.36
Licence: Not specified      Bookmarked: 51   Downloaded: 3,083
This program explores how trees are made using a simple fractal algorithm

General Graphics

The Koch Curve - Snowflake!
Posted: 24 Dec 2005   Updated: 24 Dec 2005   Views: 63,876   Rating: 4.84/5    Votes: 17   Popularity: 5.95
Licence: Not specified      Bookmarked: 33   Downloaded: 713
Using the Koch curve, a fractal, to draw a snowflake.

C / C++ Language

Organic Programming Environment (OPEN)
Posted: 26 May 2002   Updated: 26 May 2002   Views: 130,356   Rating: 3.74/5    Votes: 27   Popularity: 5.35
Licence: Not specified      Bookmarked: 53   Downloaded: 0
OPEN is a prototype development exploring a different paradigm for data management. Instead of applications being process-centric, in which processes drive data transfer, the Organic Programming environment uses a data-centric approach. In this paradigm, data initiates processes.
A Basic iButton Interface
Posted: 7 Mar 2003   Updated: 7 Mar 2003   Views: 115,450   Rating: 4.48/5    Votes: 27   Popularity: 6.41
Licence: The Code Project Open License (CPOL)      Bookmarked: 48   Downloaded: 1,659
An Example Of How To Interface To Dallas Semiconductor's iButton And 1-Wire Network
A Simple Bitmap Button Implementation
Posted: 2 Jul 2003   Updated: 2 Jul 2003   Views: 126,758   Rating: 4.57/5    Votes: 16   Popularity: 5.50
Licence: Not specified      Bookmarked: 62   Downloaded: 1,902
A small class that provides a pure bitmapped button capability for WinForms.

C#

Disconnected Client Architecture
Posted: 14 Feb 2007   Updated: 14 Feb 2007   Views: 98,413   Rating: 4.95/5    Votes: 61   Popularity: 8.84
Licence: The Code Project Open License (CPOL)      Bookmarked: 312   Downloaded: 1,443
A look at an offline client architecture that I've implemented in an application for a client.
A Project Dependency Graph Utility for Visual Studio 2008
Posted: 17 Jun 2009   Updated: 17 Jun 2009   Views: 67,005   Rating: 5.00/5    Votes: 31   Popularity: 7.46
Licence: The Code Project Open License (CPOL)      Bookmarked: 80   Downloaded: 1,418
Review your project dependencies.
C# Keywords, Part I: Modifier Keywords
Posted: 28 Oct 2002   Updated: 29 Oct 2002   Views: 175,465   Rating: 4.50/5    Votes: 39   Popularity: 7.16
Licence: Not specified      Bookmarked: 142   Downloaded: 2
To learn a new language, a good starting point is by becoming familiar with its keywords and their usage.
C# Keywords, Part II: Type Conversion, Operators and Object Types
Posted: 25 Dec 2002   Updated: 25 Dec 2002   Views: 137,146   Rating: 4.41/5    Votes: 34   Popularity: 6.75
Licence: Not specified      Bookmarked: 83   Downloaded: 1
In part II of this multipart tutorial, I describe the keywords that can loosely be catagorized as dealing with object types, operators and type conversions.
An instrumented synchronous/asynchronous event manager utilizing EventHandler and Reflection
Posted: 16 Oct 2002   Updated: 16 Oct 2002   Views: 72,577   Rating: 4.11/5    Votes: 15   Popularity: 4.84
Licence: Not specified      Bookmarked: 78   Downloaded: 789
Implements an instrumented event manager which can be used to invoke event sinks both synchronously and asynchronously. The event sink can be declared using either the System.EventHandler delegate or by reflection.
Proxy Delegates
Posted: 27 Dec 2002   Updated: 27 Dec 2002   Views: 75,007   Rating: 4.73/5    Votes: 11   Popularity: 4.93
Licence: The Code Project Open License (CPOL)      Bookmarked: 39   Downloaded: 703
Use reflection and proxy delegates to interface between two separate assemblies.
An Event Pool
Posted: 21 Feb 2004   Updated: 21 Feb 2004   Views: 98,093   Rating: 4.67/5    Votes: 45   Popularity: 7.71
Licence: The Code Project Open License (CPOL)      Bookmarked: 97   Downloaded: 2,396
An event pool helps manage large amounts of events that otherwise clutter up your code and make maintenance difficult.
Event Chain
Posted: 1 Jul 2008   Updated: 1 Jul 2008   Views: 40,752   Rating: 4.78/5    Votes: 34   Popularity: 7.33
Licence: The Code Project Open License (CPOL)      Bookmarked: 58   Downloaded: 129
Executing a multicast delegate to create an event chain that can be terminated by any handler in the chain
Benchmarking Direct, Delegate and Reflection Method Invocations
Posted: 5 Jan 2003   Updated: 5 Jan 2003   Views: 94,361   Rating: 4.61/5    Votes: 16   Popularity: 5.55
Licence: Not specified      Bookmarked: 26   Downloaded: 347
This console mode applet illustrates the significant performance hit of methods invoked using reflection.
The Application Automation Layer - Using XML to generate Menus
Posted: 5 May 2003   Updated: 5 May 2003   Views: 180,846   Rating: 4.81/5    Votes: 56   Popularity: 8.42
Licence: Not specified      Bookmarked: 183   Downloaded: 1,417
Exploring the issues of menu management as specified externally via an XML file, in the context of status bars, toolbars, and events.
The Application Automation Layer - Using XML To Dynamically Generate GUI Elements--Forms And Controls
Posted: 22 Jun 2003   Updated: 22 Jun 2003   Views: 268,187   Rating: 4.91/5    Votes: 61   Popularity: 8.76
Licence: Not specified      Bookmarked: 316   Downloaded: 5,353
Exploring the issues of runtime form and control generation as specified by XML files.
Another Look At IDisposable
Posted: 29 Aug 2003   Updated: 29 Aug 2003   Views: 188,957   Rating: 4.68/5    Votes: 44   Popularity: 7.69
Licence: Not specified      Bookmarked: 119   Downloaded: 1,139
A discussion of the Dispose method, how to use it, when to use it, and problems using it.
Advanced Unit Testing, Part I - Overview
Posted: 18 Sep 2003   Updated: 18 Sep 2003   Views: 477,695   Rating: 4.91/5    Votes: 135   Popularity: 10.45
Licence: Not specified      Bookmarked: 499   Downloaded: 7
An Introduction To The Issues Of Unit Testing
Advanced Unit Testing, Part II - Core Implementation
Posted: 22 Sep 2003   Updated: 22 Sep 2003   Views: 143,297   Rating: 4.64/5    Votes: 31   Popularity: 6.92
Licence: Not specified      Bookmarked: 171   Downloaded: 1,988
This article illustrates how a unit test automation framework is implemented and continues the case study developed in Part I.
Advanced Unit Testing, Part III - Testing Processes
Posted: 28 Sep 2003   Updated: 28 Sep 2003   Views: 212,720   Rating: 4.89/5    Votes: 51   Popularity: 8.34
Licence: Not specified      Bookmarked: 169   Downloaded: 1,874
Extend Unit Testing So That Entire Processes Can Be Tested
Advanced Unit Testing, Part IV - Fixture Setup/Teardown, Test Repetition And Performance Tests
Posted: 8 Oct 2003   Updated: 8 Oct 2003   Views: 127,180   Rating: 4.71/5    Votes: 40   Popularity: 7.54
Licence: Not specified      Bookmarked: 164   Downloaded: 1,785
This article extends the unit testing framework, adding fixture setup/teardown capability and performance (time and memory) measurement/testing.
Declarative Programming--Unifying Form And Web Development
Posted: 23 Nov 2004   Updated: 23 Nov 2004   Views: 46,071   Rating: 4.19/5    Votes: 14   Popularity: 4.80
Licence: Not specified      Bookmarked: 34   Downloaded: 662
Use declarative programming to create UI's common for both Web and Form applets.
An Undo/Redo Buffer Framework
Posted: 2 Jun 2005   Updated: 2 Jun 2005   Views: 67,859   Rating: 4.54/5    Votes: 22   Popularity: 6.09
Licence: Not specified      Bookmarked: 101   Downloaded: 794
The basic framework to implement undo/redo functionality.
Object Comparer
Posted: 15 Jun 2005   Updated: 15 Jun 2005   Views: 35,197   Rating: 4.24/5    Votes: 13   Popularity: 4.73
Licence: Not specified      Bookmarked: 20   Downloaded: 231
A fun but probably useless foray into comparing objects of different types.
Understanding Simple Data Binding
Posted: 4 Sep 2005   Updated: 4 Sep 2005   Views: 89,964   Rating: 4.78/5    Votes: 34   Popularity: 7.32
Licence: Not specified      Bookmarked: 81   Downloaded: 667
Tricks, pitfalls, and work arounds to .NET's data binding.
A Raw Serializer
Posted: 8 Jan 2006   Updated: 8 Jan 2006   Views: 64,039   Rating: 4.80/5    Votes: 30   Popularity: 7.08
Licence: The Code Project Open License (CPOL)      Bookmarked: 97   Downloaded: 601
Replace the BinaryFormatter with this class for compact (nullable) value type serialization.
The Enumerable Enumerator
Posted: 2 Nov 2006   Updated: 2 Nov 2006   Views: 27,944   Rating: 4.79/5    Votes: 20   Popularity: 6.23
Licence: Not specified      Bookmarked: 36   Downloaded: 152
Iterate over your enums, and other things to do with enums.
Safe Method Caller -- A Defensive Programming Technique
Posted: 26 Jun 2007   Updated: 26 Jun 2007   Views: 21,297   Rating: 3.79/5    Votes: 14   Popularity: 4.34
Licence: The Code Project Open License (CPOL)      Bookmarked: 45   Downloaded: 97
There are numerous times when we write code that communicates with a service or technology that, by nature of the connection or the robustness of the technology, can fail. This service helps protect you from those problems.
C# Language Features, From C# 2.0 to 4.0
Posted: 9 Feb 2012   Updated: 15 Mar 2012   Views: 44,698   Rating: 4.95/5    Votes: 138   Popularity: 10.58
Licence: The Code Project Open License (CPOL)      Bookmarked: 253   Downloaded: 0
A description of the new language features starting from C# 2.0, going through to version 4.0
Declarative Generics And Type Converters
Posted: 17 Sep 2004   Updated: 17 Sep 2004   Views: 53,039   Rating: 4.64/5    Votes: 11   Popularity: 4.83
Licence: Not specified      Bookmarked: 37   Downloaded: 2
How to declaratively define a closed generic and use type converters to implement assignment from a string.
A Circular List
Posted: 4 Mar 2007   Updated: 4 Mar 2007   Views: 40,748   Rating: 4.14/5    Votes: 14   Popularity: 4.75
Licence: Not specified      Bookmarked: 33   Downloaded: 346
A circular list implementation.
Detect if another process is running and bring it to the foreground
Posted: 30 Sep 2002   Updated: 30 Sep 2002   Views: 177,664   Rating: 4.52/5    Votes: 30   Popularity: 6.67
Licence: Not specified      Bookmarked: 97   Downloaded: 2
Sometimes, you only want one instance of your application running. This is a C# implementation that tests to see if an instance of your application is already running, and brings it to the foreground if it is.
How To Swap Top Level Forms
Posted: 25 Jun 2004   Updated: 25 Jun 2004   Views: 48,196   Rating: 4.86/5    Votes: 19   Popularity: 6.22
Licence: Not specified      Bookmarked: 30   Downloaded: 465
Use a specialized ApplicationContext to swap top level forms.
A Simple Drag And Drop How To Example
Posted: 10 Dec 2004   Updated: 10 Dec 2004   Views: 178,496   Rating: 4.70/5    Votes: 66   Popularity: 8.54
Licence: Not specified      Bookmarked: 160   Downloaded: 4,449
The basics, along with some things I learned along the way.
Using NetZ with Dynamically Loaded Assemblies
Posted: 21 Jul 2006   Updated: 21 Jul 2006   Views: 23,581   Rating: 4.53/5    Votes: 7   Popularity: 3.83
Licence: The Code Project Open License (CPOL)      Bookmarked: 22   Downloaded: 172
How to use dynamically loaded assemblies with your NetZ-built application.
A Study In Equality
Posted: 26 Dec 2007   Updated: 26 Dec 2007   Views: 11,931   Rating: 4.22/5    Votes: 12   Popularity: 4.55
Licence: The Code Project Open License (CPOL)      Bookmarked: 19   Downloaded: 40
Understanding value and ref types for equality tests and as keys in collections
Pinned Object
Posted: 11 Feb 2007   Updated: 11 Feb 2007   Views: 27,051   Rating: 4.80/5    Votes: 14   Popularity: 5.51
Licence: The Code Project Open License (CPOL)      Bookmarked: 20   Downloaded: 0
A helper class for working with structures that need to be pinned to prevent the GC from moving them.
Window State Monitor
Posted: 8 Mar 2005   Updated: 8 Mar 2005   Views: 38,710   Rating: 4.11/5    Votes: 10   Popularity: 4.11
Licence: Not specified      Bookmarked: 27   Downloaded: 456
A window state monitor.
Hosting XNA in a Window
Posted: 28 Jul 2007   Updated: 28 Jul 2007   Views: 33,830   Rating: 4.64/5    Votes: 6   Popularity: 3.61
Licence: Not specified      Bookmarked: 42   Downloaded: 0
My journey to unravel and discover a solution for hosting XNA in a WinForm UserControl

C++ / CLI

A Decimal Class Implementation
Posted: 16 Feb 2003   Updated: 16 Feb 2003   Views: 127,597   Rating: 4.67/5    Votes: 15   Popularity: 5.49
Licence: Not specified      Bookmarked: 20   Downloaded: 741
Use this class when high precision is required in basic numerical operations.

XML

The XmlTextReader - A Beginner's Guide
Posted: 2 Sep 2006   Updated: 2 Sep 2006   Views: 86,564   Rating: 4.63/5    Votes: 19   Popularity: 6.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 83   Downloaded: 471
An introduction to the XmlTextReader.
A Simple Serializer / Deserializer
Posted: 22 Sep 2004   Updated: 22 Sep 2004   Views: 64,706   Rating: 4.32/5    Votes: 15   Popularity: 5.09
Licence: Not specified      Bookmarked: 63   Downloaded: 690
A simple Serializer / Deserializer.
Generate Classes From Declarative Code
Posted: 7 Oct 2004   Updated: 7 Oct 2004   Views: 54,335   Rating: 4.52/5    Votes: 11   Popularity: 4.71
Licence: The Code Project Open License (CPOL)      Bookmarked: 37   Downloaded: 678
Creates C# classes from declarative XML code samples.
XML Control Panel
Posted: 30 Nov 2004   Updated: 30 Nov 2004   Views: 43,801   Rating: 4.60/5    Votes: 15   Popularity: 5.41
Licence: Not specified      Bookmarked: 50   Downloaded: 776
Demonstrating putting together a useful application from the amazing amount of code available here at The Code Project.
An XML Compiler
Posted: 13 Sep 2005   Updated: 13 Sep 2005   Views: 46,169   Rating: 4.59/5    Votes: 22   Popularity: 6.16
Licence: The Code Project Open License (CPOL)      Bookmarked: 65   Downloaded: 496
Convert your XML object graph to code using CodeDom.

.NET Framework

Multi-Image Viewer
Posted: 29 Dec 2004   Updated: 29 Dec 2004   Views: 132,115   Rating: 4.92/5    Votes: 23   Popularity: 6.70
Licence: Not specified      Bookmarked: 151   Downloaded: 3,422
A multi-image viewer with drag and drop source and sink capability.
An XML Schema Definition (XSD) Editor
Posted: 20 Jan 2003   Updated: 14 Oct 2003   Views: 284,305   Rating: 4.87/5    Votes: 81   Popularity: 9.29
Licence: Not specified      Bookmarked: 176   Downloaded: 7,965
An editor capable of producing common XSD documents
A DiagnosticDictionary
Posted: 19 Nov 2008   Updated: 19 Nov 2008   Views: 13,752   Rating: 3.71/5    Votes: 12   Popularity: 4.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 16   Downloaded: 34
Making the "the given key was not present" message more informative.
An RSS 2.0 Blog Reader Written In MyXaml
Posted: 13 Apr 2004   Updated: 13 Apr 2004   Views: 64,088   Rating: 4.57/5    Votes: 17   Popularity: 5.63
Licence: Not specified      Bookmarked: 39   Downloaded: 1
An RSS 2.0 Blog Reader Written in MyXaml
A Vector Graphics Rendered Animated Clock
Posted: 18 Apr 2004   Updated: 18 Apr 2004   Views: 270,034   Rating: 4.90/5    Votes: 77   Popularity: 9.25
Licence: Not specified      Bookmarked: 125   Downloaded: 5
Demonstrates Using MyXaml With A Vector Graphics Engine To Create An Analog Clock
Consuming A Weather Web Service With MyXaml
Posted: 8 May 2004   Updated: 8 May 2004   Views: 84,254   Rating: 4.60/5    Votes: 25   Popularity: 6.43
Licence: Not specified      Bookmarked: 41   Downloaded: 2
A demonstration of using MyXaml to consume a web service.
MycroXaml
Posted: 23 Sep 2004   Updated: 23 Sep 2004   Views: 61,104   Rating: 4.63/5    Votes: 24   Popularity: 6.39
Licence: The Code Project Open License (CPOL)      Bookmarked: 48   Downloaded: 599
A Declarative Xml Parser In Less Than 300 Lines Of Code
Declaratively Populating A Property Grid
Posted: 23 Sep 2004   Updated: 23 Sep 2004   Views: 66,270   Rating: 4.52/5    Votes: 12   Popularity: 4.87
Licence: Not specified      Bookmarked: 48   Downloaded: 1,993
Runtime class generation to declaratively populate a property grid.
Property Events
Posted: 3 May 2005   Updated: 3 May 2005   Views: 35,530   Rating: 4.76/5    Votes: 10   Popularity: 4.76
Licence: The Code Project Open License (CPOL)      Bookmarked: 36   Downloaded: 245
Declarative programming of Property Events.
XAML Resources
Posted: 30 Nov 2004   Updated: 27 Jan 2006   Views: 103,299   Rating: 4.45/5    Votes: 16   Popularity: 5.36
Licence: Not specified      Bookmarked: 65   Downloaded: 0
Describing Resources Available Today For XAML/Declarative Programming

Game Development

XNA

XNA: A Beginner's Introduction
Posted: 17 Jul 2007   Updated: 17 Jul 2007   Views: 92,141   Rating: 4.92/5    Votes: 35   Popularity: 7.59
Licence: The Code Project Open License (CPOL)      Bookmarked: 115   Downloaded: 699
Getting started with XNA, Blender, and 3D modeling

Windows Presentation Foundation

WPF - Schema Diagrammer Part I
Posted: 20 Apr 2008   Updated: 20 Apr 2008   Views: 39,403   Rating: 4.19/5    Votes: 16   Popularity: 5.04
Licence: The Code Project Open License (CPOL)      Bookmarked: 42   Downloaded: 2
Programmatically placing UI elements on a Canvas.

Algorithms & Recipes

A KeyedList implementation
Posted: 24 Dec 2003   Updated: 24 Dec 2003   Views: 111,470   Rating: 4.83/5    Votes: 26   Popularity: 6.84
Licence: Not specified      Bookmarked: 35   Downloaded: 771
A KeyedList implements an ordered key-value list.
Generic Keyed List
Posted: 27 Jan 2006   Updated: 27 Jan 2006   Views: 77,588   Rating: 4.74/5    Votes: 18   Popularity: 5.94
Licence: Not specified      Bookmarked: 59   Downloaded: 438
A KeyedList using C# 2.0 Generics.
A Deep Dish Dictionary Clone Routine
Posted: 18 Dec 2007   Updated: 18 Dec 2007   Views: 18,882   Rating: 4.06/5    Votes: 3   Popularity: 1.94
Licence: The Code Project Open License (CPOL)      Bookmarked: 12   Downloaded: 43
Cloning a Dictionary.
A Simple Moving Average Algorithm
Posted: 4 Mar 2007   Updated: 4 Mar 2007   Views: 119,082   Rating: 4.51/5    Votes: 35   Popularity: 6.96
Licence: The Code Project Open License (CPOL)      Bookmarked: 59   Downloaded: 584
A simple moving average algorithm.
Tiered Error Management and Recovery -- A Defensive Programming Technique
Posted: 25 Jun 2007   Updated: 25 Jun 2007   Views: 14,594   Rating: 3.76/5    Votes: 7   Popularity: 3.18
Licence: The Code Project Open License (CPOL)      Bookmarked: 30   Downloaded: 102
A small RecoveryService class that implements multiple level, multiple retry per level error management.
Concurrent Programming - Investigating Task Messaging To Achieve Synchronization Free Inter-Task Communication
Posted: 7 Jan 2008   Updated: 7 Jan 2008   Views: 16,654   Rating: 4.80/5    Votes: 15   Popularity: 5.65
Licence: The Code Project Open License (CPOL)      Bookmarked: 45   Downloaded: 62
Further studies of Parallel FX.
Introduction to NIEM and IEPDs
Posted: 1 Jan 2009   Updated: 1 Jan 2009   Views: 16,765   Rating: 4.72/5    Votes: 6   Popularity: 3.67
Licence: The Code Project Open License (CPOL)      Bookmarked: 24   Downloaded: 163
Developed by the Department of Justice and the Department of Homeland Security, the National Information Exchange Model "Bridges Information Systems".
A QuickSort Algorithm With Customizable Swapping
Posted: 19 Jan 2004   Updated: 19 Jan 2004   Views: 100,348   Rating: 4.70/5    Votes: 29   Popularity: 6.88
Licence: Not specified      Bookmarked: 46   Downloaded: 95
Ever need to customize the swapping function when sorting? This class lets you do that.
Sorting Algorithms In C#
Posted: 4 Feb 2004   Updated: 4 Feb 2004   Views: 208,336   Rating: 4.77/5    Votes: 43   Popularity: 7.78
Licence: Not specified      Bookmarked: 169   Downloaded: 699
A collection of sorting algorithms implementing customizable comparitor and swapper functions.

Bugs & Workarounds

A Debug Stopwatch
Posted: 15 Dec 2007   Updated: 15 Dec 2007   Views: 17,580   Rating: 4.38/5    Votes: 10   Popularity: 4.38
Licence: The Code Project Open License (CPOL)      Bookmarked: 33   Downloaded: 43
A debug build stopwatch useful for diagnostic timing.
The Process Async Reader Bug
Posted: 15 Dec 2007   Updated: 15 Dec 2007   Views: 12,174   Rating: 4.67/5    Votes: 2   Popularity: 1.40
Licence: The Code Project Open License (CPOL)      Bookmarked: 13   Downloaded: 0
A workaround for a bug I discovered with the async reader in the Process class.

Internet / Network

The Simplest TcpServer
Posted: 19 Mar 2006   Updated: 19 Mar 2006   Views: 75,975   Rating: 4.68/5    Votes: 25   Popularity: 6.54
Licence: The Code Project Open License (CPOL)      Bookmarked: 125   Downloaded: 689
A really basic TCP server, just the core
Using a NetworkStream with raw serialization, GZipStream, and CryptoStream
Posted: 26 Mar 2006   Updated: 26 Mar 2006   Views: 52,668   Rating: 5.00/5    Votes: 21   Popularity: 6.61
Licence: The Code Project Open License (CPOL)      Bookmarked: 77   Downloaded: 362
Using a NetworkStream with raw serialization, GZipStream, and CryptoStream.

Parallel Programming

Concurrent Programming - A Primer
Posted: 3 Jan 2008   Updated: 3 Jan 2008   Views: 52,666   Rating: 4.74/5    Votes: 43   Popularity: 7.75
Licence: The Code Project Open License (CPOL)      Bookmarked: 100   Downloaded: 0
An overview of Microsoft's Parallel FX initiative, including the Task Parallel Library and PLINQ.

String handling

Simple CString Extension
Posted: 5 Jun 2002   Updated: 12 Jun 2002   Views: 85,841   Rating: 3.75/5    Votes: 15   Popularity: 4.41
Licence: Not specified      Bookmarked: 21   Downloaded: 608
Simple extension for better substring functionality and numeric formatting
String Helpers
Posted: 15 Jun 2005   Updated: 15 Jun 2005   Views: 58,464   Rating: 4.40/5    Votes: 23   Popularity: 6.00
Licence: Not specified      Bookmarked: 55   Downloaded: 153
A small set of helper methods for string manipulation.

Threads, Processes & IPC

.NET's ThreadPool Class - Behind The Scenes
Posted: 18 Mar 2003   Updated: 18 Mar 2003   Views: 144,414   Rating: 4.66/5    Votes: 57   Popularity: 8.18
Licence: The Code Project Open License (CPOL)      Bookmarked: 137   Downloaded: 568
When to use .NET's ThreadPool class, and when to use something different.
A Worker Thread Class For Processing Work Units
Posted: 13 Sep 2006   Updated: 13 Sep 2006   Views: 40,079   Rating: 4.82/5    Votes: 25   Popularity: 6.74
Licence: Not specified      Bookmarked: 55   Downloaded: 416
Processing work units in a single thread instead of using a thread pool.

Design and Architecture

Aspect Oriented Programming / Aspect Oriented Software Design
Posted: 29 Apr 2003   Updated: 29 Apr 2003   Views: 138,515   Rating: 4.83/5    Votes: 53   Popularity: 8.33
Licence: The Code Project Open License (CPOL)      Bookmarked: 165   Downloaded: 0
Everything you ever wanted to know but were afraid to ask about AOP/AOSD
What Is A Framework?
Posted: 3 Nov 2003   Updated: 3 Nov 2003   Views: 279,153   Rating: 4.54/5    Votes: 62   Popularity: 8.12
Licence: The Code Project Open License (CPOL)      Bookmarked: 149   Downloaded: 0
An attempt to define what the term "framework" means.
Writing XAML Friendly Assemblies
Posted: 14 Mar 2004   Updated: 21 Mar 2004   Views: 54,837   Rating: 3.52/5    Votes: 29   Popularity: 5.14
Licence: Not specified      Bookmarked: 36   Downloaded: 0
How to write assemblies so that they will work with the various XAML parsers that are starting to emerge.
Do You Really Want To Be Agile?
Posted: 29 Dec 2011   Updated: 29 Dec 2011   Views: 11,721   Rating: 4.89/5    Votes: 44   Popularity: 8.03
Licence: The Code Project Open License (CPOL)      Bookmarked: 83   Downloaded: 309
A walk on the wild side using Relationship Oriented Programming.
Declarative Programming Of The MVC Pattern Within The Context Of DataBinding
Posted: 31 May 2004   Updated: 31 May 2004   Views: 60,138   Rating: 4.88/5    Votes: 14   Popularity: 5.59
Licence: Not specified      Bookmarked: 87   Downloaded: 147
Exploring the MVC pattern.
Mementos
Posted: 2 Jun 2005   Updated: 2 Jun 2005   Views: 31,516   Rating: 4.41/5    Votes: 13   Popularity: 4.91
Licence: Not specified      Bookmarked: 40   Downloaded: 0
A basic IMemento implementation.
The Application Automation Layer: Introduction And Design
Posted: 25 Dec 2002   Updated: 25 Dec 2002   Views: 190,944   Rating: 4.72/5    Votes: 35   Popularity: 7.29
Licence: Not specified      Bookmarked: 134   Downloaded: 0
This introduction lays the foundation for a framework that promotes a consistent design and coding style for large-scale, multi-developer projects and results in applications that are responsive to requirement changes, easily updated and easily debugged.
The Application Automation Layer - Design And Implementation of The Bootstrap Loader And The Component Manager
Posted: 1 Jan 2003   Updated: 1 Jan 2003   Views: 117,889   Rating: 4.39/5    Votes: 21   Popularity: 5.81
Licence: Not specified      Bookmarked: 121   Downloaded: 158
This article describes in detail the design considerations for the Bootstrap Loader and the Component Manager.
The Application Automation Layer - The Data Hub Implementation
Posted: 13 Mar 2003   Updated: 13 Mar 2003   Views: 97,830   Rating: 4.89/5    Votes: 30   Popularity: 7.23
Licence: Not specified      Bookmarked: 108   Downloaded: 98
The third installment of this series discusses the design and implementation of the Data Hub.
Introduction to NIEM Tools
Posted: 24 Mar 2009   Updated: 24 Mar 2009   Views: 9,100   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 8   Downloaded: 0
A review of some of the tools available to work with the NIEM.
How Programming Should Be Done
Posted: 15 Jun 2009   Updated: 15 Jun 2009   Views: 30,494   Rating: 4.90/5    Votes: 45   Popularity: 8.11
Licence: The Code Project Open License (CPOL)      Bookmarked: 155   Downloaded: 148
Cx: A prototype on component loose coupling.
CX Part II
Posted: 5 Aug 2009   Updated: 5 Aug 2009   Views: 16,298   Rating: 5.00/5    Votes: 30   Popularity: 7.39
Licence: The Code Project Open License (CPOL)      Bookmarked: 43   Downloaded: 110
Build a Metadata Designer for the CX Dynamic Composition Framework.
Event Logging in Cx
Posted: 30 Sep 2009   Updated: 30 Sep 2009   Views: 7,868   Rating: 4.86/5    Votes: 8   Popularity: 4.39
Licence: The Code Project Open License (CPOL)      Bookmarked: 13   Downloaded: 63
Adding an event logger to Cx.
Romeo and Juliet
Posted: 3 Dec 2011   Updated: 3 Dec 2011   Views: 9,167   Rating: 4.92/5    Votes: 29   Popularity: 7.19
Licence: The Code Project Open License (CPOL)      Bookmarked: 49   Downloaded: 199
Making relationships first class citizens.
Relationship Oriented Programming
Posted: 12 Dec 2011   Updated: 12 Dec 2011   Views: 7,304   Rating: 4.84/5    Votes: 16   Popularity: 5.82
Licence: The Code Project Open License (CPOL)      Bookmarked: 43   Downloaded: 316
Modeling the Romeo and Juliet meta-model.
What Is Extreme Programming?
Posted: 21 Jul 2003   Updated: 21 Jul 2003   Views: 163,066   Rating: 4.41/5    Votes: 43   Popularity: 7.20
Licence: The Code Project Open License (CPOL)      Bookmarked: 75   Downloaded: 0
A brief treatise on what XP is all about, with references to links, books, authors, and sites.
A Look At What's Wrong With Objects
Posted: 6 Aug 2003   Updated: 6 Aug 2003   Views: 174,363   Rating: 4.94/5    Votes: 148   Popularity: 10.72
Licence: The Code Project Open License (CPOL)      Bookmarked: 210   Downloaded: 0
A look at what is wrong with OOD/OOP based on CPian responses to the question "What is wrong with objects".
What is SCRUM?
Posted: 18 Aug 2003   Updated: 18 Aug 2003   Views: 308,108   Rating: 3.87/5    Votes: 30   Popularity: 5.72
Licence: The Code Project Open License (CPOL)      Bookmarked: 125   Downloaded: 0
A concise summary of SCRUM, one of the "Agile Methods"
What Is DSDM?
Posted: 29 Sep 2003   Updated: 29 Sep 2003   Views: 186,867   Rating: 3.09/5    Votes: 11   Popularity: 3.22
Licence: Not specified      Bookmarked: 45   Downloaded: 0
A concise summary of the Dynamic Systems Development Method, one of the "Agile Methods"
Comparing Declarative And Imperative Programming
Posted: 17 Jun 2005   Updated: 17 Jun 2005   Views: 31,278   Rating: 3.70/5    Votes: 15   Popularity: 4.35
Licence: Not specified      Bookmarked: 42   Downloaded: 0
A simple example comparing/contrasting the differences in imperative and declarative programming.
Test Driven Prototyping - Learning About .NET Remoting
Posted: 7 Apr 2007   Updated: 7 Apr 2007   Views: 40,780   Rating: 4.71/5    Votes: 25   Popularity: 6.59
Licence: Not specified      Bookmarked: 73   Downloaded: 47
Use test driven development processes to determine the issues affecting application architecture and design with regards to .NET remoting.
Advanced Unit Test, Part V - Unit Test Patterns
Posted: 4 Jan 2004   Updated: 3 Mar 2004   Views: 485,214   Rating: 4.95/5    Votes: 71   Popularity: 9.16
Licence: Not specified      Bookmarked: 317   Downloaded: 0
An Introduction To The Concept Of Unit Test Patterns
Writing Your First Unit Test
Posted: 12 Apr 2005   Updated: 12 Apr 2005   Views: 97,343   Rating: 4.64/5    Votes: 27   Popularity: 6.64
Licence: Not specified      Bookmarked: 128   Downloaded: 0
A primer on how to figure out where to start with unit testing.

Hardware & System

A Dynamically Generated XML Data Editor
Posted: 10 Feb 2003   Updated: 14 Oct 2003   Views: 288,185   Rating: 4.88/5    Votes: 75   Popularity: 9.14
Licence: The Code Project Open License (CPOL)      Bookmarked: 195   Downloaded: 4,692
Using an XML Schema Definition (XSD) document, this utility dynamically generates a data entry form to create and edit XML data.

Interviews

A Coder Interview With Marc Clifton
Posted: 7 Sep 2011   Updated: 7 Sep 2011   Views: 15,155   Rating: 4.99/5    Votes: 37   Popularity: 7.82
Licence: The Code Project Open License (CPOL)      Bookmarked: 5   Downloaded: 0
Welcome to our continuing series of Code Project interviews in which we talk to developers about their backgrounds, projects, interests and pet peeves. In this installment we track down Code Project member Marc Clifton.

Scrapbook

Diary Of A CEO
Posted: 6 Sep 2005   Updated: 6 Sep 2005   Views: 42,880   Rating: 4.71/5    Votes: 81   Popularity: 8.98
Licence: Not specified      Bookmarked: 51   Downloaded: 0
Build an n-tier client/server application - Preface.
Diary Of A CEO - Question Everything
Posted: 8 Sep 2005   Updated: 8 Sep 2005   Views: 21,310   Rating: 4.50/5    Votes: 22   Popularity: 6.04
Licence: Not specified      Bookmarked: 40   Downloaded: 0
Decisions in creating a flexible architecture.
Diary Of A CEO - The Really Hard Part
Posted: 14 Sep 2005   Updated: 14 Sep 2005   Views: 29,362   Rating: 4.51/5    Votes: 24   Popularity: 6.22
Licence: Not specified      Bookmarked: 39   Downloaded: 0
Prototyping, some false starts, and further architecting.
Diary Of A CEO - Software Yoga
Posted: 19 Sep 2005   Updated: 19 Sep 2005   Views: 26,002   Rating: 4.17/5    Votes: 12   Popularity: 4.50
Licence: Not specified      Bookmarked: 33   Downloaded: 0
Communication, skillsets and task assignment issues.
Diary Of A Coder--Marc's Boatyard Bug
Posted: 14 Feb 2003   Updated: 14 Feb 2003   Views: 72,434   Rating: 4.35/5    Votes: 50   Popularity: 7.39
Licence: Not specified      Bookmarked: 15   Downloaded: 0
Marc bares all in a discussion of a bug involving the atof function.
Db - The Future Is Coming
Posted: 31 Mar 2006   Updated: 31 Mar 2006   Views: 72,684   Rating: 4.86/5    Votes: 99   Popularity: 9.69
Licence: Not specified      Bookmarked: 19   Downloaded: 0
Where Will You Be?
Going Solo – First Steps in Building a Successful Company (Part IIA) - A slight divergence
Posted: 28 Mar 2008   Updated: 28 Mar 2008   Views: 47,660   Rating: 4.81/5    Votes: 32   Popularity: 7.23
Licence: The Code Project Open License (CPOL)      Bookmarked: 59   Downloaded: 0
So you want to go it alone? Things to think about when running your company.

Author Resources

A Guide To Writing Articles For Code Project
Posted: 13 Dec 2002   Updated: 16 Aug 2003   Views: 330,136   Rating: 4.81/5    Votes: 184   Popularity: 10.90
Licence: The Code Project Open License (CPOL)      Bookmarked: 239   Downloaded: 0
Some tips on writing a decent article.
No blogs have been submitted.
No video articles have been posted.
No tips have been posted.

Marc Clifton



United States United States

Member

Marc is the creator of two open source projets, MyXaml, a declarative (XML) instantiation engine and the Advanced Unit Testing framework, and Interacx, a commercial n-tier RAD application suite.  Visit his website, www.marcclifton.com, where you will find many of his articles and his blog.
 
Marc lives in Philmont, NY with his son Ian.


Advertise | Privacy | Mobile
Web01 | 2.5.120517.1 | Last Updated 27 May 2012
Copyright © CodeProject, 1999-2012
All Rights Reserved. Terms of Use
Layout: fixed | fluid