Friday, April 1

WinDroid announced!

In news just out today: Microsoft will be selling phones based on merging the best features of Windows Phone 7 with the Android Honeycomb, these phones will be produced by Nokia and sold under the moniker 'WinDroid'. Expect to see these phones ready for Christmas. Microsoft refused to be drawn on the rumours of a tablet version being readied.

They plan to use the marketing slogan: 'Powerful Action Is Now For Universal Locations'. The marketing slogan in part derives from the fact that Microsoft will be releasing the phone with multiple carriers in the United States, and also that the phone will be available world wide. However, it will be released in the USA a few months before Europe. The reaction of many industry observers was to wince, and say "Oh no, not again!".

Microsoft and Nokia must have listened to what Google had to say!

Wednesday, January 19

which is more open WebM or H.264?

There is a very useful article that goes into the different aspects of openness, as it relates to codecs - especial those associated with in WebM and H.264.

For both pragmatic reasons and idealism: Firefox and a lot of other browsers, use WebM rather than H.264.

Monday, January 17

Why Google is dropping support for H.264

Google is dropping support for H.264 in its Chrome browser, preferring to put more effort in free codecs like WebM, as Google sees that H.264 is licenced in a way that stifles innovation.

YouTube (owned by Google) is in the process of converting its contents to use WebM. If you want to access it now, you can join the testing phase. Firefox 4, due out in February, will fully support WebM as part of its HTML5 upgrade. There are a number of browsers already supporting WebM, and Google is planning to add WebM functionality to Safari and IE9. Note that Android, the operating system widely used in mobile phones, supports WebM from version 2.3 (Gingerbread) onwards - so Android 3.0 (Honeycomb) destined for tablets will also provide WebM functionality.

See also my more recent posting about for how the codecs vary in their 'openness'.

Problems with H.264/AVC/MPEG-4
While the MPEG LA announced that H.264 encoded internet video is free for end users to watch, people still have to pay large fees to create software that either encodes or decodes using the H.264 family of codecs. So the H.264 is not appropriate to be used in software under the General Public Licence (GPLv2 & GPLv3 – note that the Linux kernel uses the GPLv2 Licence), nor is it suitable for any software developed by people with limited budgets.

WebM advantages
Mainly that WebM is a high-quality, open video format for the web that is freely available to everyone – not just to use, but also to people writing software that either encodes or decodes using WebM codecs. So the WebM codec is fully compatible with both the spirit and technicalities of open source software licensing. Soon lots of hardware will support WebM natively, which will further reduce the initial advantages of H.264.

Sunday, November 21

Running Firefox for the truly paranoid

To have the safest browsing experience, you can run Firefox in a 'sandbox'.

But first you have to:

  1. install Fedora 14
    (not tested in Fedora 13)

  2. yum install policycoreutils-sandbox
    (this needed to supply '' )

  3. create a directory 'sehome' in your home directory(you can use a directory with a different name if you so wish)

The following article explains how run Firefox in a very secure environment:
Now, Firefox is pretty useless without network access. The good news is that you have sandbox types that allow for Web browsing. Here's what you want to run to get a Firefox session going:

sandbox -X -H sehome -T tmp -t sandbox_web_t firefox

Here you're adding two things — the -X option, which tells SELinux "hey, I want an X sandbox," and the type (-t) option which specifies a set of policies that offer the services (like networking) that Firefox needs to operate in a sane way.

Sunday, October 24

FSFE refutes BSA's false claims to European Commission

The Business Software Alliance (BSA) made false claims to the EU Commission, and the Free Software Alliance Europe (FSAE) has provided an analysis and appropriate counter-claims.

Note that you cannot freely give software away when people have to pay royalties to patent holders, nor is it possible to write non-trivial software without infringing one or more software patents (which are mostly held to be invalid anyway). However, it is impractical to check for all the patents and to go court to invalidate even ones that are obviously invalid - consider the time & money involved!

