星期二, 九月 04, 2007

MSMQ Addressing

 
 

Sent to you by Hudong via Google Reader:

 
 

via MSDN Blogs by Nicholas Allen on Aug 28, 2007

Here's a quick guide to how an address that uses the net.msmq scheme in WCF gets turned into an actual MSMQ address. There are three transfer protocols used with MSMQ: native, SRMP (SOAP Reliable Messaging Protocol), and SRMPS (SOAP Reliable Messaging Protocol Secure). Each of the transfer protocols translates addresses slightly differently.

For a given net.msmq address, we'll first check the transfer protocol. If the transfer protocol is SRMP or SRMPS, then the MSMQ address is going to be a direct address. The only difference between SRMP and SRMPS is that SRMP uses the http scheme while SRMPS uses the https scheme. The MSMQ address produced from net.msmq://hostname:port/queuename is DIRECT=http://hostname:port/msmq/queuename. Having a port is optional, and this part of the address is omitted if no port is specified. A private queue name is written as private/queuename in net.msmq but translates to private$/queuename in the MSMQ address. It's illegal to include the dollar sign in a net.msmq address.

If the transfer protocol is native, then the MSMQ address is either going to be a GUID address or a direct address. A GUID address is created if the binding has been configured with UseActiveDirectory set to true. The GUID uniquely identifies the queue. Otherwise, the MSMQ address produced from net.msmq://hostname/queuename is DIRECT=OS:hostname\queuename. Unlike SRMP, a port is never specified with the native transfer protocol. Again, a private queue name is written as private/queuename in net.msmq but translates to private$\queuename in the MSMQ address. Finally, if the hostname is an IP address, then the resulting MSMQ address instead is DIRECT=TCP:hostname\queuename.

Next time: Attribute Driven Transactions


 
 

Things you can do from here:

 
 

Life Cycle Models: Introduction to Software Engineering part 2/10

 
 

Sent to you by Hudong via Google Reader:

 
 

via MSDN Blogs by SoCal Sam on Aug 28, 2007

Life Cycle Models

The typical development life cycle involves Envisioning planning, developing, stabilizing and deploying. The Capability Maturity Model Integration (CMMI) is based on the thought that process holds the people and technology together. Quality, Product/project cost and schedule are dependent on people, technology and processes[i].

For many students software engineering and what it does is an unknown. At this time it is important for the students to have a comprehensive experience. The learning examples in this module explain the CMMI Microsoft Solution Framework and how to apply Life Cycle to actual software processes, and how they apply to the Software Engineering.

Learning videos and examples:

CMMI templates are available on line:

Topics for discussion and investigations:

  • After working with the TFS 2008 overview, how does the tool utilize software engineering concepts?
  • Envision a simple project, for example, the creation of a morning meal, note down the sequence of events to create the meal.
  • Review the documents contained in the templates, determine which documents would be used to set-up the lifecycle and process for the envisioning projects.


 
 

Things you can do from here:

 
 

BB 10% or 12% off coupon best buy 8/29 - 9/5 in store

 
 

Sent to you by Hudong via Google Reader:

 
 

via Fatwallet.com Hot Deals on Aug 29, 2007

Rating: 13 Posted By: trainaholic
Views: 5662 Replies: 23

Coupon


Sign up, shop, and get paid with FatWallet Cash Back!


 
 

Things you can do from here:

 
 

Download LINQPad - a free LINQ query expression tool

 
 

Sent to you by Hudong via Google Reader:

 
 

via MSDN Blogs by llangit on Sep 04, 2007

In keeping with my current theme of "free and cool" stuff. Here's something else - LINQPad.

linqpad

Download LINQPad


 
 

Things you can do from here:

 
 

Troubleshooting W3WP Crash -StackOverFlow Exception

 
 

Sent to you by Hudong via Google Reader:

 
 

via MSDN Blogs by anismenon on Aug 30, 2007

Hello,

This time let us learn some tit bits on debugging. There are some great blogs out there which gives a lot of in-depth information on debugging. My main aim with this blog is to give an introduction to those who are very much new to debugging. .

In this blog I will try to explain how well we can troubleshoot Worker process Crash issues due to Stack Over flow exceptions.

Stack is usually allocated around 1 MB of space and if there is any recursive function or an infinite loop, it will eat up most of the stack ultimately causing stack over flow exceptions.

Setting up Windows Debugger

=========================

Go ahead and download windows Debugger from the site.

http://www.microsoft.com/whdc/devtools/debugging/default.mspx

By default it gets installed in C:\Program Files\Debugging Tools for Windows. Open Windbg à File àset the symbol file path as srv*C:\Symbols\Pub*http://msdl.microsoft.com/download/symbols.

