Skip navigation.
Home
Openness protects your investment.

blogs

LinuxWorld Interview

OpenGroupware

LinuxWorld interviewed me recently concerning OpenGroupware.org. The interview is part of their "Spotlight on Open Source in business" series.

In A Nutshell

Regular visitors will know that I post strictly concerning technological issues; I've got little use for, or desire to be, a pundit of any kind at all. I have a firm belief in experts and on the great debates of our time I've got little or nothing original to add - not that I'd expect anyone to listen even if I did (Why would you? Who am I?). But I just couldn't resist posting a link to OOXML, looking forward. It is concerning Open Source, etc... so it isn't far off the mark of the usual content here, but it is more "big picture" then I usually indulge. Basically the gist of it is here:

But most importantly, it is a time for all of those strong advocates of open standards to stop talking, and start walking. I look forward for all that energy that went into discussing the pros and cons of OOXML to join an open source project and start contributing code, documentation, support, create support forums, file good bug reports and help us make free and open source software better.

The world as a whole could do with less talk. I suppose this applies to almost every conceivable realm from priests and politicians all the way down to the lowly coder. But it is the one thing I can think of that simply can't be said often enough: less talk, more do.

Ok, thank you for that minute, I now yield the podium to the next gas bag.

The NetGear GS716T

I've recently worked with a pair of NetGear GS716T switches and want to warn everyone off from buying these switches. While the price is pretty low and performance is very good, the feature-set is entirely bogus. NetGear advertises these as "smart" switches with VLAN, SNMP, etc... Only all these features are useless as the web interface to configure the switch simply doesn't work and no command line interface (via either telnet or SSH) is provided. If you attempt to configure the switch from FireFox you will be constantly prompted for the password, and you can't actually get past that to make any configuration changes. On the other hand, if you use IE6 you can sign in to the switch but the interface is extremely unstable. On one switch I was unable to even set an IP address, upon clicking "Apply" it would close the browser and revert to using the address it acquired via DHCP. On the other switch it took the IP address but attempting to configure port based VLANs resulted in erratic behavior ranging from hanging, to displaying raw HTML, to renaming all the other VLANs and removing all the ports assigned to other VLANs. The administrative interface of the NetGear GS716T is simply unacceptable; NetGear has clearly not performed even a minimum of quality-control or testing on the GS716T.

TurbOGo & HordOGo

OpenGroupware | PHP

In October 2006 I wrote a simple Turba driver that used POGI to provide an OpenGroupware address source to the Horde application suite. I'm now working on HordOGo which will provide real integration with Horde. Hopefully HordOGo will eventually be accepted into the Horde trunk and bring OpenGroupware support on equal footing with Kolab.

OGo & PostgreSQL 8.3

OpenGroupware | PostgreSQL

PostgreSQL 8.3 not longer performs automatic casting of INT to TEXT when INTs are compared to character types. This change is documented in the release notes. This change causes a database exception to occur in OpenGroupare's ACL processing. The specific error is:

ERROR: IN types character varying and integer cannot be matched

ACL queries like the following cause the exception because they contain a condition that compares string value to an array of integers: auth_id IN ( 9981, 9991,... where auth_id is a VARCHAR(255) value.

Jabber-NET 1.0 Release!

dot NET | XMPP

The Jabber-Net project has finally [and rather amazingly if you know the jumbled history of this project] issued a release 1.0 announcement. Lots of great new features including DNS SRV as well as GSSAPI support. License is either GPL or JOSL.

Cyrus IMAP and the Ampersand ("&")

cyrus

An interesting thread has occurred on the Cyrus IMAPd mailing list regarding the lowly ampersand. Apparently in the encoding used by IMAP (a "modified UTF-7 encoding") the ampersand ("&") requires escaping. So it works fine to have subfolders whose name contains an ampersand as IMAP clients, of course, use the appropriate IMAP encoding. But if your username (internally the name of your INBOX) contains an ampersand you can run into trouble. this is because when the existence of the INBOX is checked the authentication request isn't necessarily encoded in the same way. So if you use an IMAP server user names should be kept in conformance with the IMAP encoding, or more simply, stick with the GOODCHARS defined in Cyrus' mboxname.c

Improvement to SOPE's PostgreSQL Adaptor

OpenGroupware | PostgreSQL

Do you have lots of errors like:

Feb 17 20:39:28 ogo-zidestore-1.5 [14569]: ERROR(+[NSCalendarDate(PostgreSQL72Values) valueFromCString:length:postgreSQLType:attribute:adaptorChannel:]): unexpected string '2007-03-13 15:38:41.420456+00' for date type 'DATE', returning now (expected format: '2001-07-26 14:00:00+02')

in your ZideStore error log? This is because the time & date parser in SOPE's PostreSQL adaptor didn't understand the milliseconds portion of the value. As of SOPE r1601 this should be corrected. SOPE now just ignores the millisecond value. See the diff for details.

LINQ Provider for db4o

dot NET

Jb Evain has created LINQ provider for db4o. This could be potentially great for db4o developers as LINQ is [finally] an answer to the infernal "foreach...if". It is also a great example of the power of extension methods. These days it seems like every time I wish C# could do X, then an article about how X is already available magically appears on monologue.

SASL Failure with jabber-net

dot NET | XMPP

When using the jabber-net assembly a SASL failure doesn't invoke OnAuthError as one would intuitively expect; SASL failures invoke the generic OnError method with a jabber.connection.sasl.SASLException. Just an interesting bit of trivia to avoid a potential gotcha.

XML feed