Blog

On my Blog I comment on a variety of topics including technology, programming, .NET philosophy and more. Please feel free to comment on any post.

Developer Extensions Privacy Policy

Thank you for choosing Developer Extensions from SOLBERG IT SOFTWARE. Before installing and using the software be aware that all software has bugs. To that effect Developer Extensions is no exception. You hereby understand that the software might have bugs and accept that. SOLBERG IT SOFTWARE and our product Developer Extensions do not track, spy…

Linux: Is Keyboard Rootkitted

I created a keyboard rootkitted detector that consist of a Linux Loadable Kernel Module (LKM), a /proc/is-kbd-rkt file and a simple app that outputs the result. The app looks something like this: In order to try it out you first need: to have installed g++, gcc and make and need to have the linux-headers-`uname -r`…

Linux: ccat

The ccat command I created for Linux – written in Pascal – types files to screen like the cat command does, except it runs the files through a color filter. An example of the output for a small XML file and a small Pascal file is shown below. In order to try out ccat you…

.NET Code Access Security

Code Access Security is a CLR security system that is independent of the host system. It bases its security upon code and where the code comes from. Not who is running the code. So, privileges are given to code not users. It begins with what is called host evidence. When the CLR loader loads an…

.NET Threading and Tasks

Since creating and destroying threads is a costly set of operations, the CLR manages its own thread pool. There is one CLR thread pool per CLR. So if there is multiple versions of the CLR loaded in a process there are multiple CLR thread pools. Initially there are no threads in this thread pool. As…

.NET Language Integrated Query (LINQ)

As of C# 3.0 we have had a standard way of querying data through Language Integrated Query or LINQ for short. C# 3.0 introduces its query language as a first-class citizen. The querying are type checked by the C# compiler. C# 3.0 also introduced things like lamda expressions and extension methods et. al. Both of…

.NET and Component Services (COM+)

Running out of resources can be a big problem for distributed systems. Handling a large number of requests from a few clients may work but handling a few requests from a large number of clients is a big problem. We simply do not have the resources, like database connections, to handle the load. COM+ is…

.NET Weak and Strong References

When it comes to garbage collection there are weak references and strong references. When a root points to an object in managed heap, a strong reference exists. A weak reference is actually its own type; WeakReference. A WeakReference allows the garbage collector to collect the object, but also to let it be accessed. It all…

.NET Boxing and Unboxing

Value types have smaller memory footprint since they are not allocated on the managed heap, and as such does not have the additional fields – sync block index and type handle – and no reference to the field exists. Also not being a reference type, it does not get garbage collected. However, value types can…

Loading…

Something went wrong. Please refresh the page and/or try again.


Follow My Blog

Get new content delivered directly to your inbox.

%d bloggers like this: