Sunday, December 23, 2007

What is the difference between URL and URI?

A URL is the address of some resource on the web, which means that normally you type the address into a browser and you get something back. There are other type of resources than web pages, but that's the easiest conceptually. The browser goes out somewhere on the internet and accesses something.

A URI is just a unique string that uniquely identifies something, commonly a namespace. Sometimes they look like a URL that you could type into the address bar of your web browser, but it doesn't have to point to any physical resource on the web.

URI is the more generic term, and a URL is a particular type of URI in that a URL has to uniquely identify some resource on the web.

Via .Net Tip of The Day

Thursday, November 22, 2007

Ajax control toolkit updated for Visual Studio 2008

Ajax control toolkit has been updated and released to version version 3.5.11119.0 is the full release package with complete source code to all controls, the test framework, VSI, and more. contains only the sample web site and VSI and is for people who don't need or want the source code for the controls.

Download link

kick it on

Wednesday, November 21, 2007

Visual Studio 2008 and .NET Framework 3.5 Training Kit

The Visual Studio 2008 and .NET Framework 3.5 Training Kit includes presentations, hands-on labs, and demos. This content is designed to help you learn how to utilize the Visual Studio 2008 features and a variety of framework technologies including: LINQ, C# 3.0, Visual Basic 9, WCF, WF, WPF, ASP.NET AJAX, VSTO, CardSpace, SilverLight, Mobile and Application Lifecycle Management.

Download Page

kick it on

Monday, November 19, 2007

Thursday, November 15, 2007

Add automatic updates to your application

This article explain  step-by-step how to add automatic update capabilities to application quickly and easily.

Click here

kick it on

Wednesday, November 14, 2007

How to add ComboBox to PropertyGrid

Create new class which inherit StringCoverter, and 3 methods:

internal class List2PropertyConverter : StringConverter
public override bool
ITypeDescriptorContext context)
//True - means show a Combobox
//and False for show a Modal
return true;

public override bool
ITypeDescriptorContext context)
//False - a option to edit values
//and True - set values to state readonly
return true;

public override StandardValuesCollection
ITypeDescriptorContext context)
return new StandardValuesCollection(
new string[] {"test1", "test2", "..."});

Add variable and encapsulate it:
 private string testValue;
[Category("Category name")]
public string TestValues
get { return testValue; }
set { testValue = value; }

PropertyGrid has 4 attributes for a manage properties:

[Browsable(bool)] - Visible/Hide property

[ReadOnly(bool)] - Editing (true/false)

[Category(string)] - Group of properties

[Description(string)] - Description of the property

kick it on


Sunday, November 11, 2007

CAPTCHA Kinda Spam Prevention in ASP.NET

Spammers really bug me.

I've been working on this on-going sports related portal project (that probably will NEVER go live :)

I love of hobby community sites degrade quickly because they lack the moderation resources to keep the user submitted content quality high and I've been thinking about this problem.

I thought I would share some interesting links that I found on the subject.


by Joe Stagner

kick it on

Template Method Design Pattern vs. Functional Programming

Simple and obvious example how to realize Design Patterns. A example based on Hot Drinks and presented design of the application with explanations.

Click here

kick it on

Thursday, November 08, 2007

ADInsight - new utility by Microsoft

ADInsight is an LDAP (Light-weight Directory Access Protocol) real-time monitoring tool aimed at troubleshooting Active Directory client applications. Use its detailed tracing of Active Directory client-server communications to solve Windows authentication, Exchange, DNS, and other problems.


Download (720kb)

kick it on

BGInfo - display PC information on the desktop

How many times have you walked up to a system in your office and needed to click through several diagnostic windows to remind yourself of important aspects of its configuration, such as its name, IP address, or operating system version If you manage multiple computers you probably need BGInfo. It automatically displays relevant information about a Windows computer on the desktop's background, such as the computer name, IP address, service pack version, and more. You can edit any field as well as the font and background colors, and can place it in your startup folder so that it runs every boot, or even configure it to display as the background for the logon screen.



kick it on

Calling delegates using BeginInvoke, Invoke, DynamicInvoke and delegate

