Showing posts with label Technology. Show all posts
Showing posts with label Technology. Show all posts

Friday, 1 October 2010

VMware Workstation 7.1.2 on Meerkat 10.10

You probably have noticed: VMware did it again.

They ship a new version, it offers update, downloads fine, installs with a breeze and
... zilch ...
crashes on restart.

vmmon and vsocks do not compile.

How many time does that have to happen?

Here is a patch:
patch-modules.sh
vmware-7.1-2.6.35-3-generic.patch

Download both. Then:
chmod u+x patch-modules.sh
sudo ./patch-modules.sh
This script will save the original driver tars, patch them and run the module installation script.

VMware Workstation should start fine.

Wednesday, 2 June 2010

iPod Nano 5G on Lucid

My daughter got an Apple iPod nano 5G (with camera) for her birthday. Naturally she wanted to put some music on it right away. We could see the iPod as a USB storage device, even transfer data and music. However, the iPod did not recognize the music and therefore could not play it.

Quick fix

To quickly get the iPod nano 5G to work with Ubuntu 10.04 you can either initalize it on a Windows or Apple PC using iTunes. You only need to copy one piece of music onto the iPod.

After this, the iPods local database for music is initialized.

Use Rhythmbox or gtkpod to transfer music to and from the iPod.

If you don't have a Mac or PC available, go to the store and ask the clerk to initialize the iPod for you (Tell them you don't need iTunes only afterwards ;-))

TechnoExplain

iPod uses a local SqLite database to store meta information about music. It gets updated when synced by iTunes. Music is stored in a subfolder /iPod_Control/Music/fxx where xx is a number starting from 00. Rhythmbox stores music correctly in the directory but does not get the last part correct (fxx). Only when the iTunedDB is initialized can Rhythmbox store music in any of the prepared directory. The iPod finds the music and is able to play it.

Saturday, 16 January 2010

Could Canonical care less?

Happy new year,

I ask myself, is it happy really? After installing 9.10 on most of my machines last year, I run into every little error that one can imagine:
  • Left mouse button constantly not recognized (requires restart of GNOME)
  • Fan operates at full speed (acpi reports hot components even though machine is quite cool)
  • Suspend to RAM takes for ages (3 minutes fan runs on full speed, machines does ... what exactly does it?)
  • Resume from suspend brings the machine to sleep (have to wake it up again) every second sleep
  • scanning with xsane does not work (scanner still not recognized)
  • printing large documents sends garbage to the printer (large documents being 1 page documents with one picture on it) which terminates with CRC errors
  • CUPS does not allow canceling and restart of print jobs. Requeue does not work either
  • burning CD images is not possible. Brasero eats raw CDs
  • OpenOffice does not honor screen settings (like font size). Every other launch, my menus and fonts are microscopic
  • OpenOffice screen updates provide spurious artefacts (some lines are drawn only half in height, tables are squeezed, images are cut in half). Page down and up usually resolves this
  • Launchpad does not accept errors being reported the conventional way. It requires to send error reports from the help menu
  • Evolution terminates when sending mails to distribution lists that contain members with quotation marks and without in the same list (no kidding you). Distribution lists cannot be edited if there are similar entries in the address book.
  • SD cards are not recognized or automounted on most notebooks
  • Screen resolution cannot be changed on notebook screens. External connectors do not allow to choose between screen duplication or extension any more
  • Battery charge lasts for less than two hours on my major notebook. The same notebook with an 8.10 image reports 4h36 minutes on a full power pack
What annoys me most is that all these issues used to work in previous versions. Some stopped working as early as 6.10, sime as late as 9.10.

Were they reported? YES

Were they fixed? NO

Linux a franchise system

In a franchise system you have an idea about a business. You buy into it, get the proceedings, marketing material and the right to pretend to be part of something bigger. Franchise systems are more or less stringent. In the end, you save on preparing the market and can start the business right away.

A Linux distribution is similar. You decide which distribution you want, install it and live with whatever you got. Take SuSE, get a green GUI and KDE as the engine. You get a load of applications, need it or not. Take Fedore, you get blue and can choose between desktop engine and apps. Take Ubuntu and you can be sure to end up in the brown.

Initially Ubuntu claimed to provide well selected best in breed applications.

I'm not sure this is the case anymore. Telepathy follows Pidgin, PiTiVi follows GIMP, ...

Does Canonical care?

I have read about initiatives at Canonical to reduce the number of open errors. At the time, I was delighted.

Today, I look back at times when errors where treated as what they are: ERRORS.

