A CLSID is a globally unique identifier that identifies a COM class object.
From Azure Autoscaling to Next Gen Desktop Development not Forgetting Firmware on the Way
Wednesday, 27 March 2013
Thursday, 21 March 2013
Debugging Multithreaded C# Applications
You need:
Debug -> Windows -> Threads.
Note that the Threads Debug window is not available in Visual Studio Express Edition.
Debug -> Windows -> Threads.
Note that the Threads Debug window is not available in Visual Studio Express Edition.
Does Python have any place in the .NET programming maelstrom?
Good for prototyping on paper; reasoning things out - especially very complex or mathematical algorithms - good short and clear syntax. Best language for algorithm expression. But for mainstream development, stick to C# (or C++ for specific purposes).
System.Threading.ManualResetEvents
Implement blocking waits
Used to notify one or more threads that an event has occurred.
WaitOne(timespan) - blocks current thread until it receives a signal within the timeout interval.
Used to notify one or more threads that an event has occurred.
WaitOne(timespan) - blocks current thread until it receives a signal within the timeout interval.
Resharper and Visual Studio Shortcuts
Find Usages
What's the FASTEST way to do "Find Usages" in Visual Studio?
Shift F12 (Resharper)
Cntrl-K Cntrl-R (Visual Studio shortcut)
MSVC shortcut is quicker. You can type: Cntrl K and Cntrl R, or just Cntrl-K-R (3 keypresses).
Go to next member
Alt-UP, Alt-DOWN (Resharper)
Find Type
Cntrl-T (Resharper)
Find File or Folder
Cntrl-Shift-T (Resharper)
Duplicate a Line
Cntrl-D
What's the FASTEST way to do "Find Usages" in Visual Studio?
Shift F12 (Resharper)
Cntrl-K Cntrl-R (Visual Studio shortcut)
MSVC shortcut is quicker. You can type: Cntrl K and Cntrl R, or just Cntrl-K-R (3 keypresses).
Go to next member
Alt-UP, Alt-DOWN (Resharper)
Find Type
Cntrl-T (Resharper)
Find File or Folder
Cntrl-Shift-T (Resharper)
Duplicate a Line
Cntrl-D
Tuesday, 19 March 2013
IIS 7s Managed Module Architecture
IIS 7 (and above) has its functionality divided into managed modules (a.k.a. assemblies). The assembly can contain .NET code or Win32 code ("native code"). Functionality can be extended by creating custom managed modules.
The Future of ISAPI in IIS version 7.0 and Above
ASP.NET applications now run completely in IIS 7.0 without using ISAPI extensions that run in an "ISAPI process" - although this is still supported when running a web application in "Classic Mode" (rather than "integrated pipeline" mode). "Classic Mode" can be used for compatibility with older applications.
Good Books to learn Microsoft Web Technology
"ASP in a Nutshell" (published in 2000 by O'Reilly) is a good introduction to the "pre-.NET" web programming era. Certainly it is worth reading just to know the concepts that led to more fancy ASP.NET and all the other technologies that followed.
"Professional IIS 7.0" (published in 2008 by Wrox) is an awesome introduction to the new features in IIS 7.0 and what sets this ground-up rewrite apart from previous versions of Microsoft's flagship web server product.
"Professional IIS 7.0" (published in 2008 by Wrox) is an awesome introduction to the new features in IIS 7.0 and what sets this ground-up rewrite apart from previous versions of Microsoft's flagship web server product.
Building Better IIS Servers using ISAPI Filters
What are they used for?
ISAPI Filters are simply DLLs (ISAPI stands for Internet Server API - Microsoft's answer to CGI applications).
How are they written?
ISAPI Filters are used to modify and expand the functionality of IIS. Both ISAPI filters and extensions are developed in C++.
How do they work?
Suppose you have an HTTP transaction between the browser and IIS. Several events may be generated in this process. Some of the these events may be subscribed to by "filters". Filters will be applied in the order of priority. If the event relates to the filter, IIS knows that it has to invoke the HttpFilterProc entry point. The filter can then do some custom processing.
Notable Examples
ASP technology is implemented as an ISAPI filter (DLL that gets loaded up into the same memory space as IIS).
Related Tangent: What EXACTLY do we mean by CGI? CGI stands for Common Gateway Interface. It's a method for for web server software to delegate generation of web content to executable files. A variation called FastCGI is implemented by a number of web servers such as Apache, Cherokee and IIS.
ISAPI Filters are simply DLLs (ISAPI stands for Internet Server API - Microsoft's answer to CGI applications).
How are they written?
ISAPI Filters are used to modify and expand the functionality of IIS. Both ISAPI filters and extensions are developed in C++.
How do they work?
Suppose you have an HTTP transaction between the browser and IIS. Several events may be generated in this process. Some of the these events may be subscribed to by "filters". Filters will be applied in the order of priority. If the event relates to the filter, IIS knows that it has to invoke the HttpFilterProc entry point. The filter can then do some custom processing.
Notable Examples
ASP technology is implemented as an ISAPI filter (DLL that gets loaded up into the same memory space as IIS).
Related Tangent: What EXACTLY do we mean by CGI? CGI stands for Common Gateway Interface. It's a method for for web server software to delegate generation of web content to executable files. A variation called FastCGI is implemented by a number of web servers such as Apache, Cherokee and IIS.
Saturday, 16 March 2013
BITS, BFE and other "Standard" Windows Services
BITS is a Windows service, that stands for Background Intelligent Transfer Service. This helps to transfer files in the background using idle network bandwidth. It is used by Windows update and Internet Explorer.
BFE is the Base Filtering Engine which manages firewall and IPsec (Internet Protocol security) policies. Stopping or disabling the BFE service will significantly reduce system security.
Related Tangent: What is IPsec? It's a suite of protocols for authenticating and encrypting information at the IP packet level. Developed in conjunction with IPv6. Its major application is in Virtual Private Networks.
BFE is the Base Filtering Engine which manages firewall and IPsec (Internet Protocol security) policies. Stopping or disabling the BFE service will significantly reduce system security.
Related Tangent: What is IPsec? It's a suite of protocols for authenticating and encrypting information at the IP packet level. Developed in conjunction with IPv6. Its major application is in Virtual Private Networks.
IIS_WPG Group
The IIS_WPG user group is new in IIS 6.0. This provides the minimum set of privileges and permissions needed to start a worker process on a web server.
If a worker process is not in the IIS_WPG group, or have the equivalent permissions, that process will not start.
If a worker process is not in the IIS_WPG group, or have the equivalent permissions, that process will not start.
Tuesday, 12 March 2013
NTFS Debunked
It's been a while since Windows Joe talked about NTFS. Today, "Win-Joe" debunks the complex jargon surrounding this file system technology.
The NTFS technology was preceded by a system called FAT (File Allocation Table).
You need this to understand output from CHKDSK (outputs file system integrity status).
USN JOURNAL
Update Sequence Number Journal. Records changes on NTFS volumes.
The above must be explained. NTFS is a journaling file system which means changes are recorded in a journal (typically a circular log in a dedicated area of the file system).
The NTFS technology was preceded by a system called FAT (File Allocation Table).
You need this to understand output from CHKDSK (outputs file system integrity status).
USN JOURNAL
Update Sequence Number Journal. Records changes on NTFS volumes.
The above must be explained. NTFS is a journaling file system which means changes are recorded in a journal (typically a circular log in a dedicated area of the file system).
Sunday, 10 March 2013
Chemical Processes as Analogies for Software Design
We analyse two physical/chemical processes as useful idiomatic templates for programming.
Decanting
Filtration e.g. filter paper -> semi-permeable membrane placed perpendicular to liquid or air flow. Tea bags are also filters.
Decanting
Filtration e.g. filter paper -> semi-permeable membrane placed perpendicular to liquid or air flow. Tea bags are also filters.
Subscribe to:
Posts (Atom)