Wednesday, October 20, 2010

Asymmetric Encryption

Excerpt from http://www.4guysfromrolla.com/articles/021407-1.aspx

In asymmetric encryption two keys are generated per entity, one which is kept private and the other which is publicly known. The interesting and most important attribute of each of the two keys is that: each key undoes the other's operations, and it is computationally infeasible to generate the opposite key given one of the keys. As Figure 2 illustrates, if Bob wants to send a message to Alice, he uses Alice's public key to encrypt the message with. Later, when Alice wants to decrypt the message, she only needs to use her private key to do so. This method ensures that only Alice is able to read the messages encrypted with her public key.

The Art & Science of Storing Passwords (2006 article)

Good article about Storing Passwords
http://www.codeproject.com/KB/recipes/StoringPasswords.aspx

Excerpt from conclusion -
The simple guidelines are:

* If you need to retrieve passwords, use encryption.
* If you do not need to retrieve passwords, use hashes (more secure).
* Whatever you do, salt the passwords.

Tuesday, October 19, 2010

MultiTouch Vista

http://multitouchvista.codeplex.com/
Excerpt from http://www.drdobbs.com/windows/227701092

The great drawback is that you cannot emulate multitouch gestures with a mouse or a touchpad in your developer workstation. However, if you don't have a multitouch monitor, you still have a chance to test some multitouch gestures without having to deploy the project to the phone. There is an interesting project on CodePlex, Multi-Touch Vista that allows you to work with multiple mice to emulate two fingers on the screen and their multitouch gestures. In fact, the latest version of Multi-How to build a UI from scratch.

Multi-Touch Vista provides a Windows 7 compatible driver that enables multiple mice and is compatible with the Windows Phone 7 emulator. For example, you can use a laptop's touchpad as one of the pointers and a USB mouse connected to the same laptop as the second pointer. (If you're interested in working with Multi-Touch Vista, you can read an excellent step-by-step tutorial written by Michael Sync This tutorial explains how to install and configure the driver to work with the Windows Phone 7 emulator.)

When using post-cache substitution

From ASP.Net 3.5 Unleashed (pg 1318)
When you use post-cache substitution (declaratively or programmatically) then caching no longer happens beyond the web server. Using post-cache substitution causes a Cache-Control:no-cache HTTP header to be included in the HTTP response, which disables caching on proxy servers and browsers. This limitation is understandable because the substitution content must be generated dynamically with each page request.

Friday, October 15, 2010

Stored Procedures and PreCompilation

Whether they're precompiled depends on the database. In SQL Server, for instance, they're not. Stored procedures and parameterized SQL are both compiled before being run. A stored procedure can sometimes reuse an execution plan if a corresponding one exists...but so can parameterized SQL.
http://stackoverflow.com/questions/226859/disadvantage-of-stored-procedures

Stored procedures can be written in C#

http://www.sqlteam.com/article/writing-clr-stored-procedures-in-charp-introduction-to-charp-part-1

implementing-a-dynamic-where-clause

http://www.sqlteam.com/article/implementing-a-dynamic-where-clause

SELECT Cus_Name,
Cus_City,
Cus_Country
FROM Customers
WHERE Cus_Name = COALESCE(@Cus_Name,Cus_Name) AND
Cus_City = COALESCE(@Cus_City,Cus_City) AND
Cus_Country = COALESCE(@Cus_Country,Cus_Country)

Monday, October 11, 2010

Difference between <%= and <%#

The ASP.NET syntax <%# %> is a shorthand convention that instructs the runtime to execute whatever is contained within and output the results “in Line”.

Difference between <%= and <%# -
From http://blogs.msdn.com/b/dancre/archive/2007/02/13/the-difference-between-lt-and-lt-in-asp-net.aspx

  • The <%= expressions are evaluated at render time
  • The <%# expressions are evaluated at DataBind() time and are not evaluated at all if DataBind() is not called.
  • <%# expressions can be used as properties in server-side controls. <%= expressions cannot.

Followers

Blog Archive