Windows Server 2003 Configuration

Of late I have been having fun supporting applications that were written for Windows 2000 as they are implemented on Windows Server 2003.

Windows Server 2003 is the first microsoft OS that actually takes security seriously.
By default everything is switched off and needs to be enabled. This has the minor drawback that all of the switches needed are not clearly documented plus the previously working configuration tools do not inform you that they have been disabled at a higher level.

For example you need to explicitly install IIS, COM+ and ASP.NET

On a new server 2003 you need to use Add/Remove Programs to install ASP.NET and IIS.

There is also the IIS Lockdown wizard to content with.

These new security features are great but need to be backed up with some serious, easy to find, clear documentation.

Don’t get me started on the lack of intelligable documentation for Active Directory. That has simply thousands of switches with incredibly vague names.

 

 

 

want and environment variables

Want is a delphi freindly build tool based upon ant.

It is useful for more than building delphi.

It is a small standalone exe that can be used to script tasks.

You can use %{MY_VAR} to access environemt variables.

This makes creating build scripts that work for more than one developer much easier. 

Usefull .NET 2.0 Features

I am studying C# 2.0 to get myself upto speed with .NET 2.0
I am reading “A Programmers Introduction to C# 2.0 – Apress”

There is a great new class in .NET 2:

System.Security.SecureString

 
This provides a  mutable string that is encrypted in memory.
This is ideal for passwords &c that need to be hidden for prying debuggers.

More C# Oddities

As a Delphi Developer learning C# there are a few very odd things to deal with:

  • The  final  line of a method  must be terminated  with a  ;
  • Why  does a  switch  statement require  a  break at  every stage?  There presence is enforced by the compiler – why bother?
  • Why can’t you call a class method on an instance?
  • Where are the meta classes?

Useful delphi TStream descendants

Delphi has a number of very useful stream classes.

They all derive from TStream.

The basic version is TFileStream – this writes to a filesystem.

There is also THandleStream – this writes to a windows handle – useful if you need to keep a file locked then write to it.

TStringStream is useful when dealing with delphi strings – especially when writing to another stream.

TBlobStream is used for accessing blob data from a database.

TResourceStream is used to read from embedded resources.

TMemoryStream that acts upon blocks of memory. 

There are also the adapter streams that takes another stream as a parameter.

 There is the TIStream that acts as a bridge between TStreams and the IStreams interface.

These include ZipStreams, EncryptionStreams, SocketStreams &c

These all take the approach that everything looks like a file this massively simplifys code.