Thursday, November 15, 2007

Some More readings and thoughts

Ah posting after a long hiatus. Read some more articles from Joel today, he had a pretty good one on prioritization.

http://www.joelonsoftware.com/articles/SetYourPriorities.html
Worth a read.

Friday, April 27, 2007

The problem with "upgrades"

I don't know but sometimes with new versions things fall through the crack, and it's pretty annoying.

Anyways if you haven't noticed, the find in files doesn't seem to work very well in WindowsXP, here's a link on how to fix that. http://www.petri.co.il/windows_xp_search_bug.htm

MS KB 309173 has another fix for this bug:

To configure Windows XP to search all files no matter what the file type, obtain the latest service pack for Windows XP (currently SP2) and then turn on the Index file types with unknown extensions option.

If you use this method, Windows XP searches all file types for the text that you specify.

This can affect the performance of the search functionality. To do this:

1. Click Start, and then click Search (or point to Search, and then click For Files or Folders).
2. Click Change preferences, and then click With Indexing Service (for faster local searches).
3. Click Change Indexing Service Settings (Advanced). Note that you do not have to turn on the Index service.
4. On the toolbar, click Show/Hide Console Tree.
5. In the left pane, right-click Indexing Service on Local Machine, and then click Properties.
6. On the Generation tab, click to select the Index files with unknown extensions check box, and then click OK.
7. Close the Indexing Service console.

Another one is with SQL2005, where da hell is script each object to a separate file? Someone had to write an utility for that to happen. SQL2000 had that feature.
Here's the utility: http://www.sqlteam.com/publish/scriptio/

Tuesday, April 17, 2007

MS is taking out MSXML 4.0

MSXML is being removed, so if you have code that specifically uses MSXML 4.0 upgrade to 6.0.

This might apply to all the Ajax developers out there.

Using Gmail as an SMTP forwarder

There are a few postings around the NET on this, but this one is specifically for C# 2.0, as there are changes to the System.Web and System.Net namespace, as Microsoft moved some classes around and deprecated others.


So... in C# 2.0, this is a code snippet on how to send email via Gmail's smtp service.

You first create your email message, and give it various properties

string fromEmail, toEmail, subject, body;
//set your variables, from, to, subject, etc
System.Net.Mail.MailMessage Msg = new System.Net.Mail.MailMessage();
Msg.SubjectEncoding = Encoding.Default;
Msg.Sender = new MailAddress(fromEmail);
Msg.From = new MailAddress(fromEmail);
Msg.ReplyTo = new MailAddress(fromEmail);
Msg.Priority = MailPriority.Normal;
Msg.IsBodyHtml = false;
Msg.DeliveryNotificationOptions = DeliveryNotificationOptions.None;
Msg.BodyEncoding = Encoding.Default;
Msg.To.Add(toEmail);
Msg.Subject = subject;
Msg.Body = body;



You then create an instance of the SMTP client, make sure ssl is enabled, and that the port used is either 587 or 465 (587 worked for me). And make sure you pass your gmail email and password as the network credentials.

string login, password, smtpServer;
//set your server, login, and password...
smtpServer = "smtp.gmail.com";
login = "youremail@gmail.com";
password = "yourpassword";
//create the SmtpClient,
//don't use the System.Web namespace
System.Net.Mail.SmtpClient smtpClient = new SmtpClient(smtpServer);
smtpClient.Port = 587;//or 465
smtpClient.UseDefaultCredentials = false;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.EnableSsl = true;
smtpClient.Credentials = new System.Net.NetworkCredential(login, password);
smtpClient.Timeout = 6000;
smtpClient.Send(Msg);



Google's SMTP Reference
Voila!

Friday, April 06, 2007

Condensed/Historical Reading List Part 4

From 2/08/2007
Squeeze the most performance out of your Gigabit NIC
http://www.enterprisenetworkingplanet.com/nethub/article.php/3485486
802.11n draft router review
http://www.pcmag.com/print_article2/0,1217,a=181305,00.asp
http://en.wikipedia.org/wiki/IEEE_802.11#802.11n

