Thursday, August 31, 2006

Links (8/31/2006)

C# and VB.NET

  1. Multithreading made easy in .NET 2.0 using CSP.NET
  2. Application Error Handling
  3. Event and Error Logging
  4. Drag and Forget Dialog Buttons
  5. Why a cache in an O/R Mapper doesn't make it fetch data faster
  6. Essential C# 2.0: Chapter 11: Generics

Patterns

  1. MVP - A Basic Demonstration of it's Power
  2. Agile Principles, Patterns, and Practices in C#: Model View Presenter: The Payroll User Interface

Wednesday, August 30, 2006

SimpleInt

SimpleInt is a simple, light weight application integration framework. If you need to recieve information/messages from one application, translate them into another format, log them, and then send them to other applications then SimpleInt is it.

Getting information from one system to another system is a constant problem and a very common requirement in software development today. Getting different systems to actually work together and collaborate is really hard. The objective of the SimpleInt project is to a create simple, robust, and extensible integration server.

Link

Links (8/30/2006)

C# and VB.NET

  1. Send Text Messages to Cell Phones from a VB.NET Application
  2. C#: Is the Party Over? huh, already?
  3. Giving Enums a Little Love
  4. Good Exception Management Rules of Thumb - Scott Hanselman's thoughts
ASP.NET
  1. Displaying drill down rows in datagrid
  2. Web SQL Utility (application to run queries against your databases)
  3. Understanding ViewState in ASP.NET
  4. Control Access to File Download
  5. Simple Integration with SimpleInt
AJAX/Atlas
  1. Web service calls from javascript using Atlas Part 1 Part 2
Delphi
  1. TShellExecuteInfo
  2. IE7, Delphi, and TWebBrowser (potential impact)
Patterns
  1. Provider Model Design Pattern Part 1 Part 2
  2. PatternShare Community - community site for patterns

Tuesday, August 29, 2006

Scott Hanselman's 2006 Ultimate Developer and Power Users Tool List

The latest interation of Madden has just been released. Must also be time for Scott Hanselman to post his "2006 Ultimate Developer and Power Users Tool List for Windows".

All I can say is WOW! Lots of great stuff. Now to find time to research everything.

Link

Links (8/29/2006)

C# and VB.NET

  1. Parsing Command Line arguments
  2. Use Rules in your applications
  3. Implementing complex data binding in custom controls
  4. Cabinet File (*.CAB) compression and extraction
  5. Delegate-based XML Processor for Configuring Objects from XML
  6. Concurrent Programming in C# Intro (Larry O'Brien)
ASP.NET
  1. Validation without Postback
  2. Process data with in XML file
  3. The subject is Predicates: On the use of Predicates in C#
  4. Get ID of the database table of the selected row of GridView using checkbox
  5. Dynamic fragments in cached web pages
  6. ASP.NET ActionPack 1.0.1 Released
Design
  1. Best practices on Object Model Design
Tools
  1. Not Used Analysis - An IL code analysis tool looking for types, methods, and fields no longer used

Monday, August 28, 2006

Delphi's Missing Piece

I have been a Delphi programmer since the Delphi 1 days. I have been very pleased with both Borland and Delphi. Now this is not one of those, it's been nice but now I am going to Visual Studio/C# (well sorta it is). I do see moving some code to Visual Studio and C# (a result of being bought by a larger company who is Visual Studio-centric) but we have 10 years of code written in Delphi and there is no logical reason to rewrite it all. We will continue using Delphi for the forseeable future and I personally wish DevCo luck in their new endeavors.

As someone who is dabbling in the Microsoft world as well as continuing to follow Delphi, one missing piece I see is quality sample code resources for more experienced programmers. Now don't get me wrong - there are lots of resources out there. Borland has great newsgroups. There is Delphi Programming at About.com. There are plenty of good blogs like Nick Hodges, Marco Cantu, and Hallvard Vassbotn. The problem is they are few and far between.

Nick is putting together a great series of Camtasia videos for "beginning" Delphi programmers. Good for what DevCo is trying to achieve - more users. The problem is there are lots of Delphi programmers who understand the basics but want more and have a difficult time finding it.

One of my favorite websites/blogs is the CodeKeep C# Feed. Everyday there are code snippets on different C# topics. For me, this is one of the best ways of learning code - reading what others write. There is a CodeKeep Delphi Feed but it only has 2 entries (ouch!). Another tool I use is Reflector - another excellent source for learning code. To give Borland credit though, being able to read the vendor's source code is priceless.

