Skip navigation.

Microsoft contributes to LGPL project for first time: ADOdb mssqlnative drivers #

Last week, I got an email from Garrett Serack, M'soft Open Source Community Developer. Microsoft have been kind enough to donate a set of ADOdb drivers for the new MSSQL Native Extension for PHP. You can download the extension here and the ADOdb drivers here.

Garrett also mentions that ADOdb is the first LGPL project that Microsoft has ever contributed to. I quote from his email to me:

ADODB is actually the first LGPL Open Source project that Microsoft has ever contributed to. 
We've got a dozen or so others lined up and ready to go to other open source PHP projects 
(GPL, BSD and others), But ADODB was the *FIRST*. You could say that contributing to ADODB 
is Microsoft going from zero to one.

We announced it at OSCON, (see the post at http://port25.technet.com/archive/2008/07/25/oscon2008.aspx )
along with Microsoft becoming a platinum sponsor of the Apache Software Foundation. Either of
these two steps is such a good move for Microsoft, and both together, is a good sign that the 
Company is learning.

Thanks Garrett.

PS: ADOdb is dual licensed as LGPL and BSD. Choose which license you want.

Perception is 99% of reality #

Jeff Atwood writes:

If you've used Windows Vista, you've probably noticed that Vista's file copy performance is noticeably worse than Windows XP. I know it's one of the first things I noticed. Here's the irony-- Vista's file copy is based on an improved algorithm and actually performs better in most cases than XP. So how come it seems so darn slow?

PS: Jeff adds that Vista SP1 has switched back to XP's algorithm. Duhh!

Octalpussy #

In my previous post I asked what would be the output of of the following numbers:

echo 09," => (09) <br>";
echo 9," => (9) <br>";

The answer is:

0 => (09)
9 => (9)

That's because any number preceded by 0 is treated as an octal number, and 9 is an invalid octal number. Octal numbers are base 8, e.g.:

Octal ValueDecimal Value
11
22
33
44
55
66
77
108
119

 

The silly thing is that hardly anyone uses octal nowadays, but it continues to be part of the C, C++, Java and PHP standards. The mistake is also very common. C-style languages pride themselves in their terse and minimalist syntax, but this is one scenario where a language design error was probably made. Perhaps 0c should have been used to represent octal in analogy to 0x for hexadecimal, but this suggestion is sadly 35 years too late. 0 for octal is too deeply imprinted in modern compiler DNA.

PS: Here's the mistaken ADOdb bug report that started it.