From 1/31/2007
Handy Visual Studio Keyboard Shortcuts
http://jason.diamond.name/weblog/2006/07/29/some-handy-visual-studio-2005-keyboard-shortcuts
Visual Studio File Finder, kinda useful if you want to find out the path of a file or what project it belongs in
http://www.zero-one-zero.com/vs/
Something semi-humorous, crackpots in computer security.
http://blogs.msdn.com/oldnewthing/archive/2007/01/31/1565652.aspx
GetConfig is deprecated in .NET 2.0 The replacement is ConfigurationManager, remember to include the System.configuration assembly.
http://www.codeproject.com/useritems/SystemConfiguration.asp

From 1/26/2007
How to pass an array parameter into a sproc for SQL 2000
http://www.codeproject.com/cs/database/PassingArraysIntoSPs.asp
Improving DataSet and DataAdapter performance
http://www.eggheadcafe.com/articles/20030205.asp

From 1/22/2007
Ever wonder how to add another template into that Add New Item... or New Project Screen. Here's how.
Creating Custom Visual Studio 2005 Templates
http://aspalliance.com/933
http://davidhayden.com/blog/dave/archive/2005/11/05/2556.aspx
http://msdn2.microsoft.com/en-us/library/eehb4faa(vs.80).aspx

From 1/09/2007
.NET 2.0 BackgroundComponent - An easy way to start a background thread.
http://msdn2.microsoft.com/en-us/library/8xs8549b.aspx
Threadpool examples- good way to see how people implement thread pools
http://www.codeproject.com/cs/threads/workqueuethreading.asp
http://www.codeproject.com/cs/threads/smartthreadpool.asp
http://www.codeproject.com/cs/threads/cancellablethreadpool.asp
http://www.codeproject.com/cs/threads/xythreadpool.asp
Other threading related stuff
http://www.codeproject.com/cs/threads/managedthreadcs-projects.asp
http://msdn.microsoft.com/msdnmag/issues/05/02/NETMatters/
http://www.codeproject.com/cs/threads/SyncContextTutorial.asp
http://www.codeproject.com/cs/threads/threadpool_limit.asp
http://www.codeproject.com/cs/threads/threadtests.asp
Bit further away
Generic Invocation
http://www.codeproject.com/cs/threads/genericinvocationhelper.asp
Finite State Machine
http://www.codeproject.com/cs/threads/fsmdotnet.asp
Enforcing Single Instance
http://www.codeproject.com/cs/threads/SingleInstance.asp

From 12/27/2006
XML Database Schema and Data Editor
http://www.codeproject.com/cs/database/xmlschemaeditor.asp
Dynamically Generated XML Data Editor
http://www.codeproject.com/dotnet/XmlDataEditor.asp

From 12/15/2006
I've sent this one before, I just highly recommend it, so read it, think about it and quit griping. =)
http://www.joelonsoftware.com/articles/fog0000000332.html
Also Must reads
End Bracket is one of my favorite columns on MSDN Magazine
How to estimate software development time
http://msdn.microsoft.com/msdnmag/issues/07/01/EndBracket
Pay as you Go is Bad
http://msdn.microsoft.com/msdnmag/issues/06/05/EndBracket/
Some VBA Stuff:
User Defined Functions, write your own excel functions using VBA code.
http://www.fontstuff.com/vba/vbatut01.htm