Create a folder Symbols and a subfolder Pub under C:\, press ok and Save the work space. This folder is to store the publicly available symbols from Microsoft (http://msdl.microsoft.com/download/symbols)

Setting up Debug Diag to Capture Crash dumps

==========================================

Install the latest version of DebugDiag http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en

Configure DebugDiag to capture the memory dump when the ExitProcess or TerminateProcess command is called. This will ensure that we capture the memory dump when the faulting thread is terminating the process.

1. Open DebugDiag

2. On the Rules tab, click Add Rule

3. Select Crash and click Next

4. Select "All IIS Processes" and click Next

5. Under Advanced Settings, click Breakpoints

6. Click Add Breakpoint...

7. Select KERNEL32!ExitProcess and Kernel32!TerminateProcess .Change Action Type to Full UserDump

8. Click OK

9. Click Save and Close

10. Click Next through the rest of the wizard

Now whenever the crash occurs DebugDiag will capture the dump. By default it will be under C:\Program Files\DebugDiag\Logs\Crash rule for all IIS_COM+ related processes .

Make sure that you disable all the health monitoring settings in IIS Application pool to prevent the dumps getting generated due to a normal application pool recycle.

Once you have the dump load the same in Windbg. File -->Open Crash dump.

Type in the following command in the debugger to get the symbols files for all the loaded modules from the symbol file path

.reload /f --> reloading the modules (F is for forcing reload)

Once the debugger finishes downloading the symbols, open up C:\Symbols\Pub folder and you can see the Public symbols that got downloaded. From next time onwards debugger will be getting symbols from this cached location.

In order to run the commands and look through the dumps we need the SOS.dll which comes along with .Net Framework. Copy SOS.dl from C:\WINNT\Microsoft.NET\Framework\<Respective Version>\ and put it under C:\Program Files\Debugging Tools for Windows folder.

For getting help on the commands available in SOS.dll type !help on the debugger window . You will be able to see the list of commands available. If you need further help on any command type in !help <Command Name> Eg :- !help eeheap

Now to look at the threads type in !threads.

image

We can see that thread 14 is the one which has caused the stack over flow exception.

We are thread 0 now. To move to thread 14 type ~14s . To see the native call stack type kpn

image

You can see that the dump got generated due to Kernel32!Terminate Process.

To see the Managed stack type !clrstack

image

We can see that a function UserLogin() is getting called recursively which us causing the stack to overflow. Now let us try getting more details on the function such as the module and assembly name from which this function gets called.

Select a Code adress (Second column) from the above stack and type in !ip2md 02575e3a

image

We can see the module name(02207a80), type in !dumpmodule to dump out the module information

image

You can see that the UserLogin() function is getting called from the assembly App_Web_itzw09g-.dll

You can dump out the module information using lmvm command

image

Save the assembly to local disc using the command !savemodule App_Web_itzw09g_ c:\Assembly.dll and use reflector to get the function details.

Download Reflector

http://www.aisto.com/Roeder/Frontier/Default.aspx?PermaLink=53

Pass your comments to know whether this blog was helpful.....

So till next time..Bye bye...

Ref:- http://support.microsoft.com/kb/892277


 
 

Things you can do from here:

 
 

Free Full Version Games: Command And Conquer Gold Edition, Tom Clancy Ghost Recon, Far Cry, Prince Of Persia SandsofTime

 
 

Sent to you by Hudong via Google Reader:

 
 

via Fatwallet.com Hot Deals on Sep 01, 2007

Rating: 79 Posted By: Deal2Deal
Views: 18394 Replies: 91

from SD...

Thread Rating: Votes: 60 Score: 60

Free Command and Conquer Gold Edition PC Download

Thanks largely to the efforts of our loyal fans whom continue to sustain and grow the Command & Conquer community, Command & Conquer has become a legendary franchise and its time to celebrate its birth once again.

In order to give back to the fans for over 12 years of devotion we are putting together a 12th Anniversary celebration during the month of September. However, as any Command & Conquer fan knows, the true party starts today, August 31st, which marks 12 years since Command & Conquer Gold launched way back in 1995.

To kick the celebration off, today we have a special surprise which we are certain new and old Command & Conquer fans will enjoy. We are providing the original Command & Conquer Gold as a free download, compatible for Windows XP! This is the same version included with the collectors pack Command & Conquer: The First Decade, and is now available for you to download for free!

We are providing the ISO image of C&C GOLD for both the GDI and Nod discs. In order for C&C GOLD to run on Windows XP, you will need to burn the ISO image onto a CD with a CD Burner and any "CD Burning Software" such as Nero, Alcohol, etc. There are also a few extra steps in order to make C&C GOLD run on Windows XP after you burn it to CD. Please click the link below for the exact instructions after you download both files!

Link to download page

Note that there may be more freebies to come at this link as EA says:

"Continuing on in the month of September, be sure to keep your eyes right here on our official site at www.commandandconquer.com each week as we plan to celebrate and remember 12 years of Command & Conquer in a number of different ways."

also from SD...

Fileplanet is offering a few full version games for a free download as well. These games, unlike C&C are ad-sponsored. Thanks Libertarian [Discuss]
Available titles:

* Tom Clancy's Ghost Recon
* Prince of Persia: Sands of Time
* Far Cry
* Rayman Raving Rabbids

Alternate download links no registration, no waiting

Far Cry - ad sponsored

Far Cry

Prince of Persia: Sands of Time - ad sponsored

Prince of Persia

Rayman Raving Rabbids - ad sponsored

Rayman Raving Rabbids

Tom Clancy's Ghost Recon - ad sponsored

Ghost Recon


-You can install the virtual clone drive (http://www.slysoft.com/en/virtual...drive.html) and mount the ISO files directly to it, this way you won't have to burn them on CD.

-- or you can use Alcohol 120% to run the iso as a clone drive (http://www.alcohol-soft.com/) great program.

- Or use Daemon Tools to mount the .iso to a virtual drive.

- Freeware program ISO Recorder makes it easy to burn, copy, and create disc images (CD or DVD) in Windows. - http://isorecorder.alexfeinman.co...corder.htm - 360KB size

Edit by Moderator: Thank you for your participation. Please note that there is also discussion about this topic Here.


Sign up, shop, and get paid with FatWallet Cash Back!


 
 

Things you can do from here:

 
 

Diaper.com save $5

 
 

Sent to you by Hudong via Google Reader:

 
 

via Fatwallet.com Hot Deals on Sep 04, 2007

Rating: -1 Posted By: smoochmd
Views: 134 Replies: 0

Use code: TANTUCO on your first order at 1800 diapers and get 5$ off. Free shipping on orders above $50. 5% Cash Back on orders $75 and above. 1% Cash Back from fat wallet... and 1$ Cash Back if you register and refer! How cool is that?


Sign up, shop, and get paid with FatWallet Cash Back!


 
 

Things you can do from here:

 
 

Design & Manufacturing

 
 

Sent to you by Hudong via Google Reader:

 
 

via MSDN Blogs by jezzsa on Sep 03, 2007

Just a recent observation. Agile vs. Formal processes in the context of factories - any confusion there?

It's pretty much a given these days in software engineering we accept that we have been misled over the last couple of decades into believing that software development should follow a manufacturing process (see from your own experience the evidence in past failed development projects). Manufacturing implies 'assembly' of predictable software solutions from well designed plans. (I am sure there are more formal definitions you can insert here). For new software development projects this approach obviously fails in practice because its not so easy to plan what you don't know about what will change in the near term future, and new developments require ample amounts of discovery, learning, design, research and prototyping - all of which you are suppose to squeeze-in for free, without impact, within fixed time and resource budgets of formal processes.

Formal processes work only in practice for a small number of organisations where the outcomes of the project are highly predictable at the start, the inputs tightly controlled and the resources highly tuned and available. You can find these in very few established software businesses where the products they build don't afford large unknown variance in scope/technology etc., and can actually be predicted pretty well.

Because software development businesses need to minimize risk, meet customer expectations and a changing requirements etc., you simply can't get away with saying to your customers "it will be ready when its ready" - and herein lies the rub, because in order to have any level of predictability, you need solid planning.

Formal processes and practices were based upon the fundamental assumption of manufacturing, that you could predict how long and how much cost, and what resources any development project would take. Which is part of the reason why its taken years (and much failure) to realise the basic assumption was incorrect for the majority of new development projects today. I don't know about you but I felt robbed! What were they smoking?

We, as software engineers, all knew this smelled to be broken somewhere, but no-one really had a practical alternative to push back to meet business goals until we decided to face the music of failure and agile was allowed to emerge - sometimes out of desperation. The beauty of agile of course is that it simply pays respect to the way most of us were actually trying to develop new software within the constraints of formal processes in the first place, and that puts the natural, empirical progress foremost.

We now, as an industry, accept superior agile processes and practices deal far better to the reality of creative new software development projects (although many organisations are sadly still to make this realization). But is agile the right process to use in all cases?

Isn't the predictable assembly of products, like in manufacturing, exactly the mantra of Software Factories? On the outside, there appears to be a disparity here - or is there?

It appears that we are saying "use factories to create your solutions". Which sounds like factories are implying to take us a step backwards again to formal practices. Is it any wonder the message is being confused?

If you or someone else came to a similar conclusion, you/they are not listening close enough, and must be confusing the case when to use software factories, and when not to use software factories to build software.

You never build a software factory for building a one-off solution from scratch, where you don't already know the solution domain from past experience.

The clarity here is this:

We definitely should be moving software development (as much that is already known) to a manufactured process - which is what factories are all about helping to do, and what the industry needs to move forward. Yes, so, this also means that you should use formal processes, with the factories as part of the solution, to build software in the future! But when we say this we mean that the formal process should be built around the use of factories to assemble the solution.

We are not saying, use formal processes to build your new, one-off solutions. No, for those you should be using agile processes, simply because these solutions are likely to be unique to you and unknown to you at the start (i.e. requires: discovery, learning, design, research prototyping etc).

So, no factories in the solution -> no predictability to the development of the solution -> no formal process -> use agile process.

But, if factories in the solutions -> high predictability in the development of the solution -> use formal process.

This will hold true only for the parts of the whole solution which the factories themselves create. For all other parts of the solution, i.e. the glue, that require discovery, learning, design, research etc, you should employ agile processes to manage that. (Which for most software factory created solutions should be the last 20-40% of the development considering the expectation that factories today can't create the entire solution, and that the solution will always require some level of manual customization).

Now, all this supports the fact that: you should be using agile processes to create your Software Factories themselves. Since you also won't know what they look like at the start and they also require much discovery, design, research and prototyping etc. You can treat a software factory building project as a one-off solution development project in this respect - since it will almost always be a one-off development project.

So, I find it kind of ironic, that whilst the industry, as a whole, is still moving us to agile development, software factories appear to be countering that by moving us back to formal development! Of course, you know better than to confuse the two different types of software development now - right?

In actual fact, if you understand this clearly now you will know that agile development (process) is used to help design and implement new, unknown solutions to meet changing requirements. Whereas, Software Factories (tool) are used to help manufacture existing solutions, each with similar requirements.


 
 

Things you can do from here:

 
 

Picross DS - FAQ/Puzzle Solutions (ZIP)

 
 

Sent to you by Hudong via Google Reader:

 
 

via IGN Complete on Sep 03, 2007

Picross DS (DS)
Picross DS, Nintendo DS

 
 

Things you can do from here:

 
 

How to digitally sign a string

 
 

Sent to you by Hudong via Google Reader:

 
 

via MSDN Blogs by NicolD on Sep 03, 2007

The first step is to create a pair of key(pulic/private):

RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
string publicKey = RSA.ToXmlString(false);
string privateKey = RSA.ToXmlString(true);
Private key is required to sign the string. Public key is required to verify if the sign is valid or not.

Sequence required to create a sign is:

  • select a private key
  • select an HASH algorithm to create one starting from the string to sign (you'll sign the hash, not the string)
  • create a sign starting from the hash

As shown bellow:

RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
RSA.FromXmlString(privateKey);
RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter(RSA);
RSAFormatter.SetHashAlgorithm("SHA1");
SHA1Managed SHhash = new SHA1Managed();
byte[] SignedHashValue = RSAFormatter.CreateSignature( SHhash.ComputeHash(new UnicodeEncoding().GetBytes(stringToBeSigned)));
string signature = System.Convert.ToBase64String(SignedHashValue);
Sequence of operations needed to verify a signature is instead:
  • select the proper public key
  • select the HASH algorithm to create one starting from the string to be verified
  • veirfy the sign

as shown below:

RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
RSA.FromXmlString(publicKey);
RSAPKCS1SignatureDeformatter RSADeformatter = new RSAPKCS1SignatureDeformatter(RSA);
RSADeformatter.SetHashAlgorithm("SHA1");
SHA1Managed SHhash = new SHA1Managed();
if (RSADeformatter.VerifySignature(
SHhash.ComputeHash(new UnicodeEncoding().GetBytes(stringToBeVerified)),
System.Convert.FromBase64String(signature))
)
{
/// The signature is valid.
}
else
{
/// The signature is not valid.
}

 
 

Things you can do from here:

 
 

星期三, 八月 29, 2007

Product Line FeaturesDT Search, $160 per user may be cheap, but it's not as cheap as free lucene.

星期五, 八月 17, 2007

FRYS.com | LEXAR 4GB MSPD $39.99?

星期六, 八月 04, 2007

星期三, 七月 25, 2007

星期日, 七月 15, 2007

星期二, 七月 10, 2007

Qwest Redemptioncontact qwest to get $25 reward card which I should have received.

星期一, 六月 25, 2007

星期日, 六月 17, 2007

YouTube - Broadcast Yourself. zhang rui - mingming