Articles by Nicholas Butler
- Concurrent Programming
- Async Progress : The Progress Reporting Pattern in C# 5 async.
- False Sharing : Concurrency hazards: False sharing and how to detect and avoid it.
- Petri Dish : Multithreading for performance in C#.
- Ready Queue : Is the Ready Queue FIFO? The Truth and the Proof.
- Superlinear : Making more of your cores.
- Thread Local Storage : An excercise in concurrent programming.
- Wait Pulse : Thread synchronization: Wait and Pulse demystified.
- Code Project Utilities
- Article Ratings : An application to keep track of your article ratings over time.
- Bob Builder : A Code Project article editor with live preview.
- Windows Forms
- Busy Bar : The only progress bar you will ever need.
- Easi Reports : A library to add reports to your application.
- Wait Cursor : A Wait Cursor implementation using the using keyword.
- WebBrowserEx : WinForms WebBrowser + HTTP Server.
- Data Structures
- Tree Collection 1 : An implementation of a tree collection in C#.
- Tree Collection 2 : An implementation of a tree collection using generics.
- Algorithms
- Myers' Diff Algorithm Part 1 : The basic greedy algorithm.
- Myers' Diff Algorithm Part 2 : The linear space refinement.
- General
- Check Help Links : A tool to check links across merged help ( CHM ) files.
- FreeCell Discombobulator : Take control of FreeCell.
- Hard Links : A tool for managing NTFS hard links.
- OS Version : Easily find and compare OS version information.
- Print Controller File : Output graphics files using your printing code.
- Soap Size Extension : Find the size of the SOAP messages in your web service.
- Strong Names : Reflection without the magic strings.
- Taskbar Sorter : A tool to order the window buttons in your taskbar.