Also patents impede the spread of Linux which is covered by the General Public Licence (GPL)

A good source of information about software patents and the problems involved can be found in a page at Groklaw.

Note that googling for FSA lead me to a piece of FUD, claiming that the FSA (as in FSA Europe) was a fictitious organisation...

For example:
In its letter, the BSA argues that "[I]f the EU adopts a preference for royalty/patent-free specifications, this undermines the incentives that firms have to contribute leading-edge innovations to standardization - resulting in less innovative European specifications, and less competitive European products."

Actually this reflects a gross misconception of standards, their role and their working.

1. Zero-royalty licensing conditions do not prevent patented technologies to be included in standards. Rather the contributor is required to avoid imposing running royalties on implementations.
2. The single most successful technology platform on Earth, the Internet, is built on standards that have been made fully available under zero-royalty licensing conditions. Indeed the W3C, the standard setting organization (SSO) that governs the web standards has through consensus adopted a zero-royalty "IPR policy", where royalty bearing technologies are allowed to be contributed only on a very exceptional base. Rather than stifling inventive activity, as the BSA claims, this has turned the Internet into a hotbed of innovation. Indeed, it is the very nature of standards that they stabilise a platform on top of which competitors can create innovative and interoperable solutions1.
3. Contrary to the BSA's claim, zero-royalty patent licensing policies open up participation in software standard-setting to the widest possible group of market players and implementers. As a result, software standards coming out of standard-setting organisations with zero-royalty patent licensing policies such as the W3C have been widely adopted, with the HTML standard only being the most prominent example.

Tuesday, October 5

PostgreSQL 9.0.1 released fixing security, an infinite loop, and other issues

The source of PostgreSQL 9.0.1 can be downloaded now. Note that at the time of writing, it had not been formally announced.

The Release Notes include the following items:

Use a separate interpreter for each calling SQL userid in PL/Perl and PL/Tcl (Tom Lane)

This change prevents security problems that can be caused by subverting Perl or Tcl code that will be executed later in the same session under another SQL user identity [...]

Our thanks to Tim Bunce for pointing out this issue (CVE-2010-3433).


Prevent infinite loop in ProcessIncomingNotify() after unlistening (Jeff Davis)


Prevent show_session_authorization() from crashing within autovacuum processes (Tom Lane)


Monday, October 4

Making movies with open source software

The Blender crowd used the process of making a demo (called 'Sintel') of what Blender can do, to not only publicise the software, but as a good way to find ways to improve the software itself.

They are not claiming it is a brilliant movie, but it is definitely in advance of what they have done before. Not only that, but they make available everything needed to make the movie, and you are encouraged to modify it, or to make your own.

The movie Sintel has a home page, or you could watch it directly on youtube, and there are plenty of comments about it on Slashdot.

I know Blender is available for Linux based operating systems (such as Fedora), and they say it is available for all major operating systems.

Saturday, October 2

Oracle Loses its Lustre

There is more evidence that Oracle is not to be trusted with being in charge of an Open Source project: Oracle plans to stop distributing on of the main filing systems used for supercomputers, except as part of a commercial Oracle product.

Fortunately, there is a new startup supporting the continued development of Lustre for supercomputers in keeping with the established principles of Open Source,

The actions of Oracle may be legal, but certainly not ethical, nor a positive effect on their Good Will amongst the Open Source community of users and developers

Thursday, September 30

OpenSolaris lives on as illuminos

The key OpenSolaris people have banded together to form a new organisation to promote OpenSolaris under a new name 'illuminos', according to this posting.

Now I have never used OpenSolaris, nor do I intend to, though I admit to having used Solaris itself - because I very much prefer Linux. However, I feel strongly that Oracle has been very shabby in its dealings with the OpenSolaris folk. So I wish their new venture all the best. It would be much more boring if there was only one operating system, even if it was my favourite one - Vive La Difference! being replaced by LibreOffice

The arrogance of Oracle has more than just annoyed people.