What I find lacking though is more advanced examples. I have blogged quite a bit on different patterns such as MVC for .NET. One thing I find interesting is there are quite a few Delphi programmers who want to know how to do MVC in Delphi. How do I know this? Because there are usually 3-4 referrals per week to my blog searching for "MVC + Delphi".

For about 5 years, my experience with Delphi was basic at best. Adding components, hooking up properties, and writing lots of procedural code. I realized this was not a good career move. I started focusing on object oriented technology, writing my own components, attempting patterns, etc. Although this helped, with minimal resources (books, websites, blogs), it wasn't as easy as it could have/should have been. With minimal resources and time constraints, and with my (lack of) experience, it just wasn't productive.

Fortunately for me, we hired a very experienced Delphi programmer who for the past few years has mentored me and helped me understand how to be a better Delphi programmer. One area Mark, my mentor, has really helped me focus is enumerations. He would tease me (putting it politely) for writing code such as the following (although the code is stupid; hopefully you get the idea of the power of enumerations).

if (AType = '001') then LoadCustomer
else if (AType = '002') then LoadSalesRep
else if (AType = '003') then LoadProduct;

I would hear the following:
What's wrong with it? Nothing really....
What exactly is Type '001'? Something about Customers...
What happens if you need to change the value? Search and replace...

With enumerations, you can clean up this code, make it more understandable, and more maintainable. First you define the enumeration:

TProcessType = (ptCustomer,ptSalesRep,ptProduct);

Now the code can be cleaned up a little more:

case AProcessType of
ptCustomer: LoadCustomer;
ptSalesRep: LoadSalesRep;
ptProduct: LoadProduct;
end;

Still, it can be cleaned up further. You can define an array of type "procedure of object". This is an array of methods.

TProcessType = (ptCustomer,ptSalesRep,ptProduct);

TProcArray = array[TProcessType] of procedure of object;

Then you can define an internal field:

FProcArray: TProcArray;

Next, you define your list of methods in the interface section:

procedure LoadCustomer;
procedure LoadSalesRep;
procedure LoadProduct;
procedure LoadType(AType: TProcessType);

In the creation of the object (form, component, etc.) you can hookup each method to each TProcessType:

FProcArray[ptCustomer] := LoadCustomer;
FProcArray[ptSalesRep] := LoadSalesRep;
FProcArray[ptProduct] := LoadProduct;

Calling the method is pretty straightforward now:

procedure LoadType(AType: TProcessType);
begin
FProcArray[AType];
end;

I'm hoping there are more bloggers out there willing to post about more advanced Delphi topics. Nick Hodges mentioned after he finishes up the current Camtasia videos for Delphi beginners he is going to focus on more advanced topics. I'm looking forward to those videos. Lets hope there is more focus on the experienced Delphi programmer.

Web Presentation Patterns

Johnson Smith has spent some time putting together a list of resources for web presentation patterns. Some include Page Controller, Front Controller, Observer, etc.

Link

New Website - CSharpFeeds.com

New website for C# information (CSharpFeeds.com). Based on VBFeeds.com. I've been following since it was first announced. Very good resource.

Link

Links (8/28/2006)

C# and VB.NET

  1. Custom XPath Functions
  2. LogString: A Simple C# Application Event Logging Class
  3. AltSerializer - An alternative binary serializer
  4. Password protection IO streams
  5. C# Map Network Drive (API)
  6. Implementing IDisposable and the Dispose Pattern Part 1 Part 2
ASP.NET
  1. Control the layout of your input form
  2. Event logging in a .NET Web Service
  3. Working with Web Services using ASP.NET
  4. Simple CMS Beta has been released
Visual Studio
  1. XML documentation comment viewer

Sunday, August 27, 2006

Links (8/27/2006)

C# and VB.NET

  1. C# function to return the type of child object contained in collection or list
  2. Asymetric Encryption in .NET
  3. Closures and Anonymous Functions (via Jason Haley)
  4. A control to display pie charts
  5. Perform Asynchronous by using Multithreading (free online course)
  6. Unzipping in memory using SharpZipLib (via Jason Haley)
  7. **Differences between Structs and Classes
ASP.NET
  1. An easy to use URL file downloader for .NET
  2. Protect non-.NET assets using a .NET Reverse Proxy with Forms Authentification
  3. Using the Substitution Control in ASP.NET 2.0
AJAX/Atlas
  1. Great New Atlas Videos Published (all free)

Thursday, August 24, 2006

Links (8/24/2006)

C# and VB.NET

ASP.NET
AJAX/Atlas

Wednesday, August 23, 2006

VB.NET and C# Comparison Table