I wanted to write about delegates this month. There are different ways in which you can invoke delegates to get either a synchronous or an asynchronous behavior. But from what I noticed, the delegate model provides you very less control when you invoke it asynchronously. The caller cannot easily abort or terminate the operation.

If you want to execute a delegate asynchronously and still want to have good control from the caller then invoke it explicitly from a thread. The sample below demonstrates multiple ways you can invoke a delegate and each has its own features with it. Till I wrote this, I didn’t realize that there are 6 ways to invoke a delegate and I am sure there are a few more that I am missing here. It was also interesting that when you execute a delegate on a thread then it cannot return a value as the caller of the thread is gone when the thread returns. If you want to pass parameters to the delegate in the thread you can use the ParameterizedThread option which is very useful.


Click here to continue...

kick it on

Sunday, October 28, 2007

Care about Event Memory Leaks with Delegate.GetInvocationList()

Subscribed events are one of the most common reasons of memory leaks in .Net. This means that if you have an object that has an event

and there are other object that are subscribed to that event, the original object won't be properly disposed until all events are unsubscribed since

an event is a strong reference.


public partial class MyForm : Form
public event EventHandler OnDoMyFormThing;

public MyForm()

private void button1_OnClick
"Test of OnDoMyFormThing event"
OnDoMyFormThing(this, new EventArgs());