From 12/05/2006
User Interface Design for Programmers [because we know programmers can't design UI ;)]
http://www.joelonsoftware.com/uibook/chapters/fog0000000057.html
UI 10 Rules
http://www.useit.com/papers/heuristic/heuristic_list.html
First Principles of Interaction Design
http://www.asktog.com/basics/firstPrinciples.html
Yahoo's Web UI Design Patterns
http://developer.yahoo.com/ypatterns/
http://www.netmag.co.uk/zine/design-culture/designing-with-patterns
Top 10 Rules for Windows Vista UI
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/UxGuide/UXGuide/Resources/TopRules/TopRules.asp


From 11/28/2006
Choices = Headaches
http://www.joelonsoftware.com/items/2006/11/21.html
http://www.joelonsoftware.com/items/2006/11/24.html
The C# using keyword, for those unaquanted (it's like a macro)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csspec/html/vclrfcsharpspec_8_13.asp
User Behavior
http://blogs.msdn.com/oldnewthing/archive/2006/11/27/1160055.aspx
Fabulous Adventures In Coding (great blog, I'm going to subscribe to the RSS feed)
http://blogs.msdn.com/ericlippert/

From 11/17/2006
Getting things done when you're only a grunt
http://www.joelonsoftware.com/articles/fog0000000332.html (joel's one of my favorite bloggers. I'll send more along the way)
Three wrong ideas from computer science
http://www.joelonsoftware.com/articles/fog0000000041.html
Continuous Integration
Why and how
http://www.espusa.com/whitepapers/continuous_integration_v1.0.pdf

From 11/16/2006
Daily builds are your friend, must read. I think this is an absolute necessity.
http://www.joelonsoftware.com/articles/fog0000000023.html
http://www.joelonsoftware.com/articles/fog0000000043.html
The 17 chapter book on .NET Performance
http://msdn2.microsoft.com/en-us/library/ms998530.aspx
This guy is funny, a new blog to follow
http://www.emulators.com/secrets.htm

From 11/15/2006
Everything about Exchange
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wss/wss/_esdk_arch_prog_tech.asp
Exchange SDK
file:///C:/Program%20Files/Exchange%20SDK/Tools/DevelopmentToolsReadMe.htm
Pop3 Client
http://www.codeproject.com/cs/internet/despop3client.asp
http://www.developerfusion.co.uk/show/4071/2/
Exchange Server event sinks/hooks
http://www.codeproject.com/csharp/csmanagedeventsinkshooks.asp
Exchange WebDAV protocol
http://www.codeproject.com/dotnet/exdav.asp
Exchange LDAP
http://www.codeproject.com/asp/serach_exchange_asp.asp
Exchange using CDO
http://www.codeproject.com/csharp/gmcdoexmail.asp
Exchange Remoting and MAPI
http://www.codeproject.com/csharp/remote_mail.asp
Extended MAPI
http://g8.cx/mapi/

From 11/08/2006
Why strong name your application?
http://discuss.develop.com/archives/wa.exe?A2=ind0402c&L=dotnet-clr&T=0&F=&S=&P=3043
Code Access Security is one reason.
https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/THCMCh08.asp
http://msdn.microsoft.com/msdnmag/issues/02/06/rich/
http://msdn2.microsoft.com/en-us/library/aa302361.aspx
http://en.wikipedia.org/wiki/Code_access_security
Strong Naming Explained
http://www.ondotnet.com/pub/a/dotnet/2003/04/28/strongnaming.html

From 11/03/2006
Threading
http://research.microsoft.com/~birrell/papers/ThreadsCSharp.pdf
http://msdn2.microsoft.com/en-gb/library/1c9txz50(VS.80).aspx
http://msdn2.microsoft.com/en-gb/library/ms228970(VS.80).aspx
http://www.albahari.com/threading/part3.html

From 11/1/2006
Joel's rant on Ruby Performance
http://www.joelonsoftware.com/items/2006/09/12.html
Somewhat related to JIT compiler optimizations.
Optimizing Dynamically-Dispatched Calls with Run-Time Type Feedback
http://smallthought.com/avi/?p=16
http://blogs.msdn.com/vancem/archive/2006/03/13/550529.aspx
DataGrid Formatting
http://www.codeproject.com/csharp/apply_datagridtablestyle.asp?df=100&forumid=91354&exp=0&select=1253172
Programming Language Benchmarks
http://shootout.alioth.debian.org

Thursday, April 05, 2007

Condensed/Historical Reading List Part 3

Blogger should also have attachments, it's pretty annoying without it.

From 10/31/2006
Abortable Threadpool
http://msdn.microsoft.com/msdnmag/issues/06/03/NETMatters/
DataSet vs BO Related Stuff
http://msdn.microsoft.com/msdnmag/issues/05/08/CuttingEdge/
http://objectsharp.com/Blogs/barry/archive/2004/02/10/273.aspx
http://www.hanselman.com/blog/ReturningDataSetsFromWebServicesIsTheSpawnOfSatanAndRepresentsAllThatIsTrulyEvilInTheWorld.aspx
http://objectsharp.com/Blogs/datasetfaq/
http://blogs.msdn.com/aconrad/archive/2005/03/16/396999.aspx
http://jelle.druyts.net/PermaLink.aspx?guid=61676665-06a7-443a-9462-71dae713539e
Interesting Read
http://www.snopes.com/college/homework/unsolvable.asp
New Languages
Python
http://www.python.org/
Ruby on Rails
http://www.rubyonrails.org/

From 10/27/2006
Tailor your Custom Datagrid
http://msdn.microsoft.com/msdnmag/issues/03/08/DataGrids/
.Net Guide (look at contents on the left)
http://www.informit.com/guides/content.asp?g=dotnet&seqNum=151&rl=1
AttributeUsageAttribute (restrict your custom attribute usages)
http://msdn2.microsoft.com/en-us/library/tw5zxet9.aspx
ADO.NET 2.0 Asynchronous Database Call (really cool, something I wish 1.1 had)
http://msdn2.microsoft.com/en-us/library/ms379553.aspx
ADO.NET 2.0 Feature Matrix
http://msdn2.microsoft.com/en-us/library/ms379542.aspx
.NET Data Access Architecture Guide
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daag.asp

From 10/12/2006
The importance of Environment.NewLine
http://ablog.apress.com/?p=967

From 10/04/2006
Threading
http://dotnetjunkies.com/WebLog/chris.taylor/archive/2004/01/17/5713.aspx

From 10/02/2006
P2P using WCF
http://msdn.microsoft.com/msdnmag/issues/06/10/PeerToPeer/default.aspx
Programming as an art?
http://msdn.microsoft.com/msdnmag/issues/06/10/EndBracket/default.aspx

From 9/26/2006
What is that ref keyword anyways?? =) Hope this clears it up.
http://msdn2.microsoft.com/en-us/library/s6938f28.aspx

From 9/22/2006
.NET Timers
http://msdn.microsoft.com/msdnmag/issues/04/02/TimersinNET/
Object to Schema Mapper, build table relationships based on "objects" the project actually uses datarows and datatables which are basically in-memory representations of a database. Submitted
http://www.codeproject.com/csharp/schema.asp

Condensed/Historical Reading List Part 2

More Reading Lists

From 9/20/2007
Assembly.LoadFrom explained
http://www.gotdotnet.com/team/clr/LoadFromIsolation.aspx
Suzanne Cook's blog
http://blogs.msdn.com/suzcook/archive/2003/09/19/57248.aspx
http://blogs.msdn.com/suzcook/archive/2003/05/29/57143.aspx
http://blogs.msdn.com/suzcook/archive/2003/06/13/57180.aspx
http://blogs.msdn.com/suzcook/archive/2003/06/12/57169.aspx

From 9/19/2007
Sybase Identity Gap Issue
http://www.sypron.nl/idgaps.html
http://www.sypron.nl/idgaps_txt.html

From 8/30/2006
Windows Debugging Tools
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
http://msdn.microsoft.com/msdnmag/issues/03/06/Bugslayer/default.aspx
http://msdn.microsoft.com/msdnmag/issues/05/03/Bugslayer/default.aspx
blog on asp.net debugging
http://blogs.msdn.com/tess/archive/2006/01/11/511773.aspx

From 8/29/2006
DataGrid issues
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=92988&SiteID=1
More Binding Stuff, this time it's CurrencyManager
http://www.codeproject.com/cs/database/CurrencyMangersCollection.asp
http://www.akadia.com/services/dotnet_databinding.html
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformscurrencymanagerclasstopic.asp
http://www.codeproject.com/cs/miscctrl/DBGridCurrentRow.asp

From 8/25/2006
Strong Named Assemblies
http://www.codeproject.com/dotnet/StrongNameExplained.asp
http://www.codeproject.com/dotnet/NeCoder03.asp

From 8/23/2005
Interfaces that have to be implemented so that custom objects can be binded to .net datagrid
http://www.codeproject.com/csharp/complexdatabinding.asp (I sent this one before but it's very related to the rest)
http://windowssdk.msdn.microsoft.com/en-us/library/41e17s4b.aspx (WinFX sdk, so some interfaces are not in .NET 1.1)
http://book.itzero.com/read/microsoft/0602/Addison.Wesley.Data.Binding.with.Windows.Forms.2.0.Programming.Smart.Client.Data.Applications.with.dot.NET.Jan.2006_html/032126892X/ch07lev1sec1.html
http://64.233.161.104/search?q=cache:ODpNf_q0N6EJ:www.ftponline.com/vsm/2003_06/online/wagner/default_pf.aspx+IList+IListSource+ITypedList+IBindingList&hl=en&gl=us&ct=clnk&cd=4 (cached version of article otherwise register with site)
http://noiseehc.freeweb.hu/IListSource.html

From 8/22/2006
Neat Grid Trick (Needs some work ontop of the article)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwinforms/html/dragdrop_datagrid.asp
Grid Styles
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwinforms/html/datagridcolumnstyle2.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwinforms/html/wnf_CustDataGrid.asp
Validating Email and IPv4 Addresses
http://blogs.msdn.com/oldnewthing/archive/2006/05/22/603788.aspx
http://blogs.msdn.com/larryosterman/archive/2005/01/07/348548.aspx
http://blogs.msdn.com/larryosterman/archive/2005/01/10/350135.aspx

Condensed/Historical Reading List Part 1

This is the historical list of reading list email I've sent out. From time to time I'll post new things that I'm researching or reading.

From 8/17/2006
Good sample on complex databinding
http://www.codeproject.com/csharp/complexdatabinding.asp
MSDN Article on binding
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadvnet/html/vbnet02252003.asp
MSDN Stuff
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconpropertyusageguidelines.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemComponentModelIBindingListClassTopic.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemcomponentmodelieditableobjectclasstopic.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemcomponentmodelidataerrorinfoclasstopic.asp
Some Tech News
http://arstechnica.com/index.ars

From 8/16/2006
Working with Command Parameters (has code snippets on the different ways to call stored procedures via Sql, OleDb, or Odbc)
http://msdn2.microsoft.com/en-us/library/yy6y35y8.aspx
Better code timing than DateTime.Now
http://www.eggheadcafe.com/articles/20021111.asp
http://support.microsoft.com/default.aspx?scid=KB;en-us;Q172338
Some Non-Technical UI tidbits.
Barrier of Entry
http://www.joelonsoftware.com/articles/fog0000000052.html
User Model vs Program Model
http://www.joelonsoftware.com/uibook/chapters/fog0000000058.html
Usability
http://www.useit.com/alertbox/20000806.html
http://www.useit.com/alertbox/991128.html



From 8/14/2006
IDesign solutions
http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=5&tabid=11#Essentials
Working with Custom Attributes (Useful for describing code)
http://www.codeproject.com/csharp/enumwithdescription.asp
http://www.devx.com/dotnet/Article/11579/0/page/2
Instantiating instances given an assembly (Useful for creating factories)
http://msdn2.microsoft.com/en-us/library/d133hta4.aspx -Create an instance using Activator, pass it assemblyname and typename
http://msdn2.microsoft.com/en-us/library/system.runtime.remoting.objecthandle.unwrap.aspx -Unwrap your instance
So I used custom attributes to attribute my enumeration of FormType, the attribute held the typename and assembly of the associated Form. So in my factory I would read the attribute from a given FormType, and then instantiate the associated form.
Delving Deep into the .NET Code
It's quite interesting what you can see with Lutz Roeder's .NET Reflector.
For example, looking at how MS implements its System.Windows.Forms.TabControl.
Using Reflector, drill down on System.Windows.Forms ... System.Windows.Forms.dll ... System.Windows.Forms, look for TabControl.
After studying the code-base you will see that they heavily reuse the native Tab Control for drawing. Ie. Click on SetTabPage,
and you will see that it uses the TCITEM struct as well as sends a windows message (TCM_SETITEM) to set the TCITEM struct.
Reflector
http://www.aisto.com/roeder/dotnet/
Tab Control Item (TCITEM) struct,
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/tab/structures/tcitem.asp
TCM_SETITEM Windows message
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/tab/messages/tcm_setitem.asp
Windows Basic, the Windows Message Loop and WndProc
http://www.winprog.org/tutorial/
Some dated but interesting reads =)
http://en.wikipedia.org/wiki/Shatter_attack
http://security.tombom.co.uk/shatter.html

