Thursday, September 30, 2004
Kesuda 31 Index : A good Gujarati site
Wednesday, September 29, 2004
DQ Top 20
Microsoft .NET Glossary
Blogs I Most Visit!!!
The EmuFAQ - Appendix C, Emulation Timeline-Birth Pains: Emulation Prehistory (1800 - 1961)
The My Hero Project - Augusta Ada Byron
The My Hero Project - Augusta Ada Byron
Ada Byron died one hundred and fifty years before the dawning of the computer revolution, but the theoretical work of this eccentric, dark-haired noblewoman would lay the foundations for the world's first computer program.
Ada Byron died one hundred and fifty years before the dawning of the computer revolution, but the theoretical work of this eccentric, dark-haired noblewoman would lay the foundations for the world's first computer program.
Tuesday, September 28, 2004
VJs Tip Of The Day :SoapInclude Attribute
This is from Vishal Joshi's dotnet tip on Dotnet User Group of Hyderabad
SoapInclude Attribute
In case of webservice programming you can allow SoapInclude Attribute on
your webmethod to make sure that the specific type gets passed by... You use
this attribute on your webmethod when in normal circumstances that type
would not get passed...
For instance, if you have a class inheriting for a base class and a member
is declared of the type base class and later instantiated as derieved, then
the derieved class will not get passed across in that scenario on your
webmethod you would apply this attribute...
Look at the example below...
XmlInclude(GetType(Circle))> _
Public Function ReturnSomething(ByVal key As String) As Shape
If (key = "Circle") Then
Dim circl As Shape = New Circle()
circl.area = 2
Return circl
End If
End Function
_
Public Class Shape
Public area As Double
End Class
_
Public Class Circle
Inherits Shape
Public radius As Double
End Class
Vishal Joshi
Microsoft MVP .Net
SoapInclude Attribute
In case of webservice programming you can allow SoapInclude Attribute on
your webmethod to make sure that the specific type gets passed by... You use
this attribute on your webmethod when in normal circumstances that type
would not get passed...
For instance, if you have a class inheriting for a base class and a member
is declared of the type base class and later instantiated as derieved, then
the derieved class will not get passed across in that scenario on your
webmethod you would apply this attribute...
Look at the example below...
XmlInclude(GetType(Circle))> _
Public Function ReturnSomething(ByVal key As String) As Shape
If (key = "Circle") Then
Dim circl As Shape = New Circle()
circl.area = 2
Return circl
End If
End Function
_
Public Class Shape
Public area As Double
End Class
_
Public Class Circle
Inherits Shape
Public radius As Double
End Class
Vishal Joshi
Microsoft MVP .Net
Friday, September 24, 2004
841927 - Do not use .NET Framework Class Libraries or other framework libraries in core operating system processes
.NET Framework Developer Center: .NET Internals: Examine Running Processes Using Both Managed and Unmanaged Code
.Net Stuff on OpenMyMind.net
Wednesday, September 22, 2004
UML basics: An introduction to the Unified Modeling Language
Read this article for a general overview of UML. First published in the June 2003 issue of The Rational Edge.
UML basics: An introduction to the Unified Modeling Language
UML basics: An introduction to the Unified Modeling Language
Monday, September 20, 2004
Distributed Component Object Model (DCOM) - Downloads, Specifications, Samples, Papers, and Resources for Microsoft DCOM
Distributed object infrastructures (InfoWorld)
DCOM,CORBA,Java-RMI - A Step by Step Comparison by Gopalan Suresh Raj
ActiveX, COM, and DCOM
Google Search: thread safe methods dotnet
Some fundamentals on thread safety:
I hesitate to jump in on this one since it needs a full treatise on what
threads are and how method calls are implemented but I will give you a very
brief overview.
Shared methods and instance methods are no different when it comes to how
they run or their thread safety (or lack thereof). A method is just the
address of some instructions to be executed by the CPU and calling a method
just involves placing some values(parameters) on the stack and then jumping
to that address. The only difference between a shared and an instance method
is that the first thing placed on the stack in an instance call is the
address of the instance, so that its data is available. All calls to shared
method A jump to the same address; all calls to instance method B on
different instances of a class jump to the same address but they have
different instance addresses put on the stack that point to the particular
object instance. Method code is never copied, whether shared or instance.
When a method is called on a particular thread the parameters are placed on
the thread's stack (each thread has it's own stack) and then execution jumps
to the first instruction of the method. If the thread is suspended and
another thread calls the same method it doesn't know anything about the
first thread it just goes ahead and puts the parameters on the stack and
jumps to the method's first instruction. But here's the key point - all the
parameters (and any local variables) are on two different stacks and all
references in the method to this data is relative to the threads' stack
pointers. So the separate threads can never access each others local data.
The only way there can be blocking is if a specific blocking instruction is
inserted in the method (such as a Monitor, etc.). So methods that only
access parameters and local variables are automatically thread safe
(provided, of course, that any methods they call out to are similarly thread
safe).
The problem comes when a method accesses module level data (whether shared
or instance data) in this case the address to the data could be the same on
both stacks and the threads would then be in danger of corrupting the data
depending on whether or no the address is written to and on the order the
instructions in the method are executed. This is where thread
synchronization methods need to be used.
There is no magic method to ensure thread safety each individual situation
can be significantly different. Also, it is dangerous to focus on making
methods thread safe, it isn't the method that needs to be thread safe but
the access to the module level data and this can, and usually does, involve
multiple methods. In addition, some methods you don't want to be thread safe
since it can impact performance.
Multi-threaded programming in .NET appears to be simple but anything beyond
the trivial requires significant research.
===========
I found all the above at following URL:
Google Search: thread safe methods dotnet
I hesitate to jump in on this one since it needs a full treatise on what
threads are and how method calls are implemented but I will give you a very
brief overview.
Shared methods and instance methods are no different when it comes to how
they run or their thread safety (or lack thereof). A method is just the
address of some instructions to be executed by the CPU and calling a method
just involves placing some values(parameters) on the stack and then jumping
to that address. The only difference between a shared and an instance method
is that the first thing placed on the stack in an instance call is the
address of the instance, so that its data is available. All calls to shared
method A jump to the same address; all calls to instance method B on
different instances of a class jump to the same address but they have
different instance addresses put on the stack that point to the particular
object instance. Method code is never copied, whether shared or instance.
When a method is called on a particular thread the parameters are placed on
the thread's stack (each thread has it's own stack) and then execution jumps
to the first instruction of the method. If the thread is suspended and
another thread calls the same method it doesn't know anything about the
first thread it just goes ahead and puts the parameters on the stack and
jumps to the method's first instruction. But here's the key point - all the
parameters (and any local variables) are on two different stacks and all
references in the method to this data is relative to the threads' stack
pointers. So the separate threads can never access each others local data.
The only way there can be blocking is if a specific blocking instruction is
inserted in the method (such as a Monitor, etc.). So methods that only
access parameters and local variables are automatically thread safe
(provided, of course, that any methods they call out to are similarly thread
safe).
The problem comes when a method accesses module level data (whether shared
or instance data) in this case the address to the data could be the same on
both stacks and the threads would then be in danger of corrupting the data
depending on whether or no the address is written to and on the order the
instructions in the method are executed. This is where thread
synchronization methods need to be used.
There is no magic method to ensure thread safety each individual situation
can be significantly different. Also, it is dangerous to focus on making
methods thread safe, it isn't the method that needs to be thread safe but
the access to the module level data and this can, and usually does, involve
multiple methods. In addition, some methods you don't want to be thread safe
since it can impact performance.
Multi-threaded programming in .NET appears to be simple but anything beyond
the trivial requires significant research.
===========
I found all the above at following URL:
Google Search: thread safe methods dotnet
Friday, September 17, 2004
A Few Good GC Links
.NET Architecture Center: Overview: Data on the Outside vs. Data on the Inside
Wednesday, September 15, 2004
cbrumme's WebLog
Apartments and Pumping in the CLR
Apartments and Pumping in the CLR: "at one point COM+ 1.0 was known internally as COM98 and the CLR was known internally as COM99"
Tuesday, September 14, 2004
A must read from 15 Seconds : HTTP Handlers and HTTP Modules in ASP.NET
Thursday, September 09, 2004
Type System Unification in .NET
Wednesday, September 08, 2004
Some Interview Questions Link!!!
1. http://www.techinterviews.com/index.php?p=51&more=1&c=1
2.
http://forums.aspfree.com/t19662/sa1cf91078c8e781da18ee32aaa70c54b.html
3. http://www.techinterviews.com/index.php?p=74&more=1&c=1
4. http://www.geocities.com/santhosh0123/faq/faqcsh.htm
1. http://www.techinterviews.com/index.php?p=51&more=1&c=1
2.
http://forums.aspfree.com/t19662/sa1cf91078c8e781da18ee32aaa70c54b.html
3. http://www.techinterviews.com/index.php?p=74&more=1&c=1
4. http://www.geocities.com/santhosh0123/faq/faqcsh.htm
Tuesday, September 07, 2004
Monday, September 06, 2004
The UML Class Diagram: Part 1
A Developer.com article
A Developer.com article