All of the above mentioned errors (name it issues, problems, shortcomings, what ever) where not there in previous releases. They were introduced as part of system upgrades.

I reported these errors only to have them change from new error to either incomplete (at best), triaged (whatever that means, usually an acronym for: we wont fix it), fixed (interesting, no new version issued), wishlist (printing is more a requirement than a wish for some of us) or next release (which usually comes with recomendations to install e.g. 10.4 pre-alpha).

Frankly: I do not think that Canonical cares any more.
Frankly: I think Canonical lost focus
Frankly: I think we should seriously evaluate alternatives

Could Canonical care less?

I don't think they could care less than they do right now. I wished some executives had the insight that this is neither going to help the open source community nor Linux nor Ubuntu nor Canonical in the long run.

Friday, 4 December 2009

Install HTC Sync on Windows

OK, this is not a Ubuntu issue but I thought it was worth sharing as it touches on Android usage.

If you have trouble installing HTC Sync on a Windows machine (specifically non English system language), here is a fix:
  1. Launch the MSI installer. You will run into a dialog that claims DPInst.exe can't find the drivers. In my case the system was a German Windows XP. Drivers were on the hard disk in the program folder path. Due to some hard coding of the access path in the installer, the MSI installer looks under
    C:\Program Files\HTC Sync\Drivers
  2. If this path is not available (as was on mine C:\Programme\HTC Sync\Drivers) you can temporarily create a folder
    C:\Program Files\HTC Sync\Drivers
    and copy the drivers into this path.
  3. Repeat the installation and be patient. The procedure will execute without errors.
  4. You can delete the temporary folder after the installation.

Alternatively you can create a link to the driver directory.

Hope this helps.

Sunday, 22 November 2009

VMware Workstation 7.0 works

Dedicated followers of this blog will remember my complaints about VMware never being able to provide a working installation.

After upgrading to Ubuntu 9.10 I had to reinstall VMware. 6.5.2 did not work, 6.5.3 required a trick to circumvent the hangup in the installation procedure.

Two days after getting 6.5.3 installed, my VMware Workstation informed me that there was a new update out. Should I bother going through another hour of nightmare? I read release notes, nothing special: Windows 7 gaming support at the most. Who needs that?

I was reluctant to install. Finally I got myself up to get it over and done with:

Surprise, surprise.

VMware Workstation took longer than any other installation before but it worked out of the box (or installer bundle).

One gets modest over times: Thank you VMware for providing a software that installs, works and performs. (in fact, this is how it should have been all along).

Saturday, 14 November 2009

HTC Hero with Android

During summer 2009 I had the chance to compare Apple's iPhone side by side to the then new HTC Hero runing Android. After reading so many positive articles I was curious.

Disappointing at first

The HTC Hero comes with a refurbished Android theme. Compared to the rather clumsy looking original, HTC's Sense theme is looks decent. But this is where my first impression left the enthusiastic path. Compared to the iPhone the HTC was no hero at all. It was slow, text entry was cumbersome and full of recognition errors. So I did not buy it then.

Coverage in the media suggested, this was just a problem with preliminary models.

10.000 apps available .. where?

I read this article comparing AppStore to the Android Market. Apple was supposed to offer well around 100.000 apps. Google claims to have more than 10.000's of apps in it's Market Place.

Let's face it: Neither has Apple any more than say 300+ apps that are worth mentioning nore has Google anything more than around 100. You get easily overwhelmed by round robin lists, betas, free evaluation copies and some me2 development templates. But this is nothing I would call a usefull app (please refrain from flaming me on this, I would hate to censor your comments. I do look forward to discussion though).

Second looks

So, why do I comment on Android, HTC and mobile Phones here?

I do see a huge potential in mobile communication. The iPhone currently is the linea ultima in mobile communication and personal assistance. Windows mobile never was a direct competitor but Google's Android has the potential to be a serious contender.

While Apple uses a strict policy of control, Google offers a more open approach. Developers are encouraged to develope for Android, there are several SDK's, plugins for IDE's (ok, I have my personal opinion about Eclipse) and offers lots of documentation and sample code.

All this makes it an opportunity for innovative solutions and development.

Where we are

While it is easy to geting started, most of this sample code enters Market Place by just being renamed (there are approximately 8 notepad apps derived from Googles Notepad app and only Googles version syncs with GDocs). This is unfortunate and tends to scare people away.

To prevent poor apps to be swamping the market place, Google offers a rating system from 0 to 5 stars. It might sound like a good idea, only the fittest apps will survive. Unfortunately the rating is slightly missleading. Personally I could not relate attributed stars to the quality of the program. I found some apps that were rated 5 stars and the comments suggested that the app crashes (which it did on my phone as well).