A table showing syntax differences between VB.NET and C#. This is not a who's better post. Just the facts.

Link

C# and VB.NET Links

List of interesting links devoted to C# and VB.NET. This is a WIP post.

  1. A Priority Queue in C# (via Jason Haley)
  2. Argument processing and C# 2.0 iterators (via Jason Haley)
  3. Descriptive Enumerations (via Jason Haley)
  4. Differentiate Hiding and Overriding
  5. Thread Synchronization using VS.NET 2005
  6. Templating via Generics & Delegates
  7. Attributes in C#
  8. Snippet Enumeration Utility (via Eric Gunnerson)
  9. C# ?: operator (or ternary operator)
  10. C# 2.0: Dealing with null return types (?? operator)
  11. Using IFilter in C#
  12. And (&), AndAlso (&&), Or (|), OrElse (||)
  13. Easy high speed reading/writing of structured binary files using C#
  14. Even easier high speed reading/writing of binary data files with C# (via Jason Haley)
  15. Multi Threaded File Reader and Generator
  16. Cool Tips for .NET
  17. Outlook Style DataGrid
  18. Targeting Design-Time Events of User Controls
  19. Attributes and Reflection
  20. Access Command Line Arguments in C#
  21. Object Inspector
  22. How to Avoid WSOD's in Visual Studio 2005 Designer
  23. Splash form and loading data in a separate thread
  24. Tutorial that demonstrates how to sort and search using C#'s List object
  25. Apply Object Serialization in Real Life Situation
  26. C# 2.0 Yield Return Iterator
  27. More on the Yield Statement
  28. C# Defensive Event Publishing using Interfaces
  29. C# Anonymous Methods and the Action Object
  30. Creating a Button component using C#
  31. Dynamically load a class execute a method in .NET
  32. Get a directory size
  33. Limitations of ArrayLists in C#
  34. Generics in C# 2.0
  35. Validate an email address using regular expression
  36. Two-way Remoting with Callbacks and Events
  37. EnumGroupBox - a semi-automatic GroupBox
  38. Multiple Sorting of Generic Collections on any property
  39. ActionList for .NET 2.0 (implementation of Borland's TActionList)
  40. Implementation Patterns with Generics (instead of Collections)
  41. Domain Objects Caching Pattern in .NET
  42. Validate IP Address
  43. Validate Social Security Number (SSN)
  44. Overriding a property using new and reflection
  45. 101 Visual Studio 2005 code samples in both C# and VB.NET
  46. Nullable Types in C#: Basic Introduction
  47. WinForm Freezer (Delphi's LockWindowUpdate?)
  48. System.Security.SecureString - mutable string that is encrypted in memory (via Chris Eyre)
  49. Getting a temporary filename the easy way / Feedback
  50. Validate Email ID
  51. Sort a generic list (IList) by ToString() Value
  52. Clean string using Regex
  53. Statistical parsing of English sentences using OpenNLP
  54. Caching Data in WinForms DataGridView in .NET 2.0
  55. Validate Email Address using Regex
  56. OnChanged event for User Controls
  57. Assemblies in .NET
  58. *** Delegates and Business Objects
  59. Extract text from PDF (via Jason Haley)
  60. Logging class with QueryPerformanceCounter
  61. A Fast Serialization Technique (via Jason Haley)
  62. WCF serialization rules
  63. WCF serialization programming model
  64. An Elegant C# Data Access Layer using the Template Pattern and Generics
  65. Serializing with .NET 2.0 Generics (via Jason Haley)
  66. ProcessDialog: for executing long-running code with some thread safety
  67. Binary Tree, C#, and Delegates Part 1 (via Jason Haley)
  68. Accessing Outlook items using C# (via Jason Haley)
  69. GUI Observer - using the observer pattern to handle data updates
  70. The .NET Framework's new SynchronizationContent class
  71. Multi-threaded file download manager (via Jason Haley)
  72. Check if URL Exists
  73. Testing file access rights in .NET 2.0
  74. Show folder contents and compare with another folder
  75. VS2005-like interface using DockPanel Suite
  76. Sorting using IComparer classes (including Generics)
  77. Observing change events on a List<T> in C#
  78. Load and save objects to XML using serialization
  79. A DelegateQueue Class
  80. A .NET State Machine Toolkit Part 1
  81. A .NET State Machine Toolkit Part 2
  82. A .NET State Machine Toolkit Part 3
  83. The Art & Science of Storing Passwords
  84. Design your Football (Soccer) Engine, and Learn How to Apply Design Patterns
  85. FileHelpers - An Automatic File Import/Export Framework
  86. OutlookGrid: grouping and arranging items in Outlook style
  87. DmRules - A helper library for running rules in .NET 3.0
  88. Client-side XML Data Islands
  89. .NET Sorting: Compare just about any property of an object
  90. Adventures in Strong Names with Enterprise Library
  91. How the 'ref' keyword affects the use of objects
  92. Enums, Enum Sets, parsing n' stuff (via Jason Haley)
  93. XML Serialization (via Jason Haley)
  94. .NET Fundamentals: Type forwarding
  95. Validating Business Objects
  96. System tray application basics for .NET 2.0
  97. Debugger.Log vs. OutputDebugString
  98. .NET Enum - The Next Level
  99. Static method reflection (via Jason Haley)
  100. Winforms Model View Presenter (MVP) (via Jason Haley)
  101. Advancing the Model-View-Presenter Pattern
  102. Generics, Serialization, and NUnit (via Jason Haley)
  103. Function and Method Naming Standards
  104. Logging using the Composite Pattern (via Jason Haley)
  105. Overloading the && and || operators (via Jason Haley)
  106. Updating Component properties in the designer (Smart Tags)
  107. The Null Method Operator "?!"
  108. An animated progessbar control with many extras
  109. Asynchronous Invocation Using BackgroundWorker
  110. Study of Delegates
  111. Back Side of Exceptions
  112. Polymorphic Databinding Solutions
  113. Asynchronous method invocation
  114. Custom Business Objects Helper Class (via Jason Haley)
  115. Reusable dynamic programming with C# generics
  116. Binding DataSet and Generic .rdlc Reports to a ReportViewer at Runtime
  117. C# Best Coding Practices
  118. Simple class to catch unhandled Exceptions
  119. How to find the LastModifiedDate for a file
  120. Inheritence Versus Interfaces
  121. Understanding the different generic collections in .NET (List<T>, BindingList<T>, Collection<T>)
  122. Object-Oriented Static Destructors
  123. Dynamic Code Generation vs Reflection
  124. Passing parameters to predicates
  125. Serializing and Deserializing objects in .NET
  126. Understanding Connection Pooling
  127. Working with weeks in C#
  128. .NET Exception Handling
  129. DocManager Control
  130. Expandable Panel on all 4 Directions
  131. What's up with BeginInvoke?
  132. Asynchronous "For" Loops
  133. A controllable notifying thread queue using generics
  134. String Formatting in C#
  135. LWDbComponents - Another Database Component
  136. A combobox that looks decent when it is disabled
  137. A C# File Browser
  138. Selecting a Collection Class
  139. Simplify Reading and Writing of XML Fragments
  140. Anonymous methods in C# and its consequences
  141. Wrapping C# Events with Accessors
  142. Introduction to the GOF Strategy Pattern in C#
  143. Use of Proxy when using Web Services
  144. .NET Tip: Logging Exceptions to the Event Log
  145. Run process in background / hidden
  146. A C# set class based on enums
  147. Finding calling method using reflection
  148. How to get the calling method and type
  149. Not Used Analysis - a tool for looking for types, methods, and fields that are not used
  150. A Windows Explorer in a user control
  151. Serialize NameValueCollection
  152. eXpress Persistent Objects for .NET
  153. ToolStripControllerLabel that extends and shrinks ToolStrip control
  154. .NET Serialization - BinaryFormatter and SoapFormatter
  155. WinForms and Data: It just keeps getting better...
  156. Console app to zip a single file using SharpZipLib
  157. ****Null-Coalescing Operator in .NET 2.0 (? and ??)
  158. A new .NET reporting way - MyNeoReport
  159. C# Script
  160. Inheritance in C#
  161. Introduction to the GOF Strategy Pattern in C#
  162. Asynchronous file I/O using anonymous methods
  163. Advanced usage of the ?? operator
  164. Number of weeks in a date range function
  165. Asynchronous Anonymous Methods
  166. Deep copying a serializable object in .NET
  167. ****More Null-Coalescing (??) Operator Love
  168. How to append to a large XML file
  169. Setting Enum's Through Reflection
  170. Office 2007 .bin file format
  171. Deep Serialization: Binary and SOAP Serialization with a Generic twist
  172. Casting from a Collection to a Data Table using Generics and Attributes

Tuesday, August 22, 2006

AJAX/Atlas Links

List of interesting links devoted to AJAX. This is a WIP post.

  1. AjaxDelegate (via The Daily Grind)
  2. New Learning AJAX Website
  3. AJAX Frameworks for ASP.NET Comparisons
  4. AJAX Patterns Website
  5. Introduction to Anthem.NET
  6. Anthem.NET 1.0
  7. Do Web Developers "Get" AJAX?
  8. Mastering AJAX, Part 1 and Part 2
  9. Easy AJAX? MagicAjax.NET
  10. How to use AJAX
  11. Bindows - Developing Applications
  12. AJAX Resources for Beginners (via Robert Scobleizer) another list from Mitch
  13. MagicAJAX.NET - open source (via The Daily Grind)
  14. Generic Table Database Maintenance
  15. Going Beyond AJAX - What's Really Needed for Asynchronous Web Development
  16. 3 AJAX Example Patterns (Data Reflection, MultiUser, Object Return)
  17. How to Use AJAX Patterns
  18. Round-up of 50 AJAX Toolkits and Frameworks (via The Daily Grind)
  19. Atlas Control Toolkit
  20. 10 Business Reasons to Use AJAX
  21. Atlas PasswordStrength Complexity Control (via Scott Guthrie)
  22. AJAX on-the-fly lookup control with multiple control support
  23. Video: Using the ATLAS Auto-Suggest TextBox Control
  24. Another great list of links on AJAX/Atlas/etc.
  25. Raising and handling events with ATLAS
  26. 42 Recent AJAX Tutorials
  27. 60 More AJAX Tutorials
  28. MagicAJAX - open source project AJAXPanel similar to Atlas' UpdatePanel
  29. Auto complete text box using AJAX (with Atlas)
  30. Date picker and Time picker in ASP.NET 2.0 using AJAX (with Atlas)
  31. How to add Atlas to an existing site
  32. New ASP.NET "How Do I" videos on Atlas
  33. Scott Guthrie's Atlas Resources
  34. Using Microsoft Atlas
  35. An Introduction to AJAX Techniques and Frameworks for ASP.NET
  36. Adding "Atlas" Features to an Existing ASP.NET Application
  37. Using ASP.NET Web Services with "Atlas" Clients
  38. Creating an AJAX Search Widget
  39. Separating presentation and code layers using AJAX (via Jason Haley)

Monday, August 21, 2006

Free E-Book: Developing Time-Oriented Database Applications in SQL

Roy has found a free E-Book on developing time-oriented database applications in SQL.

Here's the direct link

(via Roy Osherove)

Model View Presenter and Model View Controller Pattern Links

Links for the Model View Presenter (MVP) Pattern.

  1. Winforms Model View Presenter (MVP)
  2. Advancing the Model-View-Presenter Pattern
  3. Model View Presenter (MVP) with ASP.NET
  4. Model View Presenter Meets ASP.NET 2.0
  5. The Humble Dialog Box
  6. Test Driven Development with ASP.Net and the Model View Presenter Pattern
  7. More Thoughts on Model View Presenter
  8. A Simple Example of the "Humble Dialog Box"
  9. Trying out the Model View Presenter Pattern
  10. In Search of Windows Forms Patterns
  11. GUI Architectures (Martin Fowler)
  12. Martin Fowler splitting MVP into Supervising Controller and Passive View
  13. MSDN Magazine - Design Patters: Model View Presenter
  14. ASP.NET Supervising Controller (MVP) from Schematic to Unit Tests to Code
  15. Tying MVP to the ASP.NET Event Model
  16. Model View Presenter in ASP.NET (many links)
  17. MVP in ASP.NET with .NET Remoting
Links for the Model View Controller (MVC) Pattern.
  1. Ingenious MVC is an open source .NET 2.0 framework for authoring Model View Controller (MVC) applications.

ASP.NET Links

List of interesting links devoted to ASP.NET. This is a WIP post.

  1. Master Pages in ASP.NET 2.0
  2. How to maintain state between virtual directories? (via Ali Parvaresh)
  3. Firing JavaScript events when textbox changes
  4. Minimizing code behind in ASP.NET 2.0 (via Fritz Onion)
  5. Simple Factory Pattern side by side with Abstract Pattern
  6. ASP.NET 2.0 Unhandled Exception Issues
  7. Abstract Factory Design Pattern in ADO.NET
  8. Creating Menu Based on Role
  9. Efficiently Paging Through LARGE Resultsets in ASP.NET 2.0 (via Scott Mitchell)
  10. *** Real-world, common practices for starting a new ASP.NET project
  11. Client Side Validation with JavaScript in ASP.NET
  12. Remote Scripting in ASP.NET
  13. 4 ways to send a PDF file to an IE Client
  14. *** Spawning threads, impersonation and .NET 2.0 (via Mike Wood)
  15. Drag and Drop ASP.NET 2.0 Web Parts in FireFox (with Atlas) (via Christopher Steen)
  16. Efficient Data Paging and Sorting with ASP.NET 2.0 and SQL 2005 (via Christopher Steen)
  17. Base Page Class Website Development
  18. ASP.NET 2.0 Tips and Techniques (via Jason Haley)
  19. ObjectDataSource in Depth Part I
  20. ObjectDataSource in Depth Part II
  21. ObjectDataSource in Depth Part III
  22. *** ASP.NET Caching Basics
  23. Create Meta Tags Programmatically in ASP.NET 2.0
  24. ASP.NET Common Web Page Class Library Part 1
  25. ASP.NET Common Web Page Class Library Part 2
  26. ASP.NET Common Web Page Class Library Part 3
  27. ASP.NET Common Web Page Class Library Part 4
  28. Master Pages: Tip, Tricks, and Traps
  29. A Crash Course on ASP.NET Control Development: Template Properties
  30. *** ASP.NET Memory: You use the same dll in multiple applications, is it really necessary to load it multiple times?
  31. Strong named assemblies should not be stored in the bin directory
  32. Check your Web Site today for these common assembly related memory and perf issues
  33. Source Code for the Built-in ASP.NET 2.0 Providers Now Available for Download
  34. A Client Script Helper Utility Class
  35. DropDownList in GridView Method 1 Method 2
  36. Web Application Settings in ASP.NET 2.0
  37. Cool MSDN ASP.NET 2.0 GridView Control Article (via Jason Haley)
  38. Use ASP.NET 2.0's TreeView to Display Hierarchical Data
  39. Caching Data for Better Performance
  40. *** BusyBoxDotNet - cool ASP.NET wait dialog demo (via James Avery)
  41. Validating data in GridView control
  42. *** Web Parts in ASP.NET 2.0
  43. Designing Web Services - Contract First
  44. ASP.NET Wizards and Session Variables
  45. Configuring your ASP.NET 2.0 Site
  46. Working Smarter with ASP.NET 2.0 (via The Daily Grind)
  47. Adding Dynamic Menus with ASP.NET 2.0
  48. More Efficient Method for Paging Through Large Result Sets (via Chrisopher Steen)
  49. ASP.NET 2.0 Crash case study: Unhandled Exceptions (via Chrisopher Steen)
  50. Keeping Secrets in ASP.NET 2.0 - Encryption (via Chrisopher Steen)
  51. Optimizing Your ASP.NET Pages for Faster Loading and Better Performance
  52. Using Reflection to dynamically expose business logic through a Web Service
  53. Caching Domain Objects
  54. ASP.NET 2.0: Implementing Single Sign On (SSO) with Membership API
  55. A Crash Course on ASP.NET Control Development: Building Callback Capabilities in ASP.NET Rich Controls
  56. A little confused by Web Parts Connections in ASP.NET 2.0? This might help.
  57. Duplicate WebControls at Runtime for Better Web Usability
  58. Stream File to Browser (Memory Stream)
  59. Menus in ASP.NET Applications
  60. SharePoint 2007 and ASP.NET 2.0 Web Parts
  61. Writing Custom Web Parts for SharePoint 2007
  62. Export to Excel/Word from Nested GridViews
  63. A Provider-Based Service for ASP.NET Tracing
  64. Advanced Caching Techniques in ASP.NET 2.0
  65. Dynamically Setting the Page Title's in ASP.NET 2.0
  66. A Short Synopsis of ASP.NET ViewState
  67. Logging JavaScript Errors to ASP.NET
  68. Designer support for complex objects on an ASP.NET control
  69. Extending Controls with new Properties
  70. Implementing two-way Data Binding for ASP.NET Web Forms
  71. ASP.NET 2.0 and Web Standards - Expression Web Designer (via Jason Haley)
  72. *** Adding a zip filter to web services (via Jason Haley)
  73. ASP.NET Obfuscating the Querystring (via Jason Haley)
  74. Tips to improve ASP.NET applications (I know another set)
  75. Tame ASP.NET validation
  76. Using the ASP.NET 2.0 MultiView Control
  77. ASP.NET Tip: Create a BasePage Class for all Pages to Share
  78. Modifying Web.config file programmatically
  79. How to make ASP.NET applications that support mobile devices
  80. Localization in ASP.NET 2.0
  81. A better refresh button for ASP.NET pages
  82. Browser Detection using ASP.NET
  83. Create a ViewState Property
  84. ASP.NET 2.0 Data Binding Samples
  85. Code to screen scrape a website
  86. Anonymous Personalization Trick in Web Parts
  87. A Developer's Introduction to Microformats
  88. AJAX Enabling ASP.NET 2.0 Web Parts with Atlas
  89. Examination of the FormView Control (via Jason Haley)
  90. Multiple form-based programming in ASP.NET
  91. Service Management (manage services running on a system)
  92. Dynamically add Web Part controls to WebPart CatalogZone
  93. Validate multiple objects in ASP.NET
  94. Passing Server-side values to Client-side script
  95. How to deploy ASP.NET Web Applications (via Jason Haley)
  96. Dynamic ASP.NET Form Tabs
  97. HOWTO: ColSpan and RowSpan in ASP: GridView Controls
  98. Client side in ASP.NET: Common Javascript functions (via Jason Haley)
  99. How to send a file from web server to browser
  100. Invoking a web service without web reference
  101. ASP.NET Web Application and Windows Authentification
  102. Asynchronous Web Parts
  103. Model View Presenter (MVP) with ASP.NET (via Jason Haley)
  104. Enhancing the presentation of standard validator outputs
  105. Base Classes and Extending the @Page Directive (via Jason Haley)
  106. ASP.NET 2.0 Sitemap/Menu Editor (via Jason Haley)
  107. ViewState Compression (via Jason Haley)
  108. Asynchronous WebMethod Calls
  109. Asynchronous WebService Calls - Truth Behind Begin... End... functions
  110. Model View Presenter Meets ASP.NET 2.0
  111. ASP.NET 2.0 WebPart Framework Basics
  112. Taking an ASP.NET application offline
  113. Writing Custom Web Parts for Sharepoint 2007
  114. Forms Authentication Timeout
  115. Store View State in a Persistent Medium, the Proper Way
  116. Implementing Optimistic Concurrency
  117. Creating custom sections in web.config
  118. Bind Xml file to a GridView
  119. The simpliest error reporting in ASP.NET
  120. Using Bind with nested properties
  121. Navigation Patterns in Web Applications
  122. Themes and Skins, Global Themes, Programmatically Applying Themes
  123. Increase Web Site Performance with ASP.NET Caching
  124. Using Data with ASP.NET - 10 of My 'Best Practices'
  125. ASP.NET Best Practice Analyzer
  126. Working with GridView without using DataSource controls
  127. Securing PDF and ZIP Files in ASP.NET
  128. Scott Guthrie's August 9th ASP.NET Link-Listing
  129. Exception Handling Techniques in ASP.NET
  130. ****Extended GridView Control
  131. A Custom File Upload using a web control and integrated validation
  132. Establishing ASP.NET 2.0 WebPart Communication
  133. The .NET 2.0 Framework Provider Pattern
  134. Exception Handling in C# and ASP.NET
  135. ASP.NET Tip: Control the layout of your input forms
  136. Writer cleaner and clearer ASP.NET Session Code
  137. Testing ASP.NET UI: WATIR Impressions
  138. Automatic Object Persistency - Part I
  139. Lost Session variables and app domain recycles
  140. ASP.NET Page Life Cycle Overview (MSDN)
  141. ASP.NET Caching Dependencies (via Jason Haley)
  142. UI for simple HTTP File Downloader (via Jason Haley)
  143. Getting the currently executing Control in ASP.NET
  144. Efficiently paging through large amounts of data
  145. Paging and sorting report data
  146. ASP.NET/C# File Repository
  147. Make session last forever
  148. Sending Email in ASP.NET 2.0

Sunday, August 20, 2006

Introduction to Generics

I have been a follower of Charlie Calvert for quite some time. Charlie is a highly regarded author who wrote many books on Delphi and gave presentations at BorCon. He recently joined Microsoft as the Community Program Manager for the Visual C# group.

He has recently wrote an excellent introduction on Generics. Good read.

Link

Practical Tips for Boosting the Performance of Windows Forms Apps

The Practical Tips for Boosting the Performance of Windows Forms Apps article discusses:

  • Improving application startup time
  • Tuning up control creation and population
  • Improving painting performance
  • Rendering text and images
  • Efficient resource management
12 Performance Tips
  • Load fewer modules at startup
  • Precompile assemblies using NGen
  • Place strong-named assemblies in the GAC
  • Avoid base address collisions
  • Avoid blocking on the UI thread
  • Perform lazy processing
  • Populate controls more quickly
  • Exercise more control over data binding
  • Reduce repainting
  • Use double buffering
  • Manage memory usage
  • Use reflection wisely
Updated 8/20/2006

Friday, August 18, 2006

Lock-Free Linked Lists

I have learned much from Julian Bucknall on algorithms. Recently he has posted about Lock-Free Linked Lists using C#.

Part 1
Part 2
Part 3

ConnectionStrings.com

Provide an easy reference for connection strings. Databases include SQL Server, Access, Oracle, Firebird, etc.

Link

Wednesday, August 16, 2006

Links to Windows Workflow Foundation

Kurt Claeys has put together a good list of many Windows Workflow Foundation links.

Link

Tuesday, August 15, 2006

Delegates and Events in C#

http://www.akadia.com/services/dotnet_delegates_and_events.html

Monday, August 14, 2006

Threading in C# - Free E-book

Nice.

http://www.albahari.com/threading/

Dina Programming Font

I have been using the Consolas font in both Delphi and Visual Studio for the past 1.5 months - and love it. Dina is another free programming font which looks pretty nice too.

Unhiding Google Groups

As someone who uses Google Groups about a million times a day, I was a little upset when I realized it was now hidden.

Fortunately someone has found a way to display it.

Below is a link with a Chickenfoot script to run so the link is displayed (before the Video link). This is only available in Firefox.

Link

(via The Daily Grind)

Creating a Maintainable Software Ecosystem

Great article by Jeremy D. Miller.

Link

Visual Studio Tools Links

List of interesting links devoted to Visual Studio. This is a WIP post.

  1. Fast Formatter
  2. Visual Studio Add-Ins Every Developer Should Download Now
  3. New Reflector for .NET Version Available
  4. Visual Studio 2005 Toolbox Utility
  5. SmartAssembly
  6. ZIPStudio
  7. x.doc - A code documentation manager addin for VS 2005
  8. Regulator - Build Regular Expressions
  9. Tips and Techniques for Visual Studio
  10. Ways to use .NET Reflector #1
  11. Debugging Windows Services under Visual Studio
  12. Adding Guidelines to Visual Studio

Sunday, August 13, 2006

Joins - A Concurrency Library for .NET

Comega promised C# programmers a more pleasant world of concurrent programming. Comega had a simple, declarative, and powerful model of concurrency—Join Patterns—applicable both to multithreaded applications and to the orchestration of asynchronous, event-based distributed applications. By exploiting Generics in the Common Language Runtime, we can provide join patterns as a library rather than as a language feature. Offering a library has advantages: The library is language neutral, supporting C#, Visual Basic, and other languages; and the library's join patterns are dynamic, supporting solutions difficult to express with the static join patterns of Comega. The Joins library is efficient and has a simple interface that makes it easy to translate Comega programs to C#. The installer includes a tutorial, documentation, samples, and demos.

Note: Read license agreement - All software on this site is made available for non-commercial use only.

Link

Saturday, August 12, 2006

Regulazy 1.01 Available

Roy Osherove has announced Regulazy 1.01 is available.

Link

Thursday, August 10, 2006

"Web Apps Suck Because HTTP is Stateless..."

Dennis Forbes has an article on "Stateless".

Link

Offline Capable (Internet Explorer) AJAX Client

Hmm...

Link

Linq beyond queries: Strong-typed reflection

Good article.

Link

Windows Workflow Foundation Basics

Sahil Malik has some good posts on Windows Workflow Foundation.

  1. What is Windows Workflow Foundation?
  2. Workflow Foundation: The Hello World App
  3. CompositeActivities: Workflow activities that contain one or more child activities
  4. Transaction support in Workflow Foundation
  5. Workflow Foundation: The ActivityExecutionStatus

Wednesday, August 09, 2006

The Future of ASP.NET Web Services in the Context of the Windows Communication Foundation

Good paper on WCF.

Link

Good articles/links on ASP.NET

From Shahed Khan...

Link

Rhino Commons

Set of utility classes. At the moment it contains:

Link

Update 8/9/2006: Oren Eini has a good post on how to use Rhino Commons in ASP.NET.

Tuesday, August 08, 2006

Learn WPF in 5 Days

Karsten Januszewski's 5 day course for learning WPF.

Link

Sunday, August 06, 2006

Is your Visual Studio 2005 SLOW to Load?

Need to try this out...

Link

Wednesday, August 02, 2006

Scott Guthrie's ASP.NET 2.0 Tips, Tricks, Recipes, and Gotchas

Link

Dynamic component binding made easier

Dynamic component binding made easier - An easy to use Microkernel to help reap Contract-First-Design benefits in .NET programs

Very interesting...

Link