BBC is releasing some open source projects
It makes perfect sense for a Public Service broadcaster to use open source.
It would be good to see if the uk government would follow suit.
Evangalism and DNR
They have had a large number of microsoft evangalists as guests talking about various topics.
However a recent show had an evangalist talking about evangalism.
Come on guys you can find better topics than this.
I got so annoyed that I decided to send in the Martians
Linux equivalents to Longhorn pillars
The major areas are:
- WinFX – Managed OO replacement for the Win32 api
- Avalon – vector graphics based UI expressable in XAML
- Indigo – communication stack (web services, remoting and some COM+)
- WinFS – The really long awaited meta-data aware filesystem
In the same timeframe the linux world has
- Mono – Open source implemnetation of .NET Framework
- Cairo – SVG based graphics ui
- Beagle – personal search tool to provide the benfits of WinFS
Mono is trying to investigate implementing Indigo. However this may have licencing issues.
C# Constructors
MyClass : MyAncestor
{
public MyClass(int Foo) : base(Foo + 1)
{
// implementation ommited
}
}
You can’t directly call the ancestor.
However you are allowed to make manipulations on the data.
You can even invoke static methods on the class that you are creating:
MyClass : MyAncestor
{
public MyClass(int Foo) : base(Bar(Foo))
{
// implementation ommited
}
static int Bar(int Foo)
{
return Foo + 1
}
}
This does allow a certain amount of flexibility.
However since static methods cannot be virtual you can’t quite reach the flexibility of Delphi.
Delphi would allow a virtual method to be called that can set values before the inherited constructor is called. This can be very useful in some situations.For example if the ancestor is creating a font you could have a descendant choose whether the font is bold.
AJAX and IFrames
It looks like I reinvented the wheel, and mine only fitted on Fords.
Last year I implemented something very similar (although IE only).
I had some status information that I needed to keep upto date on a web page but did not want the flicker associated with a refesh. So I added a 1 pixel IFrame with its own refresh interval. It used javascript and DHTML to update it’s parent frame with the new content. This looks exactly how AJAX works only it uses a http method to call and obtain an xml document.
It is amazing how things come around.
SQL Server Index Tuning : Experimental Black Art
It is great when you want to use it on a given query. It makes great suggestions very quikly.
It is slightly painful when you want to tune a stored procedure as a whole. Especially when it is large and can take several hours to run. I am trying to find what you actually need to put into a trace so that the index tuning wizard will accept it as a workfile. The documentation is useful as ever – it will only tell you what you need to know if you ask exactly the right question. Anything else will drown you in useless details of other features.
Useing web service without a web reference
The only thing that it fails to do is to recommend the creation of a descendant class to set the url.
This should be standard behaviour when dealing with autogenerated code – don’t touch it.
This allows the creation of a proxy that can have the url specified at run time.
This provides far better decoupling of the web service and gives the client the possiblility of choosing from a number of web service implementations.
GPL
“Microsoft do not dislike open source, they merely dislike the GPL”
There is some general misunderstanding about the GPL.
The general idea is that when you give or sell someone a GPL program then they should have the same rights as you do regarding the code. This would prevent vendor lockin. If you don’t like how a program works either you can change the program or pay someone to change it for you. The licence gives details on exactly what you must do.
Commercial licences come with conditions. Pay us and you can distribute exe’s built with this libarary or Pay us now and once for each installation. The GPL instaid has a pay-it-forward approach.
If you build a program for youself or your company and it include GPL code you do not have to give anyone the source unless you distribute the program outside of your organisation. This is a key step in understanding how most programmers could freely use GPL code.
The vast majority of programmers write code solely for the organisation that they work for.
Hobbyist programmers oftern write utilities for their own use. This means that they could freely use GPL code without ever breaking the licence or having to publish their code. They could freely choose to offer changes back to the project – which prevents them from having to reintegrate the change when the product is upgraded.
I am in the rarer set of programmers those whose programs go outside the organisation. We prefer to use MPL which only requires that changes to the MPL code be offered back to the project.