From 8/10/2006
Some Enterprise Library Application Blocks
Update Application Blocks
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/updaterv2.asp
http://msdn.microsoft.com/msdnmag/issues/04/05/ClickOnce/
UI Design Patterns
http://designinginterfaces.com/Multi-Level_Undo
Preconditions, PostConditions, and Invariant
http://www.d.umn.edu/~gshute/softeng/analytic.html - Correctness
http://www.verifysoft.com/en_dbcforjava.html - Design by Contract
Asynchronous Delegates
http://www.devsource.com/article2/0,1895,1942731,00.asp
How to create a professional GDI+ Control
http://www.codeproject.com/cs/miscctrl/ScrollingTextControlArtic.asp
Task Pattern
http://www.developerdotstar.com/mag/articles/troche_taskpattern.html
https://secure.codeproject.com/csharp/tpcp.asp

From 8/9/2006
So one of my most recent challenges, Forms vs Screen Resolution.
Different people have different screen resolutions, but control placement in forms are used through pixels. I've been doing some research and tests, here's what I found so far.
How to get the screen resolution as well as screen properties
http://msdn2.microsoft.com/en-us/library/system.windows.forms.screen.bounds.aspx
http://msdn2.microsoft.com/en-us/library/system.windows.forms.screen.workingarea.aspx
http://msdn2.microsoft.com/en-us/library/system.windows.forms.screen.aspx
Matrix Transformation (I had figured I can use matrices to scale the size from one res to another)
http://www.codeproject.com/csharp/Matrix_Transformation.asp
Good example of GDI+ usage
http://www.gerd-riesselmann.net/archives/2006/01/a-triangle-with-rounded-corners-in-c
Replacing Inheritence with Composition (Code Organization)
http://ivan.truemesh.com/archives/000490.html
There's also been recent talks on database architecture. Just some ideas to throw out.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/caching1.asp (Check out the Design Diagram)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/caching1.asp (2.0 Version, design's been changed)
CommandBehavior.SequentialAccess
Very powerful way to read blobs from the database
http://msdn2.microsoft.com/en-us/library/system.data.commandbehavior.aspx
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconobtainingblobvaluesfromdatabase.asp

From 8/8/2006
There's no such thing as magic, anonymous methods implementation, interesting read.
http://blogs.msdn.com/oldnewthing/archive/2006/08/02/686456.aspx
http://blogs.msdn.com/oldnewthing/archive/2006/08/03/687529.aspx
http://blogs.msdn.com/oldnewthing/archive/2006/08/04/688527.aspx
http://blogs.msdn.com/grantri/archive/category/3378.aspx
Working with resource files so that a locale change will change what resources are read.
http://only4gurus.com/v3/preview.asp?resource=3576
http://www.c-sharpcorner.com/UploadFile/sribharadwaj/Internationalization03082006085742AM/Internationalization.aspx?ArticleID=29b6cb17-8018-4a37-a39f-89fdd931f480
rant on character sets
http://www.joelonsoftware.com/articles/Unicode.html
The list of all the language and country codes. Useful for knowing what to name your resource files so that it will be picked up correctly. Ie. en-US is english, United States, es-ES is spanish, Spain.
Language
http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (639-3 is latest standard, but most examples I see uses 639-1)
Country
http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
C# Double Buffering, prevent that flicker in custom drawn controls, in 2 lines of code.
http://www.nullify.net/ViewArticle.aspx?article=187

From 8/4/2006
Double Dispatch, Inversion of Controls, ComponentModel
http://en.wikipedia.org/wiki/Double_dispatch
http://forevergeek.com/programming/the_mysteries_of_the_systemcomponentmodel_namespace.php
http://www.urbanpotato.net/default.aspx/document/1757
http://weblogs.asp.net/ahoffman/archive/2004/11/25/270189.aspx
http://weblogs.asp.net/cazzu/archive/2004/05/10/129140.aspx
http://www.martinfowler.com/articles/injection.html
http://www.dofactory.com/Patterns/PatternVisitor.aspx#_self2
.NET moved from a paradigm shift of Service Locator to Provider Pattern
.NET 2.0 Provider Pattern:
http://weblogs.asp.net/rhoward/archive/2004/03/02/83026.aspx
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspnet/html/asp02182004.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspnet/html/asp04212004.asp
http://www.codeproject.com/dotnet/smartjobmanager.asp