Ben Langhinrichs

May, 2007
SMTWTFS
  01 02 03 04 05
06 07 08 09 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Search the weblog





























Genii Weblog


Civility in critiquing the ideas of others is no vice. Rudeness in defending your own ideas is no virtue.


Thu 24 May 2007, 11:40 PM
It is two weeks since I posted the table of OOXML file types found by Google.  I was curious how the numbers have changed, so here is the updated file:

FormatCount (May 10, 2007)Count (May 24, 2007)
ODT85,20089,000
ODS20,70020,600
ODP43,40044,800
Total ODF149,300154,400



DOCX516 (12% on Microsoft.com)659 (15% on Microsoft.com)
XLSX68 (6% on Microsoft.com)95 (4% on Microsoft.com)
PPTX80 (13% on Microsoft.com)349 (56% on Microsoft.com)
Total OOXML664 (11% on Microsoft.com)1103 (27% on Microsoft.com)


I'm note sure how to read these results, but they certainly don't make a compelling case for OOXML acceptance.  Yes, there has been a 27% increase in the DOCX format, but with millions of customers using Office, fewer than 1000 DOCX documents is not overwhelming.  The PPTX numbers look like they are growing by leaps and bounds, but with over 50% on Microsoft's site, and even then just 349 presentations total, the numbers are pretty minimal.  The spreads sheets are lightly represented in both formats, and even went down for ODS format.

So, a person who wanted to show that OOXML was gaining would point out that after about fifty weeks of approximately 28% growth for DOCX, versus only 4.5% growth for ODT, there would be more DOCX documents.  A person who wanted to show that ODF is doing better would point out that percentage growth is unimportant or unreliable against such small numbers, and would point to the 439 new OOXML documents versus 5100 new ODF documents.  A person who was trying to stay impartial might shrug and suggest we check back in a year.  What do you think?

Copyright © 2007 Genii Software Ltd.

Thu 24 May 2007, 08:38 PM
Tim Anderson has an interesting post about Microsoft's security advisory 937696, which describes how Microsoft is advising users to force conversion between their older binary format documents and OOXML.  This may lead to more security, but it also will have the side effect, if organizations buy into it, of spreading OOXML much more quickly.  As Tim says:
Like Joe Wilcox, I can‘t help wondering whether it was this, rather than security, which has prompted this release.
It might help with PR problems such as wondering where all the OOXML documents are.

Copyright © 2007 Genii Software Ltd.

Thu 24 May 2007, 10:24 AM
Because Devin suggested it, and in honor of ILUG2007, I took the How Irish Are You? quiz.

You're 0% Irish
You're not Irish. Not even a wee bit.
Not even on St. Patrick's Day!


I still wish I were at ILUG2007, but I have a feeling I wouldn't fit in well.

Copyright © 2007 Genii Software Ltd.

Wed 23 May 2007, 04:07 PM
I have been programming in C (and C++ when classes were necessary and such) for a long, long time, and I am pretty used to the common gotchas.  Every C programmer runs into the equals sign mistake, where something like that below is used:

if (status = 3)

which sets the value of status to 3 and then evaluates to TRUE since any non-zero value is TRUE, instead of what was meant, which was 

if (status == 3)

which simply evaluates to TRUE or FALSE.  There are many similar issues, but I ran into one I don't ever remember seeing before, even though it was devilishly easy to create.

In a class, there is a boolean value called IsConnected.  In a method within that class, I frequently use the code:

if (this->IsConnected) 

to test that value, since this is the class object itself.  But in a recent interim version of CoexEdit, I accidentally wrote:

if (this-IsConnected) 

Now, if this had been any other pointer other than the current class object, such a mistake would likely show up as a syntax error, since there is no IsConnected local variable, but in this case, there is a local value for IsConnected.  In fact, it was 0, so the object was not connected, so:

if (this->IsConnected) 

would evaluate to FALSE.  But in this case, the wonderful world of pointer arithmetic in C reached out and bit me.  The construction

if (this-IsConnected) 

was perfectly valid, and simply subtracted zero from the pointer represented by this.  Of course, this meant that the statement always evaluated to TRUE, since, as I said before, every non-zero value is TRUE.  Ouch!  Easy to describe, easy to fix, but harder than you would think to figure out since my mind simply saw the construct it expected.

Just in case you think a software developer's life is always easy.

Copyright © 2007 Genii Software Ltd.

Tue 22 May 2007, 12:31 PM
I don't know where I was when these came out, but in case you missed them, they are very funny, and a bit warped.



(Via Bob Sutor)

Copyright © 2007 Genii Software Ltd.

Wed 16 May 2007, 08:58 AM
I wanted to apologize for any mixed messages I have given recently about CoexEdit 2.0.   We have a Gold preview version at a few customers, and it seems to be working well for some but causing odd crashes at one, and we are trying to determine whether they are really caused by the new version or by something else.  So, while we are happy to send a preview version of 2.0 to anybody who would like it, we can't release it just yet, despite the webpage indicating otherwise.

Copyright © 2007 Genii Software Ltd.