.NET PE32 File Format

The file format for CLI components is a strict extension of the current Portable Executable (PE) file format. This extended PE32 format enables the operating system to recognize runtime images, accommodates code emitted as CIL or native code, and accommodates runtime metadata as an integral part of the emitted code. The following picture shows theContinue reading “.NET PE32 File Format”

.NET Garbage Collection

The CLR comes in two builds. A workstation build and a server build. As the name indicates, a workstation build is for single CPU workstations while a server build is for multi-CPU machines. No matter how many CPU’s there are on a machine, the default build is always workstation build. If you are running theContinue reading “.NET Garbage Collection”

.NET Metadata

.NET uses metadata to describe and reference the types defined by the CTS. Metadata is stored in a way that is independent of any programming language. Thus, metadata provides a common interchange mechanism for use between tools. Metadata is a collection of heaps and hyper-normalized database tables. The tables consist of types and their membersContinue reading “.NET Metadata”

.NET Just in Time Compiler and Memory Layout

The CLR executes only unmanaged machine code. The first time a method is called, the CIL for that method must be verified and compiled by the JIT compiler. If what the CIL does is not safe, a VerificationException is thrown. Some of the benefits of a JIT compiler are: Locality of reference. There is aContinue reading “.NET Just in Time Compiler and Memory Layout”

Benefits of .NET

Some of the benefits of the .NET platform is multi-language design, metadata, code access security, scalable web-services, xcopy deployment/zero impact install, and increased developer productivity. Some other benefits are: Interoperability of assemblies that are made by different programming languages that are all running on .NET. So, a C# assembly could use an assembly made withContinue reading “Benefits of .NET”

What is .NET?

.NET is a Microsoft initiated set of ECMA standardized technologies commonly referred to as the Common Language Infrastructure (CLI). The specification consists of six partitions. Partition I: Concepts and Architecture, Partition II: Metadata Definition and Semantics, Partition III: CIL Instruction Set, Partition IV: Profiles and Libraries, Partition V: Binary Formats and Partition VI: Annexes. TheContinue reading “What is .NET?”

CMPlayer macOS Release

If you have your own music collection on your mac or on a mounted drive, then CMPlayer is for you. The CMPlayer software runs on macOS as a console application. CMPlayer is a different kind of music player. It can run continually, selecting songs at random from the entire music collection, or from a searchContinue reading “CMPlayer macOS Release”

Synergi LINQ Provider Prototype

The last two weeks I have been working on a LINQ provider for Synergi. LINQ is a very nice and useful mechanism for extracting data from any type of data store. When creating a LINQ provider there are some hurdles to overcome. Once you get an understanding of IQueryProvider, IOrderedQueryable<T> and the ExpressionVisitor abstract class,Continue reading “Synergi LINQ Provider Prototype”

Syndication Library

Back in 2004 I created a syndication library for consuming and creating RSS/RDF/ATOM feeds. This library has been lying around for many years and I finally decided to make it public by making it downloadable from my homepage This blog post will show some code examples and explain a little about how to use theContinue reading “Syndication Library”