True Lies

Here are some myths about the HTC Hero:
  • The HTC Hero has a specially coated touch screen, that makes it look less smeared as other touch screens:
    The HTC Hero will have a special coating after 5 minutes of use. Before that, I can see nothing special about it.
  • The HTC Hero has a scrath proof screen:
    Mine hasn't. Mine had some scratches after 2 days of use (my Motorola RAZR v3 does not have any scratches after 3 years of use)
  • The HTC Hero comes with its own Interface, HTC Sense. It is vastly improved performance-wise:
    HTC Sense is a theme. It improves the looks of the shabby Android Interface a lot. Other than that, it does nothing.
  • The HTC Hero's battery can last more than a week:
    I presume it will if you don't operate it. I have to reload it every other day
Here are some nice features (and immediately remedied):
  • The interface lets you operate the phone with intuitive on screen operations:
    However, not all apps support widget presses to open option menus. Sometimes you have to use the menu key. This might be anoying, because some usefull apps only have keyed menus.
  • Sense has a beatiful, iPhone like date and time selector:
    Well, Sense does, Android does not. I do not know, why some apps have the nice scroll selector, others you have to type + and - signs.
  • I like the Market Place. One can easily purchase apps:
    This was quite a surprise and is a definite positive: I purchased Scan2PDF which I had a free version that embeds watermarks in the PDF. Purchase was straightforward. Entered my credit card, accepted the fee and download started.
    (OK I even found something here: the free version was not removed from the phone, I had to do that manually. There is no security to prevent you from deleting what you just purchased. I also don't know, how to redownload the app in case I reset my phone).
  • The phone comes with headset, a nice box and small power supply.
  • The phone can be charged with a universal USB cable (with micro USB connector at the phone end).
  • The headset jack is a standard jack. One can use any headset they want.
  • ROM 1.6 is significantly faster and more accurate than 1.5. I look forward to 2.0:
    (the original ROM from Google cannot be installed, one is required to get a ROM from HTC).
Do I regret?

Giving the potential that lies within Android, I do not regret having purchased the Hero (speech quality is clear, reception good, quality of mp3 acceptable). Some functionality is still not as one would expect. The phone app cannot be adjusted to personal preferences (which I would actually expect on a mobile phone). Mail services are not integrated (there are seperate apps for GMail, IMAP and SMS).

I still think that the tight integration in Googles online services is something to be aware of (I found my contacts in my Google calendar which I never used before). I still have not decided whether to use Google Docs, calendar and other services more intensly. It would make the phone more versatile.

My recommendation: Have a look, take a test drive and don't believe what most people say about Android (or the Hero). It's pretty beta out there.

Sunday, 15 February 2009

Adding Code Intelligence to Komodo

Writing programs in Python using PyGTK can be hard as the documentation is not consistent and somewhat outdated.

Adding Code Intelligence to the Komodo IDE is a matter of adding a specific XML-File to the IDE. Here is the link to the CIX-Files that do the trick:
http://community.activestate.com/files/gtk._gtk.cix_.gz
http://community.activestate.com/files/gtk_v2.cix_.gz
Extract the files to a directory. Add the two under Edit/Preferences/CodeIntelligence "Add an API Catalog...".

Viola. You have code completion.

Sunday, 17 February 2008

The end of the Domain concept?

Late 1999 I held a presentation about future developments in computer security. By then, there was an overwhelming hipe in firewall installations. During my speech I was asked about my personal opinion about how firewalls will develop in the future.

My response was quite surprising to the audience.
Firewalls and Virus protection are as protective as a perforated condom works for saver sex.
The audience was not happy. They came for support in their next major investment. Speakers before and after me were praising the techology as a panacea for any sorts of protection.

After my presentation a professor of the local university approached me. He congratuated me on the overall speach but commented, that I was completely wrong on my deduction that firewalls would be unnecessary devices in the future.

9 years after

The Dot.Com bubble was building up, Application Service Provisioning was on the verge, it was clear by then that most communication in the future would traverse through three ports only: HTTP/HTTPS and SMTP (well, there still are some more around).

If so, every communication channel would be redirected in the future to use one of these channel (it proved correct as we see large scale spam and web site attacks and only a few successful expliots).

9 years from now

Where's the point?

Systems cannot be protected at the perimeter any more. Protection schemes have to be introduced into every software service and application. With the increasing offerings of Web Services, boundaries between companies vanish (yet the title). Our carefully crafted computer domains will erode. As soon as they are consolidated (after mergers and company consolidations) they will be obsolete.

We have to use services and data across company boundaries. Small companies have to share information in order to withstand the pressure introduced by large multination enterprises.

If so, this raises the question of who has and who owns information (in the form of data).

DRM becomes DARM

What we see in the music industry is an absurde effort to protect rights. DRM, Digital Rights Management (or restriction of rights of the owner) is a technological approach to manifest control over the use of data.

DARM, Data Access Rigths Management (sorry, I did not come across any suitable term so far), will be the next development. What ACLs are to the operating system, DARM will be to information.

DARM will not only cover the rights to access information, but also timing information and environmental parameters that allow for viewing the content (similar to cascaded style sheets on steroids).
In this future, the concept of computer domains makes no sense.
Notebook users (especially those using Microsoft Windows) have trouble traversing domains. Trusts on the domain level have to be set up or the user will not be able to access any peripherals or services provided by the local domain.

With the concept of Service Oriented Architecture carried on, the IT of the company of the future will pretty much look like an encapsulated ISP. Services will be offered to anyone subscribing to it.
  • Questions about ownership of data and services have to answered.
  • Issues of multi cultural access and presentation have to be solved.
  • Problems relating to the timely validity will arise.
  • Censorship and circumvention of it will be on the agenda.
But I doubt that in 9 years from now we will see a logon dialog that offeres the domain as third parameter to authentication.

Monday, 14 May 2007

First steps in Python

In my blog Python demystified I reflected on some thoughts about computer programming and the language in particular.

Ever since then I was aware and interested in this language. Remember I said:
Without any decent IDE (like Netbeans for Java) that allows for graphical programming and UI-design, I strongly doubt that Python will ever gain momentum.
Well, I found a decent IDE: ActiveState Komodo IDE.

Except for GUI it has everything, a decent IDE needs: Syntax highlighting, code completion and code folding, integration into version control (subversion), debugging and profiling.

So just as I was to change my attitude and general opinion on Python the snakes ugly head rose from the depth of my notebooks core:

(Briefly): Python allows for object oriented programming. Objects can be created and instanciated. When going out of scope they are subjected to the garbage collector for destruction. So far so good.

I tried on example program from a popular python book - it worked.

I tried to extend the program (for better understanding) - it crashed.

Well, it terminated with an exception.

Further investigation revealed:
Python stores class definition and object instances in a globally accessible list. When program flow exits the current scope, all objects within scope are subjected to garbage collection according to this global list (and in the exact order of appearance within it).

So there is the possibility that an instance "wol" may be destructed before the class definition "Person". Changing the object name to "wolf" brings it after the "Person" identifier in the globals list and thus there is an object still in memory and valid, where the class definition is destroyed. Any following destructor of the objects instance cannot be called. The code is not there any more.

Is it just me that I find these things on my first day with the language?

Other than that I am fascinated by this elegant and slim language. Worth a try.

Thursday, 26 April 2007

Krieg der offenen Dateiformate

ODF vs. OpenXML

In seinem Blog [1] behauptet Brian Jones, Office Program Manager bei Microsoft, dass der Krieg der offenen Dateiformate beendet sei. Grund sei die Freigabe einer speziellen Version von OpenOffice durch Novell, welche Daten in Microsofts neuem Fileformat OpenXML lesen und schreiben kann. Tatsächlich handelt es sich nur um einen eigenständigen Konverter [2], der OpenOffice Writer Dokumente in Word 2007 Dokumente umwandelt. Ist der Krieg der offenen Dateiformate tatsächlich beendet?

Bisher speicherte Anwendungssoftware ihre Daten als ein Abbild des Hauptspeichers auf Festplatten. Dieser Vorgang ist schnell und effizient, langwierige Übersetzungen der Datenstrukturen unterbleiben. Er ist aber auch fehleranfällig. Speicherabbilder enthalten Querverweise und Verkettungen. Ein fehlerhafter Wert beim Datentransfer führt zu unbrauchbaren Gesamtergebnissen.

Im Lauf der Jahre wurden die internen Datenstrukturen immer komplizierter. Anfänglich bestanden Dokumente nur aus Zeichenketten. Später kamen Textformatierungen, Schriftarten, eingelagerte Bilder und Tabellen hinzu. Mit steigender Komplexität stieg der Platzbedarf auf Datenträgern und die Dauer, welche die Software zum Einlesen und Abspeichern benötigt. Mit jeder neuen Version entstanden Unverträglichkeiten mit den Daten der Vorgängerversionen. Die Datenübernahme anderer Hersteller wurde durch fehlende oder ungenügende Dokumentation der Dateiformate behindert. Besonders der Marktführer Microsoft verteidigte seine Position vehement, sowohl durch laufende Änderung der Dateiformate, als auch durch Verbot von Rückübersetzungen. So entwickelten Alternativanbieter Import- und Exportfilter welche rudimentären Dokumentenaustausch ermöglichen. Um das ursprüngliche Erscheinungsbild wiederherzustellen sind jedoch aufwendige manuelle Nacharbeiten notwendig.

Wozu neue Dateiformate?

Längerfristig entstanden Probleme beim Zugriff, bei der Lesbarkeit, Nutzbarkeit und Vergleichbarkeit von Dokumenten. Besonders im Bereich öffentlicher Verwaltungen besteht Bedarf, auf alte und historische Dokumente uneingeschränkt zugreifen zu können. Über Jahrhunderte wurde Papier als Informationsspeicher erfolgreich genutzt. Ein Ersatz durch elektronische Datenverarbeitung kann nur dann erfolgen, wenn die Nachhaltigkeit, Vertraulichkeit, Sicherheit und Datenintegrität gewährleistet werden kann.

Mit herkömmlichen Dateiformaten sind derartige Anforderungen nicht abzudecken. Parallel zum wachsenden Bedarf aus dem öffentlichen Sektor wuchs der Kostendruck in Unternehmen, hervorgerufen durch Unverträglichkeiten bei den Dateiformaten und daraus resultierender Ineffizienz der Arbeitsabläufe.

Langzeittauglichkeit gefordert

Führende Softwarefirmen entwickelten im Rahmen des OASIS Konsortiums [3] einen offenen Dokumentenstandard, der die gravierendsten Probleme wie Langfristigkeit, Lesbarkeit und Fehlerresistenz lösen soll. Das Open Document Format (ODF) [4] versprach ein Ende bisheriger Inkompatibilitäten zwischen Dateiformaten, sowohl versions- als auch herstellerübergreifend. Mit über 700 Seiten ist der Standard umfassend und für zukünftige Erweiterungen offen.

Öffentliche Verwaltungen und Institutionen erkannten das Potential des neuen Standards. Neben einigen Bundesstaaten der USA definierten vor allem Länder aus Südamerika und Europa sowie einige asiatische Länder ODF als verbindlichen Dokumentenstandard im Parteienverkehr und der internen Abläufe. Spätestens mit der Ankündigung des Department of Defence (DoD) im Jahr 2003, verstärkt Open Source Software und offene Dokumentenstandards zu nutzen, reagierte Microsoft auf diese Entwicklungen.

Nicht nur Mittel zur Datenspeicherung

Microsoft verfügt über einen hohen Marktanteil im Bereich des Basisbetriebssystems, der Standard-Anwendungssoftware und auch bei den Dokumentenformaten. Insbesondere die Dokumentenformate helfen Microsoft, Updatezyklen bei der Standardsoftware und den Betriebssystemen massgeblich zu steuern. Unverträglichkeiten zwischen den Versionen führen mittelfristig dazu, dass Firmen über ihre Aussenkontakte zu einem Update gezwungen sind, wenn sie nicht den elektronischen Anschluss an ihre Partner verpassen wollen. Automatisierte Systemnachbesserungen erleichtern es Microsoft, diesen Zwang nach belieben zu verstärken. Eine nachhaltige Neuorientierung grosser Kunden wie dem DoD gefährdet die Marktposition von Microsoft in Ihren Grundfesten.

Diese Abkehr war nur durch die Bereitstellung offener Standards im Bereich der Dateiformate zu verhindern. ODF als Dateiformat kommt aus marktpolitischen Überlegungen für Microsoft nicht in Frage. So wurde 2005 im Rahmen der ECMA ein neuer Standard ausgearbeitet: ECMA-376 oder Office OpenXML [5,6] wurde am 7. Dezember 2006 trotz zahlreicher technischer Einsprüche [7] durchgesetzt. Dieser Standard umfasst derzeit mehr als 6.500 Seiten, zahlreiche XML Schemaspezifikationen und deckt die Office-Anwendungen Word, Excel, Powerpoint und Access ab [8,9].

(Ironie am Rande: In seiner Proposalpräsentation vor der ECMA [10] verweist Brian Jones auf ein Dokument der EU zum Thema Open Document Standards und Vorteile der Nutzung. Das Originaldokument [11] beschreibt allerdings diese Vorteile unter eindeutigem Bezug auf ODF)

Was können die neuen Formate ...

ODF und OpenXML sind technisch sehr ähnlich. Sie speichern verschiedene Bestandteile der Dokumente als XML Dateien in ZIP Archiv ab. ZIP ist ein anerkannter und weit verbreiteter Kompressionsalgorithmus. XML ist eine erweiterbare Beschreibungssprache für hierarchisch gliederbare Datenbestände. XML Dateien sind zwar grösser als binäre Dateiformate gleichen Inhalts, lassen sich aber aufgrund der hohen Informationsredundanz besser komprimieren. Die komprimierten Archive können schneller auf Datenträger geschrieben und von dort gelesen werden. Dateiinhalte werden nicht unmittelbar in den Arbeitsspeicher übernommen, sondern zuerst analysiert und in maschinenverwertbare Form umgewandelt. Die Dateiformate sind fehlerresistenter als Ihre Vorgänger. Beide Dateiformate können aufgrund ihrer offenen Struktur automatisiert nachbearbeitet werden.

ODF und OpenXML erlauben die Einbindung binärer Informationsfragmente sowie Script- und Makrosprachen. Das führt zu neuen Sicherheitsrisiken. Keines der beiden Formate bietet hinreichenden integrierten Schutz vor ungewollten Änderungen von Dateninhalten. Sie bieten genügend Angriffsfläche zum Einschleusen von Schadcode. Es bleibt den Anwendungsprogrammen überlassen, dies zu verhindern. Microsoft Office prüft anhand der Erweiterung des Dateinamens, ob der Aufruf von Makros erlaubt ist. Dieser Schutz ist allerdings leicht zu umgehen und suggeriert daher eine nicht vorhandene Sicherheit.

Beide Formate gewährleisten den längerfristigen Zugriff auf Daten. In der Darstellung hängen Sie - wie ihre traditionellen Vorgänger - von zahlreichen externen Faktoren ab. Das optisch gleiche Erscheinungsbild kann mit den aktuellen Standards nicht garantiert werden.

... und wo unterscheiden sie sich?

ODF Dateien sind kleiner als ihr OpenXML Pendant. ODF speichert Inhalte gemeinsam mit der Formatierung. OpenXML trennt konsequent Text von der Formatierung. Das ist technisch sauberer und führt erstaunlicherweise nicht zu längeren Ladezeiten. Microsoft behält sich die Option vor, grössere Dateien auch in einem proprietären Format einzubinden, um eventuelle Engpässe in der Performance zu umgehen. Hier sind Inkompatibilitäten vorprogrammiert.

OpenXML greift nicht auf bestehende Standards zurück. Unter anderem wurden neue Standards für Grafiken, Texten, Tabellen, mathematischen Formel, Länder- und Farbcodes definiert. Damit wurde die Spezifikation aufgebläht. In der Umsetzung erhöht das die Fehleranfälligkeit von Anwendungssoftware und Formatkonvertern. ODF setzt in allen Bereichen auf etablierte Standards wie SVG, XML, mathML und standardisierte ISO-Codes.

Wie frei ist „Frei“?

ODF und OpenXML sind lizensierbare Standards, deren Nutzung unentgeltlich ist. ODF kann im Rahmen der Lizenzen durch Dritte ergänzt werden. Das Open Document White Paper verweist auf 9 Referenzimplementation [12]. Zu einigen davon ist der Quellcode verfügbar. Dem gegenüber verweist Microsoft nur auf eine Referenzimplementation, Office 2007, welche nicht quelloffen ist.

Ein Gutachten bestätigt ODF patentrechtliche Unbedenklichkeit. Sun, Hauptzulieferer zum ODF-Standard, hat einen ergänzenden Forderungsverzicht abgegeben. Der Ausstieg einzelner Mitglieder aus dem OASIS Konsortium ist klar geregelt, sodass in Zukunft Ansprüche von Altmitgliedern nicht zu erwarten sind. Eventuell zukünftig auftauchende Forderungen aus Patentrechten werden nicht vollständig ausgeschlossen. OASIS bestätigt dieses marginale Restrisiko, sieht aber selbst keinen Lösungsansatz.

Microsoft stellt die Nutzung von OpenXML jedermann frei. Microsoft verweist auf seine Patente im OpenXML Standard, gibt allerdings auch einen schriftlichen Klagsverzicht auf seiner Website ab. Dieser erschöpft sich auf die im Standard berührten Technologien und Patente. Patente, die von der ordnungsgemässen Umsetzung der OpenXML-Spezifikation in Anwendungssoftware berührt werden, sowie eventuelle Patente von Drittherstellern sind von dieser Freistellung nicht betroffen. Insbesondere bei der Einbindung in Anwendungssoftware sehen Rechtsexperten ein nicht unbeträchtliches Rechtsrisiko welches Microsoft nicht entkräftet.

Sowohl ODF als auch OpenXML sind derzeit sowohl frei zugänglich, frei nutzbar, frei von Kosten sowie frei von patentrechtlichen Einschränkungen. ODF ist für Softwareentwickler leichter zugänglich. Der überschaubare Umfang der Spezifikationen erlaubt wirtschaftliches Einarbeiten in das Thema. OpenXML mit über 6.500 Seiten und zahlreichen Schematas drängt sich dagegen dem Interessenten nicht unmittelbar auf.

Attraktiv für den öffentlichen Bereich

Öffentliche Verwaltungen und Regierungen fordern die Nutzung offener Dateiformate aus zwei Hauptgründen:
1. soll die langfristige Nutzbarkeit auch auf unterschiedlichsten EDV-Systemen gewährleistet sein. Diese Forderung wird hauptsächlich in Ämtern und Behörden gestellt.
2. soll die starke Abhängigkeit von Softwareanbietern reduziert und - wenn möglich - lokales Know-how genutzt werden. Diese Forderung stellen vornehmlich Regierungen.

Hier hat ODF einen deutlichen Vorsprung. Das Format existiert bereits seit längerer Zeit, ist einige Male implementiert und in quelloffener Form zugänglich. Der Standard wird sowohl von einigen grossen Softwareherstellern als auch von einer umfangreichen Entwicklergemeinschaft unterstützt. ODF hat noch einige Einschränkungen, die den Einsatz im öffentlichen Bereich behindern. Die langfristige Erweiterbarkeit ist noch nicht nachgewiesen. OpenXML kann auf keine substantiellen Vorteile verweisen, welche einen Einsatz zwingend notwendig machen würden. Allerdings besitzt Microsoft eine breite installierte Basis, auf die das Unternehmen starken Einfluss über seine automatisierten Updates ausüben kann.

Öffentliche Stellen können bis zu einer endgültigen Lösung der offenen Probleme die ersten Schritte in Richtung Automatisierung gehen. Notwendige Ergänzungen lassen sich in weiteren Phasen der Umsetzung nachziehen.

Attraktiv für Unternehmen?

Unternehmen agieren in kurzfristigeren Innovationszyklen. Nur ein geringer Teil der betriebsnotwendigen Informationen haben langfristige Relevanz (Verträge, Finanzinformationen) und müssen entsprechend archiviert und gewartet werden. Der Rest der Arbeitsdokumente hat eine geringe Halbwertszeit.

Eine grundsätzliche Entscheidung bezüglich eines Dateiformates ist nur dann möglich, wenn die Entscheidung bezüglich alternativer Anwendungssoftware zur Disposition steht. Das Erstellen von ODF Dateien mit Microsoft Office (Word, Excel, Powerpoint, Access) ist heute nicht möglich und zukünftig nicht absehbar. Umgekehrt ist das Erstellen von OpenXML Dateien aus alternativer Anwendungssoftware derzeit nur eingeschränkt möglich. Da Microsofts Anwendungsprogramme in Unternehmen besonders stark verbreitet sind, ist der Einsatz von OpenXML zumindest dort vorhersehbar.

Bekannte Migrationsprojekte, wie jenes der Stadt München oder der Lufthansa, sind weitgehend von strategischen, politischen oder ideellen Motiven geleitet. Wirtschaftliche Vorteile bei der Betrachtung der Gesamtkosten sind marginal oder nicht vorhanden. Wer sich letztlich durchsetzen wird - öffentliche Verwaltungen und Regierungen die ODF bevorzugen oder Unternehmen die Microsoft mit OpenXML nutzen - ist derzeit nicht prognostizierbar.

Der Krieg der offenen Dateiformate ist demnach noch nicht beendet. Wir erleben bestenfalls eine kurzfristigen Waffenstillstand.


Bibliographie:
[1] Blog Brian Jones
[2] Novell OpenXML Translator
[3] OASIS Gründungsmitglieder
[4] Open Document for Office Applications
[5] ECMA-376 - Office OpenXML
[6] Office OpenXML Fact Sheet
[7] Objections to JTC-1 Fast-Track Processing of the Ecma 376 Specification v. 0.1, 27.1.2007
[8] ECMA-376 OpenXML White Paper
[9] Introducing the Office (2007) Open XML File Formats
[10] Start of TC45: Presentation to GA
[11] TAC approval on conclusions and recommendations on open document formats
[12] Open by Design, ODF White Paper

Sunday, 4 March 2007

The future of video

Currently, we are migrating our workstations from Windows to Linux. While the basic stuff works perfectly fine, we run into trouble when dealing with music and video.

Especially video.

Our video collection does not work under Linux.

While playing videos under Windows is not an easy feat, playing them under Linux provides insight into a lot of things. Unfortunately, videos are not among them.

Let's summarize:
Videos are stored in container files. To play them, codecs and decoders are required. Some, like MPEG2 and MPEG4 are straight forward, some, like DivX, XVid, H264 are embedded in AVI files.

Under Windows, you install codecs, the installer hooks them into the search path of any installed media player. OK, some honor these paths, some don't. Sometimes, helper applications like Explorer get confused and crash. But low and behold, it works pretty well.

Under Linux, you need graphics libraries, that have library plug-ins. If you ever tried to make ends meet with gstreamer, you know what I am talking about.

My suggestion

Here is a proposal of how video streams could be encoded in order to eliminate the codec problem and thus make video handling user friendly.

All video is encoded using an video and audio encoder. Mixtures are possible and exist.

A new file format could accommodate 2 parts: One, the decoder codec and two, the film itself. The codec would be extracted by a generic decoding engine and used to decrypt the film stream. The player would be a generic codec interpreter that allows for platform independent decoder plug-ins to be hooked in.

None of the above mentioned technologies is new. Platform independent plug-ins are reality in Mozilla driven XUL tools. Piggyback codecs can be attached to the video stream. Interpretation engines can both be Python and JavaScript.

This mechanism would even allow for commercial content, as the codecs may well be connected to payment systems.

I haven't given this a deeper thought. Maybe my tweaking with Linux will take me to deeper insights and eventually make me mad enough to write a prototype.

Tuesday, 16 January 2007

Python demystified?

Four years ago I was asked to troubleshoot a project under tight schedule and budget. The team had committed itself to finish an ASP application within 2 years. When I was called, there were only 4 month to the deadline.

I agreed to manage the team under the condition that 2 out of 3 parts be substituted by standard OTS componenten (who needs to develop their own database or browser) and efforts being concentrated on the core functionality.

My proposal was rejected. The project team was confident that using Python programming language would give them an advantage to finish on time and budget.

Later I learned that the project failed and the company went out of business.

My argument then was that Python was not to be compared to C# or Java in efficiency. More so, no real libraries exist.

I was right about the potential of Python as a tool to finish in time.

However I was wrong about the true reason why Python has not gained momentum and probably will not in the future as Java and C# had.

Recent occupation with the subject led me to a different opinion.

1. C# is easy to use and convenient for writing software. However, C#'s strong typing requires programmers to define in advance what to do. Even with refactoring tools and support for generics changes in structure and data definition can cause headache.

Python (as JavaScript) offer weak typing. Objects can be of any type, programmers don't have to worry in advance what they have to handle. Python as opposed to JavaScript has a tight syntax an object declaration (var i, I know its var, so why do I have to state it?)
There are many more advantages to the Python language. Some of them are:
  • everything is an object,
  • strong string operations,
  • plethora of external modules,
  • integration into host operating systems,
  • integration with other programming languages,
  • etc. ...
These make Python a powerful programming tool.

Going from here, I would prefer Python to any language any day.

2. In the early days of Java, everyone wrote their own IDE. This was possible because Java offered AWT a platform independent graphics subsystem. That allowed for many programmers to adopt Java. C# is hosted in the Visual Studio IDE (with a free Express edition available). Even Mono has two prominent IDE's: MonoDevelop and SharpDevelop.

Python offers an outdated IDLE (basically a specialised shell with no charm), ERIC (a bloated QT based environment with an older version of python interpreter), PyDev, a slugish Eclipse plugin, and many more alpha and pre-alpha Editors.

Without any decent IDE (like Netbeans for Java) that allows for graphical programming and UI-design, I strongly doubt that Python will ever gain momentum.

3. There is plenty of introductory books about Java, C# or VB. There are some books around introducing Python. None of the books I reviewed showed how to set up a working python development environment. Maybe its the selection, maybe I am used to skipping chapters on how to get started with other languages. With Python I wasted hours installing, testing and deinstalling IDE's and development tools.

Without a cross platform native or Python based IDE I am pretty sure that Python will be something like Modula 2 in the 70s, ADA in the 80s and LiveScript in the 90s.

Looking back, finishing the project on time was absolutely impossible. Not because of missing power in the language but lack of a powerful IDE.