The actions of Oracle: in ignoring their responsibilities to OpenSolaris, and casually shutting down the SPARC servers used for testing PostgreSQL without prior warning - sent a clear message that Oracle was not to be trusted to be in charge of any Open Source project.

Not to mention Oracle suing Google over their alleged misuse of Oracle's Java patents (I think Oracle is legally justified, but an action that will backfire, as it has done tremendous damage to people's willingness to use Java for future developments).

So a large number of companies, including Red Hat (who sponsor the free Fedora Linux distribution) and Google, have bandied together to set up a foundation to support the independent development of the '' code base under the banner 'LibreOffice'.

While Oracle has been invited to join the new foundation, I suspect that Larry's ego is too big to allow it (I hope I am wrong!).

Note that LibreOffice is for all the main operating systems, not just for Linux distributions. Community announces The Document Foundation
Oracle, who acquired assets as a result of its acquisition of Sun Microsystems, has been invited to become a member of the new Foundation, and donate the brand the community has grown during the past ten years. Pending this decision, the brand "LibreOffice" has been chosen for the software going forward.

The Document Foundation is the result of a collective effort by leading independent members of the former community, including several project leads and key members of the Community Council. It will be led initially by a Steering Committee of developers and national language projects managers. The Foundation aims to lower the barrier of adoption for both users and developers, to make LibreOffice the most accessible office suite ever.

The Foundation will coordinate and oversee the development of LibreOffice, which is available in beta version at the placeholder site: Developers are invited to join the project and contribute to the code in the new friendly and open environment, to shape the future of office productivity suites alongside contributors who translate, test, document, support, and promote the software.

Charles-H. Schultz of The Document Foundation Answers my Questions About LibreOffice
Update: H Online is reporting that "The major distributions, including Debian, Ubuntu, Fedora and SUSE, will ship with LibreOffice in preference to OpenOffice."

JavaOne was fun...
One of the more entertaining lines I heard was at a cocktail party held by some 3rd party partners. "We love the Oracle sales force!" (what?? surprised look on my face) "They're so nasty, their prices are so high, and their tactics so obnoxious that all we have to do is be credible and treat the customer with respect - then the deal is ours!". Yow.

Saturday, September 25

PostgreSQL, MySQL, & Oracle job trends

It appears that the number of jobs for PostgreSQL and MySQL are increasing at a fast rate, especially when compared to Oracle!

I am keep find reviews about PostgreSQL 9.0, and they overwhelming show how superior PostgreSQL is compared to MySQL in terms of both performance and reliability amongst other things. Also it seems that for some work loads, even at the enterprise level, PostgreSQL holds its own compared to Oracle in terms of performance. One company claims to have done hundreds of conversions from Oracle to PostgreSQL (presumably prior to PostgreSQL 9.0!).

Wednesday, September 22

Photographs of the Moon, processed by a New Zealander - UPDATED

I should have posted this to another blog about Science, with sometimes a New Zealand perspective.

So I have transferred the actual contents to the other blog.

- Sorry

PostgreSQL - comments on Slashdot

I was very surprised to find that all the Slashdot comments, rated 4 and 5, were very positive and knowledgeable about PostgreSQL. I knew that PostgreSQL was better than MySQL in lots of ways, but I was surprised to find the extent of the weaknesses in MySQL.

The second comment I quoted from Slashdot, goes into detail about the commitment the PostgreSQL development team have towards maintaining and increasing the performance of PostgreSQL.