protected override void Dispose(bool disposing)
if (disposing && (components != null))
foreach (EventHandler eventDelegate
OnDoMyFormThing -= eventDelegate;


To full  article click here

Tuesday, October 23, 2007

Convert UTF-8 to Unicode

private static string Utf8ToUnicode(string utf8)
    return Encoding.Unicode.GetString(

LINQ solution:
private static string Utf8ToUnicode(string utf8)
  return   Encoding.UTF8.
       GetString(input.Select(item => (byte)item).ToArray()); 

Strategy Pattern in C# 2.0

Strategy pattern can very handy when a system designer or architect wants to separate algorithms from the system implementation. Also with strategy pattern approach it is very easy to select between different algorithms on the fly. With the introduction of generics in .NET 2.0 implementing strategy pattern is even more easy.

Click Here




Sunday, October 21, 2007

Full guide to create Installer class in VS.Net 2005

6 pages of amazing guide by explains all point of deployment project and include follow parts:

  • Requirements 
  • Terminology
  • How to create an Installer Class
  • Un-written rules
  • Unpleasent features
  • Using these events (about Installer Class events)
  • Using the Commit event to change the target directory permissions.
  • Using the Uninstall event to clean the target directory
  • Where is the "NT AUTHORITY\SERVICE" account coming from?
  • Exceptions and Exception handling in your installer class.
  • Adding user interfaces (forms) to your installer class.
  • Launching your application after installation.
  • Conclusions.
  • References.

To read "Visual Studio 2005 Setup and Deployment Installer Classes and Custom Actions" CLICK HERE

kick it on

Listas - new feature from Microsoft

At Live Labs, we are always experimenting with new ideas that we think will be useful.  Today we are releasing our latest technology preview:

Listas (

Listas is a tool for the creation, management and sharing of lists, notes, favorites, and more. It allows you to quickly and easily edit lists, share them with others for reading or wiki-style editing, and discover the public lists of other users.  We encourage you to try using it for meeting notes, bookmarks, shopping lists, to plan a night out, or whatever other creative ways you can think of....

kick it on

Sunday, October 14, 2007

Sharp Cache Session Manager

The SharpCacheSessionManager is a HttpHandler that allows to display the entries stored in the Cache, Session and Application object. You can view the data stored inside the objects and you can also remove the objects from the corresponding storage. To download the SharpCacheSessionManager click HERE

via Christopher Steen

 kick it on

Wednesday, October 10, 2007

Monday, October 08, 2007

Find and get list of controls on page

If you want to find list of controls on Page you can use this method:
private List<T> GetControls<T>() where T:Control
List<T> list = new List<T>();
foreach (Control rootControl in Controls)
foreach (Control control in rootControl.Controls)
if (control as T != null)
list.Add(control as T);
return list;
And a using is very simple. In example you can see how to change background to all labels:
List<Label> list = 
delegate (Label lab)
lab.BackColor =


kick it on

Sunday, October 07, 2007

A Visual Guide to Version Control

A beautiful, "highly visual" overview of Version Control, (a.k.a. Source Control). It also references Subversion command line examples, but the overview applies to most version control systems by BetterExplained.

To read a full article click HERE.

Sunday, September 30, 2007

What is a Fluent Interface?

Full article "How to design a Fluent Interface", compares and examples see HERE

Get last day of the month

DateTime GetLastDayOfMonth(DateTime date) 
new DateTime(date.Year,

Thursday, September 20, 2007

Accordion 2.0 by Kevin Miller

Kevin Miller has updated  to version 2.0 his extraordinary  AJAX  control ACCORDION

AJAX Accordion

New futures:

  • Open/Close functionality added (Click on an active accordion).
  • Nested Vertical Accordions
  • Accordions will dynamically resize on content added REAL TIME!
  • ...lots of bug fixes!

 Very simple using:

Include 3 JavaScript files to HTML page

<script type="text/javascript" 
<script type="text/javascript"
<script type="text/javascript"
<h2 class="accordion_toggle">Title Bar</h2>
<div class="accordion_content">...</div>
<h2 class="accordion_toggle">Title Bar</h2>
<div class="accordion_content">...</div>

More option see here (In toggle "How to use")

kick it on

Sunday, September 16, 2007

Sunday, September 09, 2007

Determining when a procedure has been changed

[StoredProcedure name]


Wednesday, September 05, 2007

CSS Table Gallery

Candy style
CSS Candy style

Red and Black style
CSS Red and Black style

The OC style
CSS The OC style

To more styles click here

10 SQL Server Functions That You Hardly Use But Should

A using and explanation next SQL functions:




Tuesday, September 04, 2007

Clear cache and buffers in MSSQL

Use this to clear the cache and buffers to ensure comparison are accurate.

dbcc freeproccache
dbcc dropcleanbuffers

20 Tips to Improve Application Performance

Read full article

by Real World Software Development

ASP.NET AJAX Shorthand Syntax

CommandShortcut to
$get('YourControlName') Sys.UI.DomElement.getElementById - gets a reference to the DOM element, same as document.getElementById
$find() Sys.Application.findComponent
$create() Sys.Application.Component.create
$addHandler(FormElement, EventName, HandlerMethod)  Sys.UI.DomEvent.addHandler  

kick it on

Sunday, September 02, 2007

Sunday, August 26, 2007

Code quality sessions

When you are feature complete, what do you need to make the code as close to perfect as possible? Remember, perfect is an illusion and a matter of subjective interpretation, but you get the idea. You need all the steps to ensure that you release a quality project that works perfectly. For an ASP.NET project like BlogEngine.NET, I would suggest these steps.

Reаd full  article  by  Mads Kristensen

Online Regular Expression creator and validator.

Nice site NRegex propose online service, that creates and helpful to create regular expressions.

Release of Download Center for IIS

 DownloadCENTER  is a community for research,  sharing, reviewing and promoting IIS. Tools, samples, extensions, filters, modules & etc in a single place.

Thursday, August 16, 2007

Cheat Sheets for Actionscript, Ajax, Apache, ASCII Character Codes, ASP, C# and VB.NET, CSS, CVS, C++, Django, Firefox, Google, HTML/XHTML, Java, JavaScript, LaTeX, Microformats, Misc, MySQL, Oracle, Perl, Photoshop/Gimp, PHP, Python, Regular Expressions, Ruby, Unix/Linux, Weblog, Windows, XML

htaccess Cheatsheet
mod_rewrite Cheat Sheet - PNG
mod_rewrite Cheat Sheet - PDF

ASCII Character Codes

ASCII Codes Cheat Sheet
Character Entity References in HTML 4 and XHTML 1.0
HTML Character Entities Cheat Sheet - PNG
HTML Character Entities Cheat Sheet - PDF
HTML special character reference
HTML - Special Entity Codes
Reference Special Characters

Special ASCII HTML Character Codes
XHTML Character Entity Reference


ASP / VBScript Cheat Sheet - PNG
ASP Free eBooks

C# and VB.NET

C# and VB.NET Comparison Cheat Sheet - PDF
Cheat Sheet - Casting in VB.NET and C#


CSS level 1 - Quick Reference Card - PDF
CSS level 2 - Quick Reference Card - PDF
CSS 2 - Quick Reference Guide - PDF
CSS Cheat Sheet - PDF
CSS Cheat Sheet - PNG
CSS Property Index
Cascading Style Cheatsheet

CSS Shorthand Guide


CVS Cheat Sheet
Subversion Quick Reference Card - PDF
CVS Cheat-sheet


C++ Containers Cheat Sheet

C++ Quick Reference Sheet (Cheat Sheet) - PDF
How to Program in C++ - Language Summary


Django Cheat Sheet
The Django Book


Firefox Keyboard Shortcuts - PDF

Firefox Shortcuts Sheet
Mozilla Firefox Cheat Sheet
Mozilla Thunderbird Cheat Sheet
Keyboard Shortcuts


Gmail Shortcuts (printable cheatsheet)
Google Advanced Operators (Cheat Sheet)
Google Cheat Sheet (Version 1.06) - PDF
Google Cheat Sheet - auch als PDF
Google Cheat Sheets - auch als PDF
Google Help : Cheat Sheet


A Simple Guide To HTML - Cheat Sheet
HTML & XHTML Tag Quick Reference
HTML Cheat Sheet
HTML Free eBooks
HTML Cheatsheet
HTML Entities
HTML Cheat Sheet
HTML Web Development Free Online Books
XHTML Cheat Sheet v. 1.03 - PDF
HTML DOM - Quick Reference Card - PDF
XHTML 1.0 frameset - Quick Reference Card - PDF
XHTML 1.0 strict - Quick Reference Card - PDF

XHTML 1.0 transitional - Quick Reference Card - PDF
XHTML Quick Reference Guide For XHTML 1.1


Java 1.5 Cheat Sheet
Java Quick Reference - PDF
JSP Quick Reference Card
Java Free eBooks
(JSP�) SYNTAX version 1.1
Java Programming
(JSP�) SYNTAX version 2.0


JavaScript Cheat Sheet - PNG
JavaScript Cheat Sheet - PDF
JavaScript Reference
JavaScript Reference
Scripting & Programming
JavaScript and Browser Objects Quick Reference
Regular Expressions for JavaSript - free online quick reference


Latex cheat sheet
LATEX2″ Cheat Sheet
Latex 2e Cheat Sheet LaTeX 2e Brief Reference


Microformats Cheat Sheet

Microformats Cheat Sheet


Complete listing of common camera symbols!
The Unicode-Database
RGB Hex Colour Chart - PNG
Pretty Good PGP Reference Card
Search Engine Cheat Sheet

Quick Reference Cards<br />


MySQL Cheat Sheet
MySQL Cheat Sheet - PDF
MySQL Cheat Sheet - PNG
MySQL Free eBooks
MySQL Cheat Sheet
SQL Cheatsheet
Database & MySQL
MySQL Quick Reference Card


Oracle PL/SQL Cheatsheet
Oracle Cheat Sheet
Oracle Free eBooks
Oracle Server 9i - Quick Reference Guide
Oracle SCM Installation Cheat Sheet


Perl Regular Expression -Quick Reference - PDF
Perl Cheat Sheet
Perl Cheat Sheet
Perl 5 Cheat Sheet
Perl Free eBooks
Perl Quick Reference - PDF
Perl Quick Reference Card - PDF
Perl Regexp Quick Reference Card - PDF


Gimp Quick Reference Card v.1.0
Photoshop 7.0 Quick Reference Card for Windows - PDF
Photoshop Free eBooks
Photoshop CS2 Keyboard Shortcuts (Windows) - PDF
Photoshop CS2 Keyboard Shortcuts (Macintosh) - PDF


symfony PHP5 framework - Admin Generator cheat sheet - PDF
PHP Cheat Sheet - PDF
PHP Free eBooks
PHP Cheat Sheet - PNG
PHP Cheat Sheet with special php syntax
PHP PCRE Cheat Sheet
Regular Expressions Cheat Sheet - PNG
Smarty cheat sheet for template designers - PDF


Python 101 cheat sheet
Python Cheat Sheet
Python Free eBooks
Python Cheat Sheet - PDF
Python Quick Reference
Python 2.4 Quick Reference

Regular Expressions

Regular Expressions Cheat Sheet
Regular Expression Cheat Sheet (.NET)


ActiveRecord Relationships - Ruby on Rails cheat sheet guide - PDF
Ruby Cheatsheet
RubyOnRails-Cheatsheet - PDF
Ruby on Rails Cheat Sheet - PNG
Ruby on Rails Cheat Sheet Collectors Edition
Ruby on Rails cheat sheet guide - PDF
Ruby quick reference
Ruby Cheatsheet
Ruby Free eBooks
Threadeds Ruby Cheat Sheet
What Goes Where? - Ruby on Rails cheat sheet - PDF


LINUX Administrator�s Quick Reference Card - PDF
Linux Shortcuts and Commands
quick_reference [GNU screen]
Unix Cheat Sheet
Linux/Unix Free eBooks
The One Page Linux Manual - Version 3 - PDF
TCP Ports list (3498 ports in list)
Treebeard�s Unix Cheat Sheet
Unix command cheat sheet - common commands for the unix command line
Essential Vim keyboard shortcuts Cheat Sheet
VIM Quick Reference Card
VIM Quick Reference Card
Vim Commands Cheat Sheet


Blogger Cheatsheet - PDF
Quick Reference Chart - ExpressionEngine Documentation - PDF
TypePad Cheatsheet - PDF
Movable Type Cheatsheet - PDF
WordPress Cheatsheet - PDF
WP - WordPress Cheat Sheet f�r Theme Tags und Plugin-API - PDF


An A-Z Index of the Windows NT/XP command line
Graphical vi-vim Cheat Sheet and Tutorial
Power Point 2000 - Keyboard Shortcuts
POWERPOINT 2003 - Quick Reference Card
Quick Reference Card for Windows�
TCP Ports list (3498 ports in list)
Windows - Alt Key Numeric Codes
Windows Free eBooks
Windows XP Service Reference - PDF
XP Keyboard Shortcuts: version 2 - PDF


Fusebox 4.1 XML Cheat Sheet
MathML Reference - PDF
VoiceXML Reference - PDF
XML TopicMaps 1.0 - Quick Reference Card - PDF
XML Quick References - PDF
XML Free eBooks
XML Schema 2001: children - parents - PDF
XML Schema 2001: elements - attributes - PDF
XML Schema 2000/10 - PDF
XML Schema - Structures Quick Reference - PDF
XML Schema - Data Types Quick Reference - PDF
XSL FO Reference - PDF
XSLT Quick References - PDF
XSLT Quick Reference Card - PDF
XSLT Reference
by 121 space

The latest release of Notepad++ (Version v4.2.2) is available


   Notepad++ is a free source code editor (and Notepad replacement), which supports several programming languages, running under the MS Windows environment. I use this notebook for many years and was very pleased. Simple and easy! Ideally HTML, XML, Log Editor and Viewer. Very useful tool. Recommended for all!


Here are the features of Notepad++ :

Syntax Highlighting and Syntax Folding

Supported languages :

C C++ Java C# XML HTML PHP CSS makefile ASCII art (.nfo)  doxygen ini file batch file Javascript ASP VB/VBS  SQL Objective-C  RC resource file Pascal Perl Python
Lua TeX TCL Assembler Ruby Lisp Scheme  Properties Diff Smalltalk Postscript VHDL Ada  Caml AutoIt KiXtart Matlab Verilog Haskell InnoSetup CMake


User Defined Syntax Highlighting




Regular Expression Search/Replace supported

Full Drag ‘N' Drop supported

Dynamic position of Views

File Status Auto-detection

Zoom in and zoom out

Multi-Language environment supported

The Chinese, Japanese, Korean, Arabic and Hebrew Windows environments are supported.

Brace and Indent guideline Highlighting

Macro recording and playback





 Download page


kick it on

Monday, August 13, 2007

List of commands for F1-F9 for command prompt

List of F1-F9 Key Commands for the Command Prompt

F1 / right arrow: Repeats the letters of the last command line, one by one.
F2: Displays a dialog asking user to “enter the char to copy up to” of the last command line
F3: Repeats the last command line
F4: Displays a dialog asking user to “enter the char to delete up to” of the last command line
F5: Goes back one command line
F6: Enters the traditional CTRL+Z (^z)
F7: Displays a menu with the command line history
F8: Cycles back through previous command lines (beginning with most recent)
F9: Displays a dialog asking user to enter a command number, where 0 is for first command line entered.
Alt+Enter: toggle full Screen mode.
up/down: scroll thru/repeat previous entries
Esc: delete line
Note: The buffer allows a maximum of 50 command lines. After this number is reached, the first line will be replaced in sequence.

Helpful accessibility keyboard shortcuts

Switch FilterKeys on and off. Right SHIFT for eight seconds
Switch High Contrast on and off. Left ALT +left SHIFT +PRINT SCREEN
Switch MouseKeys on and off. Left ALT +left SHIFT +NUM LOCK
Switch StickyKeys on and off. SHIFT five times
Switch ToggleKeys on and off. NUM LOCK for five seconds…..Source

by Geek Zone

How To Remove CD Scratches With A Banana

Yes-yes, this is not a joke - this is work!

Sunday, August 12, 2007

The Blogger backup

Everyone knows how painful to lose the information, that does not happen we do backup, but what if you have a blog in blog? Beautiful and free solution proposed team of developers from  CodePlex - Blogger Backup!
Elementary and simply no worries. Last realese  of utility is v1.0.7.16.


Download page

"The Code Project" Browser Add-in for Visual Studio 2005

This add-in is used to browsing, downloading and managing "The Code Project" samples directly in VS 2005 by SlickEdit


Download add-in

Project Page

Thursday, August 09, 2007

AdSense Watch Toolbar

AdSense Watch is a free Windows Explorer toolbar displaying your current Google AdSense report - Page impressions, Clicks, Page CTR, Page eCPM and Earnings. The data is updated automatically or on demand.



kick it on

SQL Function to Parse AlphaNumeric Characters from String

CREATE FUNCTION dbo.ParseAlphaCharsByString
@text VARCHAR(8000)

SET @IncorrChachIndex = PATINDEX('%[^0-9A-Za-z]%', @text)
WHILE @IncorrChachIndex > 0
SET @text = STUFF(@text, @IncorrChachIndex, 1, '')
SET @IncorrChachIndex = PATINDEX('%[^0-9A-Za-z]%', @text)
RETURN @text

Manual how-to use Subversion and Tortoise SVN with Visual Studio and .NET

This article is a quick step by step for tuning up Subversion with Tortoise SVN. This walkthrough is general with a slight side concentrated on operation with .NET and Microsoft Visual Studio projects. It covers repository creation, creating new source control branches for projects, creating a local copy and the basics of common operations. Focus is on getting up and running quickly with the essential steps.

Saturday, August 04, 2007

Learn about 12 coding languages that never quite made it and the reasons they failed.

There are about 8,500 languages (not surprised, are not exaggerated), but despite this diversity, the number of languages in which the majority says, barely passes for a dozen. The reason why a language does not become popular, no less than the languages themselves. This division between their creators, and poorly organized sale process, and the emergence of new technologies, and simply frank "bends". In this article we review 12 programming languages, which are not popular among developers, as well as the causes of the "dislike".
Click here to read the article

Wednesday, August 01, 2007

'Loading' indicator for Ajax

Do you want an indicator 'loading...' 
like that there is for Google Analytics loading?

Or like this ajax

Or this ajax?

Or this

Go to and create your 'Load' indicator!

If you want to use this indicator in ASP.NET AJAX project click here