One of the other comments,m said that PostgreSQL version 8.2 was benchmarked at only 15% less than Oracle! So it would be interesting to do the same benchmark with PostgreSQL version 9.0, as this version is significantly faster.
Re:Thank you! (Score:4, Informative)
by Anonymous Coward writes: on Tuesday September 21, @01:19PM (#33644378)

Thirded. There is absolutely no reason for anyone to be using MySQL any more other than the old silly excuse "my hosting provider doesn't have anything else". PostgreSQL is now faster than MySQL in all but the most trivial of contrived cases, doesn't require you to choose between table types for different load types, is just as easy to use and install, has all the features that MySQL has and runs on a Windows server (for those idiots who think that is a good thing). Also, the PG community is vastly more helpful and knowledgeable than the rabble that is the MySQL user base.

Finally, PostgreSQL is a proper independent open source project with a structure that all other open source projects should be judged by. MySQL has gone from hand to hand in the corporate world and has a future that is far from certain.
Re:As always... (Score:5, Interesting)
by greg1104 (461138) writes: Alter Relationship on Tuesday September 21, @03:27PM (#33645254) Homepage

You've got the performance part backwards for PostgreSQL; it goes up with every release, sometimes a little, sometimes in a big way. See PostgreSQL history [] for a comparison covering versions 8.0 to 8.4. The mild regression in 8.4 shown there is actually reversible; it's mainly because a query related parameter for how many statistics to collect and use for query planning was increased by default. That results in better plans for most real-world queries, but it detuned this trivial benchmark a little bit. You can get performance back to 8.3 levels just by turning the parameter back to the "optimized for trivial queries" default of the older versions if you care about that. Most people prefer the new default. In the real world, 8.4 is actually faster due to improved handling of background VACUUM tasks too, which don't show up in simple benchmarks either.

I'm the current lead architect on building a PostgreSQL Performance Farm [] to prevent regressions from popping into future versions of the code too. There is a recently completed beta client [] for that purpose. We're in the process of working out how to integrate into future development, starting with 9.1, so that potential regressions are spotted on a commit by commit basis. I haven't seen any performance regressions between 8.4 and 9.0, only moderate improvements overall and large ones in specific areas that were accelerated.

Now, if you use some of the new replication features aggressively, that can add some overhead to slow down the master. But that's true of most solution; the data coming off the master has to take up some time to generate. The way PostgreSQL 9.0 does it is is pretty low overhead, it just ships the changed blocks around. Theoretically some statement based solutions might have lower overhead, but they usually come with concerns about non-determinism on the slaves when replayed (random numbers, timestamps, and sequence numbers are common examples).

Given the non-disclosure terms of most of the closed source databases, nobody can publish benchmarks that include them without going through something like the TPC or SPEC process. The last time that was done in 2007, PostgreSQL 8.2 was about 15% slower than Oracle [] running the same database-heavy workload. And note that it was PostgreSQL 8.3 that had one of the larger performance increases, so that was from just before a large leap forward in PostgreSQL performance.

At this point, Oracle and most other commercial databases still have a large lead on some of the queries run in the heavier TPC-H benchmarks. Links to more details as to why are on the PostgreSQL wiki []. It just hasn't been a priority for development to accelerate all of the types of queries required to do well in that benchmark, and nobody so far has been willing to fund that or the subsequent certification via the TPC yet. Sun was the only one throwing money in that direction, and obviously the parts of that left within Oracle will no longer do so.

Tuesday, September 21

PostgreSQL 9.0.0 Miscellaneous

There is a good overview of the features of Postgres 9.0.0.

For the remaining Java developers, a new JDBC package has been released for PostgreSQL version 9.0.0.

Note that there is also now support for Python3 as a language for stored procedures.

There are at least a dozen different languages that can be used to write stored procedures in PostgreSQL 9.0.0, these are detailed here and here:
  1. C/C++
  2. Java
  3. Perl
  4. PgSQL (the 'default' procedural language)
  5. PHP
  6. Python (versions 2 & 3)
  7. R
  8. Ruby
  9. Scheme
  10. SQL
  11. Tcl
  12. Linux/Unix shell
And if you want to add others, then there is a mechanism for users to add additional ones.

Monday, September 20

PostgreSQL Version 9.0.0 has been released - Oracle beware!

Note that this release of PostgreSQL includes many substantive performance enhancements and features to improve management plus it has 2 key features that kept people using MySQL (which is now controlled by Oracle), such as streaming replication.

From the PostgreSQL 9.0.0 release notes:

Built-in replication based on log shipping. This advance consists of two features: Streaming Replication, allowing continuous archive (WAL) files to be streamed over a network connection to a standby server, and Hot Standby, allowing continuous archive standby servers to execute read-only queries. The net effect is to support a single master with multiple read-only slave servers.

Now PostgreSQL 9 is even faster than MySQL (even PostgreSQL 8.0 was significantly faster than MySQL, especially when ACID compliance was required, also in situations involving non-trivial queries and/or heavy concurrent transactional loads), and so much easier to manage.

I am assuming that people have competent DBA's who know how to implement databases for both reliability and high performance (like making use of the relevant features of each database, and tuning the configurations appropriately) . Not to mention that PostgreSQL is more cost effective than using Oracle for intensive workloads that MySQL could not handle efficiently.

PostgreSQL is very standards compliant, much more so than MySQL, with extensions compatible with the Oracle DBMS.

I think a lot of corporates will test using PostgreSQL 9.0.0 with the idea of going into converting production systems from MySQL and Oracle using PostgreSQL 9.1; my reasoning is that: corporates are likely to find corner cases that may not reveal themselves in developer testing, nor in the kinds of workloads that mere mortals like myself come across. It is interesting that there was an alpha released of PostgreSQL version 9.1, before the final release of version 9.0!

The release has now been formally announced, the source can be downloaded, and binary packages are also available

Converting to PostgreSQL is non-trival – so why bother?

In general, converting a production Database to another RDMS (Relational Database Management System) is never trivial, and a decision to convert should not be taken lightly.

MySQL to PostgreSQL
Since MySQL is very non-standard, there would be a lot of work converting to PostgreSQL. However, the factors that may encourage people to convert from MySQL to PostgreSQL include:
  1. vastly improved performance

  2. greater reliability

  3. ease of management

  4. fear of Oracle finding ways of extracting large fees from MySQL support
Oracle to PostgreSQL
I assume that Oracle has performance and reliability that is better than PostgreSQL, especially under intensive and very mission critical workloads (a friend of mine is an Oracle consultant). However, the impression I have, is that for a lot of enterprises, PostgreSQL is sufficiently adequate in these areas. I already know of conversions from Oracle to PostgreSQL version 8, so I expect more conversions now that PostgreSQL version 9 is available.

The reasons for converting from Oracle to PostgreSQL include:

  1. ease of management

  2. vastly cheaper licencing (the PostgreSQL licence costs nothing)

  3. don't need armies of expensive Oracle DBA's and consultants

  4. the source code is available, and you are legally allowed to modify it (important if you have non-standard mission critical requirements, and for tracking down elusive bugs)

Note that there are several organisations that provide extensive professional support for PostgreSQL. In NZ for example, there is Catalyst a company that has considerable expertise in using and supporting PostgreSQL.

I can also provide professional consultancy services relating to both PostgreSQL and MySQL.

Friday, April 16

IBM and its Linux contibution

IBM is a big multi-national corporation, yet it was able to learn how to exffectivel;y contribute to the Linux kernel. Here is a good description of how and why IBM was successful in this process, and the lessons learned.

"There is nothing that we can do to control individuals or communities, and if you try, you make thing worse," Frye told the audience. "What you need is influence. It goes back to the most important lesson, which is to give back to the community and develop expertise. You'll find that if your developers are working with a community, that over time they'll develop influence and that influence will allow you to get things done."
"We spent far too much time behind the IBM firewall, discussing things, and we tried to polish our external communications," Frye said. "So we banned internal IBM communication on the Linux kernel. Anyone working on the kernel at IBM was not allowed to talk to anyone else inside the company. All communications had to be external."

That effort led to IBM having more success in dealing with the community. In addition, IBM learned that it doesn't work to make large code donations, either. Frye stated that it's far more effective to start working inside of a community and then deliver incremental pieces of work.