tag:blogger.com,1999:blog-327247872024-03-14T06:03:15.756+00:00Wolf on programmingsome thoughts about programming, IT and how I see the industryUnknownnoreply@blogger.comBlogger22125tag:blogger.com,1999:blog-32724787.post-12413650732448523892007-04-26T16:40:00.000+01:002008-12-10T17:16:31.868+00:00Krieg der offenen Dateiformate<span style="color: rgb(33, 55, 77);font-size:130%;" ><span style="font-weight: bold;">ODF vs. OpenXML</span></span><br /><br /><span style="font-style: italic;">In seinem Blog <a href="http://blogs.msdn.com/brian_jones/archive/2007/03/02/openoffice-support-for-the-openxml-formats.aspx">[1]</a> 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 <a href="http://download.novell.com/SummaryFree.jsp?buildid=ESrjfdE4U58%7E">[2]</a>, der OpenOffice Writer Dokumente in Word 2007 Dokumente umwandelt. Ist der Krieg der offenen Dateiformate tatsächlich beendet?</span><br /><br />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.<br /><br />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.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Wozu neue Dateiformate?</span><br /><br />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.<br /><br />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.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Langzeittauglichkeit gefordert</span><br /><br />Führende Softwarefirmen entwickelten im Rahmen des OASIS Konsortiums <a href="http://www.oasis-open.org/about/foundational_sponsors.php">[3]</a> einen offenen Dokumentenstandard, der die gravierendsten Probleme wie Langfristigkeit, Lesbarkeit und Fehlerresistenz lösen soll. Das Open Document Format (ODF) <a href="http://www.oasis-open.org/specs/index.php#opendocumentv1.1">[4]</a> 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.<br /><br />Ö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.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Nicht nur Mittel zur Datenspeicherung</span><br /><br />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.<br /><br />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 [<a href="http://www.ecma-international.org/publications/standards/Ecma-376.htm">5</a>,<a href="http://www.odfalliance.org/resources/OfficeOpenXMLFactSheet.pdf">6</a>] wurde am 7. Dezember 2006 trotz zahlreicher technischer Einsprüche <a href="http://www.grokdoc.net/index.php/EOOXML_objections">[7]</a> durchgesetzt. Dieser Standard umfasst derzeit mehr als 6.500 Seiten, zahlreiche XML Schemaspezifikationen und deckt die Office-Anwendungen Word, Excel, Powerpoint und Access ab [<a href="http://www.ecma-international.org/news/TC45_current_work/OpenXML%20White%20Paper.pdf">8</a>,<a href="http://msdn2.microsoft.com/en-us/library/ms406049.aspx">9</a>].<br /><br />(Ironie am Rande: In seiner Proposalpräsentation vor der ECMA <a href="http://www.ecma-international.org/activities/Office%20Open%20XML%20Formats/TC45_GA_Dez05.pdf">[10]</a> verweist Brian Jones auf ein Dokument der EU zum Thema Open Document Standards und Vorteile der Nutzung. Das Originaldokument <a href="http://europa.eu.int/idabc/en/document/2592/5588">[11]</a> beschreibt allerdings diese Vorteile unter eindeutigem Bezug auf ODF)<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Was können die neuen Formate ...</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5_ui8jnfNRSwZpoqlxcT4QYK5_Jf_GtQFsb9C9odCi76NNe3XyqEXNvhVXfO2v7DpitsweI7c2lzZBXidjDGgggSTlCNuMnsabONxa-WYTt4JYf4QfNGnpDnOfks9_rMxojhj/s1600-h/p1.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5_ui8jnfNRSwZpoqlxcT4QYK5_Jf_GtQFsb9C9odCi76NNe3XyqEXNvhVXfO2v7DpitsweI7c2lzZBXidjDGgggSTlCNuMnsabONxa-WYTt4JYf4QfNGnpDnOfks9_rMxojhj/s200/p1.png" alt="" id="BLOGGER_PHOTO_ID_5057771517010291618" border="0" /></a>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.<br /><br />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.<br /><br />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.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">... und wo unterscheiden sie sich?</span><br /><br />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.<br /><br />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.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Wie frei ist „Frei“?</span><br /><br />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 <a href="http://www.oasis-open.org/committees/download.php/21450/oasis_odf_advantages_10dec2006.pdf">[12]</a>. Zu einigen davon ist der Quellcode verfügbar. Dem gegenüber verweist Microsoft nur auf eine Referenzimplementation, Office 2007, welche nicht quelloffen ist.<br /><br />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.<br /><br />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.<br /><br />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.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Attraktiv für den öffentlichen Bereich</span><br /><br />Öffentliche Verwaltungen und Regierungen fordern die Nutzung offener Dateiformate aus zwei Hauptgründen:<br />1. soll die langfristige Nutzbarkeit auch auf unterschiedlichsten EDV-Systemen gewährleistet sein. Diese Forderung wird hauptsächlich in Ämtern und Behörden gestellt.<br />2. soll die starke Abhängigkeit von Softwareanbietern reduziert und - wenn möglich - lokales Know-how genutzt werden. Diese Forderung stellen vornehmlich Regierungen.<br /><br />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.<br /><br />Ö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.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Attraktiv für Unternehmen?</span><br /><br />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.<br /><br />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.<br /><br />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.<br /><br />Der Krieg der offenen Dateiformate ist demnach noch nicht beendet. Wir erleben bestenfalls eine kurzfristigen Waffenstillstand.<br /><br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Bibliographie:</span><br /><span style="font-size:85%;"><a href="http://blogs.msdn.com/brian_jones/archive/2007/03/02/openoffice-support-for-the-openxml-formats.aspx">[1] Blog Brian Jones</a><br /><a href="http://download.novell.com/SummaryFree.jsp?buildid=ESrjfdE4U58%7E">[2] Novell OpenXML Translator</a><br /><a href="http://www.oasis-open.org/about/foundational_sponsors.php">[3] OASIS Gründungsmitglieder</a><br /><a href="http://www.oasis-open.org/specs/index.php#opendocumentv1.1">[4] Open Document for Office Applications</a><br /><a href="http://www.ecma-international.org/publications/standards/Ecma-376.htm">[5] ECMA-376 - Office OpenXML</a><br /><a href="http://www.odfalliance.org/resources/OfficeOpenXMLFactSheet.pdf">[6] Office OpenXML Fact Sheet</a><br /><a href="http://www.grokdoc.net/index.php/EOOXML_objections">[7] Objections to JTC-1 Fast-Track Processing of the Ecma 376 Specification v. 0.1, 27.1.2007</a><br /><a href="http://www.ecma-international.org/news/TC45_current_work/OpenXML%20White%20Paper.pdf">[8] ECMA-376 OpenXML White Paper</a><br /><a href="http://msdn2.microsoft.com/en-us/library/ms406049.aspx">[9] Introducing the Office (2007) Open XML File Formats</a><br /><a href="http://www.ecma-international.org/activities/Office%20Open%20XML%20Formats/TC45_GA_Dez05.pdf">[10] Start of TC45: Presentation to GA</a><br /><a href="http://europa.eu.int/idabc/en/document/2592/5588">[11] TAC approval on conclusions and recommendations on open document formats</a><br /><a href="http://www.oasis-open.org/committees/download.php/21450/oasis_odf_advantages_10dec2006.pdf">[12] Open by Design, ODF White Paper</a></span>Unknownnoreply@blogger.com25tag:blogger.com,1999:blog-32724787.post-11815348180476330742007-11-15T20:10:00.000+00:002008-12-10T17:16:31.718+00:003000th download of FreeMiCal<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://sourceforge.net/projects/freemical/"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU6t1Coaf8q9G8ikYy8qp-AdkNx9iHgyUl_Ut31Ym-5CUiR0zDPdTrSYj95FBf9rm30dWdMePclJgrRMfPBVH4Ulm2OLXdOYrglHp-zihcD-Y_TQaaSSsGT0QdsvH5b0Tzz11M/s200/screenshot_thumb.jpg" alt="" id="BLOGGER_PHOTO_ID_5139345643402676050" border="0" /></a><br />November 12th the 3000th user downloaded FreeMiCal. I hope you folks are happy with the tool.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-63068886646392294362008-07-30T19:40:00.003+01:002008-07-30T19:50:54.514+01:00New Search engineI recently learned about Cuil, a search engine founded by Google spin off employees. The hype about having the biggest online catalog, outperforming Google any time.<br /><br /><span style="font-weight: bold;">I tried it</span><br /><br />Searched for my name, I received one result page with approximately 7 teasers. Over all the page claims to have found 2.806 results (as opposed to Googles 840).<br />1 Teaser had nothing whatsoever to do with me, the rest was pretty mundane stuff. I could not browse the promised 2.806 results, had to stick to the 6 correct references. Googles results immediately were relevant and pointed to material that referred to me as a person or my work.<br /><br /><span style="font-weight: bold;">Verdict</span><br /><br /><span style="color: rgb(255, 0, 0); font-weight: bold;">Cuil is simply not worth the effort</span> (this is why there is no link to the page)<br /><br />Later I learned that Cuil was seed funded. This explains why there is so much hype about it. They have to earn their money the hard way. Hopefully this is not the start of another dotCom bubble.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-31248013858090536682008-04-27T10:13:00.002+01:002008-05-25T11:45:12.618+01:00FreeMiCals 6000th downloadSo far, more than 6000 users have benefited from FreeMiCal. It even supports migrating from Outlook 2000 (at least most of the entries).Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-32724787.post-55613060634620402942008-02-17T10:04:00.007+00:002008-02-17T10:53:42.580+00:00The 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.<br /><br />My response was quite surprising to the audience.<br /><blockquote>Firewalls and Virus protection are as protective as a perforated condom works for saver sex.</blockquote>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.<br /><br />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.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">9 years after</span><br /><br />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).<br /><br />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).<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">9 years from now</span><br /><br />Where's the point?<br /><br />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.<br /><br />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.<br /><br />If so, this raises the question of who has and who owns information (in the form of data).<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">DRM becomes DARM</span><br /><br />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.<br /><br />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.<br /><br />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).<br /><span><blockquote>In this future, the concept of computer domains makes no sense.</blockquote></span>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.<br /><br />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.<br /><ul><li>Questions about ownership of data and services have to answered.</li><li>Issues of multi cultural access and presentation have to be solved.</li><li>Problems relating to the timely validity will arise.</li><li>Censorship and circumvention of it will be on the agenda.<br /></li></ul>But I doubt that in 9 years from now we will see a logon dialog that offeres the domain as third parameter to authentication.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-83299473937875096032008-01-12T16:21:00.000+00:002008-01-12T16:30:20.972+00:00Time to celebrate 4000th download of FreeMiCalWhen I started the project I was expecting 500 to (optimistic) 1000 downloads. I did not ever expect anything like the 4000 downloads and the overwhelming positive feedback I got. Lets see if this will continue.<br /><br />There is one feature request I would like to discuss:<br />A user requested a feature to select certain categories. This can be achieved using a simple text editor. However, I understand that it would be more convenient to select a category from the interface.<br /><br />Any comments about pros and cons?Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-76958038888090788842007-10-31T21:32:00.000+00:002007-10-31T22:08:39.729+00:00I'm not reading magsI stopped reading magazines years ago for several reasons:<br /><ol><li>they distract from the issue</li><li>their net ratio of information transferred is bad</li><li>cost per page of information is beyond acceptable ranges</li></ol>Let me elaborate on this.<br /><br />Magazines usually cover just one or two subjects that interest you or that are helpful to your current situation. The rest is either unsolicited input or, worse still, advertisement. I don't need advertisement. Who wants to learn about the n-th version of a charting package that can be embedded into your source code or the umpteenth version management with pink color coding of source files ending with the letter x. Take away cover, index, imprint, the info per pages ratio lies somewhere around 3%.<br /><br />Even if an article covers an issue right in your focus, usually the issue is large enough to be broken into several articles. Publishers do not want articles to extend two pages and they want to sell the next issue as well. So, the article consists of 30% intro and repitition, 60% information and 10% links to supportive web pages, half of them not online otherwise you would have found them in previous web searches. So the info per space ratio lies around 60%.<br /><br />Your average magazine costs about € 10,- for around 60 pages. This makes 17 cent / page.<br /><br />Compared to a book with 1.000 pages (e.g. O'Reilly JavaScript Reference, € 46,99) the price of a magazine is about 3,5 times as high.<br /><br />All that said, I found a magazine and an aspiring magazine that are worth reading:<br /><br /><a href="http://www.dotnetpro.de/">dotnetpro</a> is a magazine that concentrates on .NET software development. Much to my surprise it also covers Mono (in those much-hated multi-issued never-ending article-threads). On average, I can read 4 to 8 articles in it that interest me and the quality of code is more than acceptable.<br /><br /><a href="http://www.pythonmagazine.com/">pythonmagazine</a> is an effort to get a Python developer magazine up and running. Issue 1 can be downloaded in PDF and offers an interesting blend of Python issues.<br /><br />I am not going to change my mind: I read books, no magazines.<br /><br />But I will keep an eye on the two.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-44461059444585951902007-05-14T12:24:00.000+01:002007-05-14T12:48:22.173+01:00First steps in PythonIn my blog <a href="http://onprogramming.blogspot.com/2007/01/python-demystified.html">Python demystified</a> I reflected on some thoughts about computer programming and the language in particular.<br /><br />Ever since then I was aware and interested in this language. Remember I said:<br /><blockquote>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.</blockquote>Well, I found a decent IDE: ActiveState Komodo IDE.<br /><br />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.<br /><br />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:<br /><br />(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.<br /><br />I tried on example program from a popular python book - it worked.<br /><br />I tried to extend the program (for better understanding) - it crashed.<br /><br />Well, it terminated with an exception.<br /><br />Further investigation revealed:<br />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).<br /><br />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.<br /><br />Is it just me that I find these things on my first day with the language?<br /><br />Other than that I am fascinated by this elegant and slim language. Worth a try.Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-32724787.post-61111547904965809272007-05-14T12:10:00.000+01:002007-05-14T12:22:39.370+01:00Genuine Advantage, my eyeball!I got this note today, that Microsoft tightens its grip on Windows Vista users. Not only will an invalid key disallow activation. An presumably invalid key will render Windows Vista practically useless.<br /><blockquote style="font-style: italic;">The new Software Protection Platform, built into Windows Vista, makes the user experience noticeably different between a genuine version and non-genuine version of Windows Vista. When it detects a non-genuine version of Windows Vista installed on a PC, the Software Protection Platform will disable key features of Windows Vista, including the desktop, Start menu, and task bar. Windows Vista functionality will be restricted to the default Web browser for one-hour periods.</blockquote>The practical implication is that your software will not run. Your browser will be available one hour, <span style="font-weight: bold;">then the PC will shut down</span>.<br /><br />Well, you might say, serves you right for using pirated keys?<br /><br />It turns out that Microsoft themselfs don't know which key is valid and which not. It also turns out that if you use a notebook and stay unconnected for a certain period of time, the "Genuine Advantage" will strike you and you have your one hour browser window.<br /><br />I could understand that Microsoft will not update pirated versions of Windows. I hardly could understand that my product keys were not accepted online but telephone activation was accepted (I purchased 10 copies of Windows, Office and some Server CALs).<br /><br /><span>But I decline to see </span><span style="font-weight: bold;">my advantage</span><span> if </span><span style="font-weight: bold;">MY PC shuts down</span><span> on a business trip</span><span style="font-weight: bold;"> because Microsoft thinks, my product keys are pirated.</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-68075836827313339642007-04-23T11:36:00.000+01:002007-04-26T17:24:29.047+01:00Ubuntu vacation feelingsAfter a long and discontinuous experience with Linux and particularly Ubuntu, I switched to Ubuntu over Easter.<br /><br /><span style="font-weight: bold;"><span style="color: rgb(33, 55, 77);">All the good reviews</span><br /></span><br />If you are interested in appraisal only reports, look somewhere else. I had so many errors, bugs and strange behaviours that I cannot fall into the choir of Ubuntu enthusiasts.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Ready for prime time - for some</span><br /><br />If you use your computer just for E-Mail, web browsing and the occasional word processing, you will love Ubuntu.<br /><br />If you watch a video every now and then, you will be excited to see that it can be painless.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">but not for all</span><br /><br />If, on the other hand, you want to use Ubuntu in a mixed environment with Windows clients and servers, prepare for some surprising incidences.<br /><br />Gnome provides an interesting approach to file access: gnome-vfs (Gnome virtual file system). Its an easy to use API that allows applications to access remote and heterogeneous file systems. Just mount a volume, drive or directory and access it with any application. That's what it says on the box.<br /><br />Reality quickly catches on: Only a few applications are aware of gnome-vfs and the mounted drives. Nautilus (the Explorer pendant under Gnome) can access files. OpenOffice supports gnome-vfs as well. Others don't. And they are not just any applications: Thunderbird and Firefox are among them.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Notebook misery</span><br /><br />I run Ubuntu on several notebooks. The basic system will always work. If you want to use notebook specific features like touchpads, sleep mode or wireless LAN, prepare for nightly sessions of debugging and error discovery. If your notebook is equipped with exotic peripherals (anything other than a keyboard a screen and an external mouse will do), you will likely find it not working.<br /><br />On a HP nx8220 the smart card reader is not recognized, the SD cards cannot be mounted and sleep mode will wake up with sound amiss.<br /><br />My HP 510 has a built-in Synaptics mouse pad. This is recognized in my nx8220 but not in the HP510. To calm us down, sound works after wakeup.<br /><br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Tiny little annoyances</span><br /><br />As a professional developer I am not prepared to ship things that do not work. And it seems pretty clear that some things don't work. So, they should not having been shipped.<br /><br />Video playback using the proprietary graphics drivers from ATI don't go well with video playback. OK, they are turned of by default. Also compiz is turned of by default, and that is good so as it conflicts with video playback as well.<br /><br />There is no centralized tool to adjust regional settings. This has to be done in configuration files, logon scripts, gnome tools and sometimes within the application itself. Thunderbird for examples does not honour the system wide font setting. It also ignores regional time formats. You have to set these using environment variables.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Why do I use it?</span><br /><br />So, if I am not happy, why did I bother migrating?<br /><br />Well, I did not say, I was unhappy. There are things that really work well. Automatic update, upgrading to a new version, installation and deinstallation of software all are more stable and trustworthy than the monopolists counterpart.<br /><br />There is no IE installing malware behind my back, no Office update that deletes some of my .NET framework DLLs and most of all, no DRM to tell me what I am allowed to do, see and view.<br /><br />I have no need to defrag my harddisk or registry, no thrills using some low level maintenance tools. I do my work and thats ok.<br /><br />If there are some issues or lack of functionality I can look under the hood and identify the problem myself. I can contribute to the evolution of a system and that contribution is valued (as opposed to Microsoft where reporting a bug will cost you money).<br /><br />But most of all, I feel like a person that has left its privileged live behind. All the high-tech gadgets, the nitty-gritties, items and toys that seemed so important mean nothing. I stand here with my bare feet in the sand, watch sunrise (or sunset, whichever you prefer). I feel like I don't need all the chaos, hectic and stress.<br /><br />I feel like I'm on vacation.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-6237004384772029372007-04-02T19:46:00.000+01:002007-04-02T19:56:24.816+01:00FreeMiCal 0.2 beta releasedI just uploaded <a href="http://sourceforge.net/projects/freemical" target="blank">FreeMiCal</a> 0.2.0.0 on SourceForge.net<br /><br />It now supports both Outlook 2003 and 2007 respectively. Due to adjustments in the artwork, it has a smaller footprint. I also added a local copy of the Outlook Interop Services dll. Now fMiCal starts faster than before.<br /><br />FreeMiCal has a new <a href="http://sourceforge.net/project/screenshots.php?group_id=191103" target="blank">banner theme</a>. I think it looks different to (and nicer than) the uniform grey-blue that Windows XP provides.<br /><br />Import into your favorite target calendar application might not be as fast as the export. This is due to integrity checks during the import.<br /><br />Have fun exporting.<br /><br />Wolf RognerUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-28794525818248210462007-03-27T14:10:00.000+01:002007-03-27T14:55:10.585+01:00Finger weg from EclipseWe have this ongoing argument about not enough Java/Oracle programmers available. I took this to brush up on my Java know-how.<br /><br />A friend suggested Eclipse to use as an IDE. So I listened and tried it.<br /><br />Let me put it this way: I have not used such a bad piece of software in a while.<br /><br />OK, it's free of charge but that's about all that speaks for it.<br /><ul><li>It's <span style="font-weight: bold;">slow</span>. Dead slow. A simple "Hello world" took 5 minutes to set up, 2 minutes to debug and more than a minute to launch from the IDE</li><li>It's <span style="font-weight: bold;">complicated</span>: To set up a project you need to go from Window to Window to set up projects, packages, classes, hierarchies and outlines</li><li>It's <span style="font-weight: bold;">slow </span>(did I mention that already?): The code completion takes for ages and even blocks text entry (System - hang - .out. - hang - println - hang ...)</li><li>It's confusing: Try to debug, does nothing. You have to select which type of project it should be (Can a Java class be debugged as C/C++?)</li><li>It's <span style="font-weight: bold;">broken</span>: I tried to update the IDE (I used 3.2). There were some updated modules. The update mechanism asked over and over which Download center I wanted to use (the automatic selection ended in a disaster). And after another 15 minutes of downloading, the IDE told me, I had not enough rights to install the update. Thanks for telling me so soon</li><li>It's <span style="font-weight: bold;">cumbersome</span>: Creating a SWT app is not straight forward. I gave up working on this one</li><li>It's <span style="font-weight: bold;">slow </span>(deja vu): You can add plug-ins easily (if you have root privilege, that is). With each plug-in, the IDE becomes slower and more unusable<br /></li></ul>Conclusion: If I have to write programs in Java, I use Netbeans (free of charge) or IntelliJ ($ 599,- incl. TeamCity).Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-52237108978315287412007-03-27T13:59:00.000+01:002007-03-27T14:10:28.641+01:00Did I say, I love .NET?I just read a book. Programming C# 3rd Edition. What for? I ran into problems with FreeMiCal.<br /><br />FreeMiCal exports calendar items nicely. If you run Outlook 2007, of course. Those unfortunate to have Outlook 2003 or prior installed, are unfortunate.<br /><br />You think it was as simple as linking a reference to the Office Primary Interop API. Think again. Microsoft has changed the way they offer this service.<br /><br />Well, acording to the book, using .NET shall eliminate DLL hell. Only it <span style="font-weight: bold;">does not</span>. To be precise and fair. It eliminates the DLL hell to substitute with a <span style="font-weight: bold;">Manifest and Signature hell</span>.<br /><br />While you were able to trick Windows into using the right DLL by using the search path, one can not trick the CLR into using a different version of an Assembly so easily.<br /><br />I hate the thought of shipping two versions of FreeMiCal (one for Outlook 2003 and one for 2007) but if I don't find a simple solution soon, I will do exactly that.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-75869285445749493992007-03-23T14:55:00.000+00:002007-03-24T13:56:54.095+00:00Where does IT security head toI was asked to participate in a survey covering IT security. The survey was carried out by a university task group. The goal was to identify areas of security that companies were aware or unaware of.<br /><br />I tried very hard to give this group meaningful data and information. However, I could not answer the questionaire past question number 13. The questions were irrelevant, ill-formulated, missleading and mostly of archaeological value.<br /><br />Some examples?<br /><br />x. How much will has your company spent on IT security in the last year?<br />(without ever asking the size, branch, turnover or revenue to put this number in relation with)<br /><br />y. What IT risks are you aware of:<br />- Viruses<br />- Trojans<br />- Worms<br />- Adware<br />- Dialers<br />- Hardware errors<br />- User failure<br />- Theft<br /><br />z. What IT risks do you prevent:<br />- (above list)<br /><br />It did not start out that bad. The introduction claimed that due to increased penetration of IT in different businesses there was an expected increase in IT risks to be expected. The survey aimed to help identify areas of IT risks and security issues in these new fields of application.<br /><br /><span style="font-weight: bold;">Is this where university education goes? Triviality!<span style="font-weight: bold;"><br /></span></span><br />But the issue in itself is interesting enough to dig into.<br /><br />I offered the group some thoughts about IT security. First I tried to identify areas of risk that require assessment:<br /><ul><li>System(ical) risk</li><li>Implementational and operational risk</li><li>Environmental risk</li><li>Human factors</li></ul>Let me get into this a little more.<br /><br /><span style="color: rgb(33, 55, 77); font-weight: bold;">Systemical risk</span><br /><br />Admittedly viruses, trojans and dialers are issues not to be ignored, but widely overemphasized.<br />Another, more severe issue are rootkits. Lacking medical and historical verbal assoziation, rootkits are anticipated something remote, arcane but hardly threatening me.<br /><br />Rootkits may be introduced into a computer system using such seemingly harmless methods as playing a CD or watching a video. They lie dormant until activated by their creators. Using stealth technology they are invisible to ordinary administrative activities. They are universal in their functionality, offering a privileged environment inside the infected computer.<br /><br />Virtualisation will add one layer of complexity and uncertainty to this scenario.<br /><br />Extending system boundaries, the next vulnerable technology is naming services. DNS is a highly fragile system, relying on approximately 13 root servers. Adding one or taking one root server of the DNS net, has an immediate impact on 7,6% of the network load.<br /><br />DNS offers some resilience like load balancing, database replication and local name caches, still a targeted combined denial of service and man in the middle attack could wreak havok in our IP based world. And this is just the top of the tree. At the bottom, vulnerabilities exist as well.<br /><br />Another area pertaining to risk assessment is routing of information flow. At the basis data is forwarded from the sender to the recipient using a combination of interacting protocols. From ARP, UDP, TCP to RIP, OSPF and BGP (to name but a few) data is packed, transfered, destinations looked up, recipients verified and sequences honored. At a higher level even more protocols come into play when analyzing mail traffic, viewed web pages and exchange of authenticating credentials. Attacking on of those protocols renders the whole network useless.<br /><br />And there are several attack points both known and widely unknown out in the wild.<br /><br />Finally (and this is not really an exhaustive enumeration), the issue of identification and identity management will become an increasingly important issue in the future. As systems become externalized and users accessing these services in an ever mobile and volatile way, identity, authentication, authorization and non repudiation will move into the focus of future security assessments.<br /><br />Another area of concern are<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Implemental and operational issues</span><br /><br />A quick query on CERT or SecurityFocus reveals that most current issues deal with programmatic problems. Buffer overflows, unrecognized error conditions and weak, template based programming are the root source of these issues. If time to market is driving engineering efforts no wonder we have such poor and instable software.<br /><br />Next in this chain is the implementation of systems (combined hard- and software) by following standard How-Tos or simply clicking a few defaults. In order for a system to function in a variety of different setups, it is required to run with low security implemented. While this allows a quick start, it poses a vast array of vulnerabilities in a running environment.<br /><br />Data and function exploiting techniques (like SQL-Injection), improper access to underlying data (reading native file systems), identity spoofing to name but a few. The number of imaginable attack vectors are uncountable.<br /><br />A highly rated issue is data backup. Millions are spent on data backup. Hardly anything is invested into (bare metal) recovery. It takes initial effort (and thus is a one time cost) to set up a working backup strategy.<br /><br />It takes permanent effort (and therefore a lasting and substantial cost factor) to test the quality and feasibilty of data recovery. And while a backup covers only a selected number of threat scenarios (more full recoveries or just file recovery), testing recovery issues has to deal with all possible cases. A change in an underlying system component may render the whole process useless.<br /><br />Dealing with large data quantities and centralized storage (using NAS or SAN) increases the sensitivity of the subject.<br /><br />Availablity of computing resources is another issue. While virtualization allows to use computing hardware efficiently, resilience to hard- and software failure are critical factors as the hosting components are single points of failure that may influence the quality of service and system integrity alike.<br /><br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Environmental risk</span><br /><br />Threat scenarios become wider ranging from fire to water to temperature. While the first two were always on the agenda of even the smallest operation, temperature becomes an issue in the workplace environment. As CPUs and graphics cards produce more and more heat, computer systems are ubiquitous, the heat emission will increase in the future.<br /><br />I cannot go into every aspect of environmental risk here. Suffice to say that the branch of the company, the typical usage of IT systems, even legal issues and changing regulations are influencing environmental issues.<br /><br />On arbitrary example might be a sales representative of a company doing business in Asia. Due to restricted information policy in some Asian countries (e.g. China, Burma) content stored on a computer hard disk might be seen as offense by the local authorities (carry a PDF covering the October revolution in China for a little adrenaline peak). Up to now, possession of computers in Burma is strongly prohibited, facing death penalty.<br /><br />Another widely ignored factor is the dependency of just one single monopolist. Currently there is one major vendor dictating formats for data storage, communication, even software update cycles. This monopolist leverages each of its systems to gain more control and suffocate technological innovation that is incompatible (and therefore unwelcome) with its overall strategy.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">The human factor</span><br /><br />What can I say. Undereducated, ill trained, so called computer experts, time-to-marked driven decisions about system releases, cost based human resource policies. All of these are security issues.<br /><br />Hiring a novice programmer might reduce labour cost in the programming department. It sure will increase labour cost in the help desk and call center. Does it make systems more reliable, more secure? No.<br /><br />Does it make the CFO happy? Yes.<br /><br />He can always point to the low wages.<br /><br />Oursourcing? Let's ship our developement to India. Let's move our help desk to India. Let's move the accounting to India. Labour cost for these activities drops (for how long, may I ask). But the understanding of risk, the correct assessment of security issues still lies with the company.<br /><br />More so, due to increased communication and repair efforts, cost will increase, effectively shifting expenses from production source to cost for communication and repair.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Conclusion</span><br /><br />These are security issues I really see and anticipate for the future. In a few years there will still be some viruses, some adware and some hardware failures. But they will hardly be covered by the press.<br /><br />We will see more incidents hitting one or the other areas that I described above. And the impact will hit more than one single computer or company. It will hit communities, areas and industry segments.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-1158748818887663752006-09-20T11:18:00.000+01:002007-03-23T17:33:44.381+00:00I love .NET, I hate .NETRecently I developed an ASP.NET application that required access to a database. So far no problem. I have done that several times before and was confident to bring the project to an early end.<br /><br />During the coding phase I had to make a decision on how to access the database. Usually I would write seperated insert, update and delete procedures in code behind pages. In this particular case it seemed to be appropriate to use an Object DataSource and a GridView control.<br /><br />So I dropped a GridView into the page and made an new DataSource, choosing the Object DataSource from the wizard. Then I created a class file in the Apps folder to isolate data access there.<br /><br />I got the records to show in no time and <span style="font-weight: bold; color: rgb(33, 55, 77);">I love .NET for its ease of use</span><span style="color: rgb(0, 0, 0);">.</span><br /><br />Next I tried to update records using the Edit functionality of the GridView. This was not a trivial task. First the call to the update member function would throw exceptions at me right, left and center. It turned out (undocumented) that the parameters for the function calls need to have the exact names as the fields in the database table to be altered.<br /><br />Changing the fields in the GridView works fine, the changed value is forwarded to the update function. However, changing the value in the Row of the Dataset seems to be impossible. Calling the code from a C# program works fine, doing the same out of a ASP.NET class does not work.<br /><br />I confess, I resorted to the oldfashioned way of updating the database directly to keep the schedule.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">I hate .NET for it's non-consistent working and its lack of dokumentation</span>.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-1168971866034293502007-01-16T18:14:00.000+00:002007-03-23T17:33:44.380+00:00Python 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.<br /><br />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.<br /><br />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.<br /><br />Later I learned that the project failed and the company went out of business.<br /><br />My argument then was that Python was not to be compared to C# or Java in efficiency. More so, no real libraries exist.<br /><br />I was right about the potential of Python as a tool to finish in time.<br /><br />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.<br /><br />Recent occupation with the subject led me to a different opinion.<br /><br />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.<br /><br />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?)<br />There are many more advantages to the Python language. Some of them are:<br /><ul><li>everything is an object,<br /></li><li>strong string operations,<br /></li><li>plethora of external modules,<br /></li><li>integration into host operating systems,<br /></li><li>integration with other programming languages,</li><li>etc. ...</li></ul>These make Python a powerful programming tool.<br /><br />Going from here, I would prefer Python to any language any day.<br /><br />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.<br /><br />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.<br /><br />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.<br /><br />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.<br /><br />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.<br /><br />Looking back, finishing the project on time was absolutely impossible. Not because of missing power in the language but lack of a powerful IDE.Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-32724787.post-1173040666856102752007-03-04T20:19:00.000+00:002007-03-23T17:33:44.380+00:00The future of videoCurrently, 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.<br /><br />Especially video.<br /><br />Our video collection does not work under Linux.<br /><br />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.<br /><br />Let's summarize:<br />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.<br /><br />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.<br /><br />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.<br /><br /><span style="FONT-WEIGHT: bold; COLOR: rgb(33,55,77)font-family:verdana;" >My suggestion</span><br /><br />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.<br /><br />All video is encoded using an video and audio encoder. Mixtures are possible and exist.<br /><br />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.<br /><br />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.<br /><br />This mechanism would even allow for commercial content, as the codecs may well be connected to payment systems.<br /><br />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.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-1162658389432676032006-11-04T16:27:00.000+00:002007-03-23T17:32:54.795+00:00What's wrong with Microsoft?First, Microsoft offered Mozilla development team a free office inside the Microsoft HQs. Then CEO Steve Ballmer embraced open source as the new panacea for solving document exchange and software virtualisation. Microsoft will provide ODF document filters for OpenOffice. The Open Specification Promise is yet another step towards an open software development. Interoperability suddenly is important to the worlds largest software company.<br /><br />Only recently, Microsoft announced the start of Office Live, an online office suite targeted at customers currently using Googles online office tools.<br /><br />Has Microsoft changed?<br /><br />Does Microsoft see the advantages of open software development?<br /><br />Has Microsoft earned enough money to provide us with free software in the future?<br /><br />Rest assured, <span style="font-weight: bold; color: rgb(33, 55, 77);">nothing has changed!<br /><span style="color: rgb(0, 0, 0);"></span></span><span style="color: rgb(204, 102, 0);"><span style="color: rgb(0, 0, 0);"><span style="font-weight: bold;"><br /></span>If Microsoft wants to play a significant role in Europe in the future, they have to prove that charges against them for exclusive and uncompetitive business bare any substance.<br /><br />While in the US it suffices to claim open business conduct and bribe their way through the current administration, the EU does not work like that. Actually, the rest of the world does not work like that.<br /><br />So, Microsofts move towards Open Source is just a marketing trick to circumvent EU embargos, a door opener into shops that switched to Open Source recently and most of all a convenient way to keep a close eye on the development of new technologies.<br /><span style="font-weight: bold;"></span></span></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-1165693990085740432006-12-09T19:50:00.000+00:002007-03-23T17:32:54.795+00:00Are you Enabler or DisablerI consult small and medium sized companies regarding IT, organisational and process management topics. When I enter the clients premises for the first time, I search for signs of IT empowerment or disablement respectively.<br /><br /><span style="color: rgb(33, 55, 77); font-weight: bold;">Signs of Enablers</span><br /><br />IT as enabler allows employees to work faster, smarter and more efficiently. IT architecture usually is open, access restrictions mostly secure the perimeter, hardly ever access rights are set up within data structures. They allow their users to experiment with new application in test bed situations. They commonly question their users for new ideas on how to make life easier. And they suggest improvements on their own.<br /><br />This does not mean that users are allowed to install new and/or rogue software freely. But generally the corporate culture allows employees to identify themselfs with the company and its respective success.<br /><br /><span style="font-weight: bold; color: rgb(33, 55, 77);">Signs of Disablers</span><br /><br />Sometimes I hear people talk about who they could not get access to a document they previously wrote themselfs and then stored them on a file share. They have a three level authorisation process for updated web pages (absurdly they are only visible on the intranet). Marketing uses a special graphics application (like Photoshop) and sends proofs to the sales department. However, Sales do not have ... you guessed it ... Photoshop.<br /><br />When the PC in Marketing is replaced due to hardware failure, guess what. Photoshop is missing in the installed suite.<br /><br />Here, IT is definitely a disabler.<br /><br />Usually I recommend firing the responsible IT manager and getting some user to do the job.<br /><br />I have not come across a client to follow my suggestions. Top managers usually find excuses why they keep IT managers that cause huge amounts of monetary losses to the company.<br /><br />Maybe top management is not as innocent after all.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-63683015382760313972007-03-07T23:18:00.000+00:002007-03-23T17:32:54.794+00:00Customer ServiceI read this excellent article on customer service. While at my company I try to enforce good customer support, I never had my quality standards laid out in such an easy list of steps to follow.<br /><br />Thanks to Joel Spolsky, here it is. <a href="http://joelonsoftware.com/articles/customerservice.html"><span style="color: rgb(33, 55, 77); font-weight: bold;">Read, enjoy and act on it</span></a>.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-1155581306641053792006-08-14T19:40:00.000+01:002007-03-23T17:31:51.698+00:00Why Vista?I attended several tutorials from Microsoft introducing me to Windows Vista.<br /><br />We were told that Vista is faster, more secure and offers enhanced features not available in Windows XP.<br /><br />However, I seriously doubt that.<br /><br />1. Vista is supposed to be written<span style="font-style: italic;"> from scratch</span>. How any code written from scratch should be more stable than evolved and mature code is beyond me.<br /><br />2. In order to enhance security Microsoft reverted to some <span style="font-style: italic;">obscure practices</span> in the past. They introduced a firewall that prevents traffic from going out instead of blocking traffic in. They offer software update that introduces new features, changes existing behaviour and even renders a working system inoperable (WGA, WM licensing, DRM enhancements to CD-ROM players, etc.). Their CUA is a permanent anoyance and does not prevent users to choose trivial or empty passwords. I see no improvements in security whatsoever.<br /><br />3. Most of the enhancements and new features target <span style="font-style: italic;">user experience</span>. Translated to ordinary speech this reads: Bigger buttons, glassy, transparent look, more wizards. In order to run a Vista system properly you need hardware recently available only for hardcore gaming.<br />But be aware that the new features will be available to a WGA-authenticated system only.<br /><br /><span style="font-weight: bold;">Is it neccessary?</span><br /><br /><span style="font-style: italic;">As far as I am concerned, no.</span><br /><br />There are some issues XP required to change to make the system secure.<br /><br />1. Make first user not Admin by default. Eliminate auto logon as well.<br />The only reason for admin rights is, that ill written applications will still run instead of break and force the software vendor to either rewrite or get out of the market.<br /><br />2. Change some services to run in low privilege mode (like the time or network adjustment panels).<br />One can use policies to allow nonprovileged users to adjust network and time settings but this could be done out of the box<br /><br />3. Make uitheme.dll overwritable.<br />Users could change the look to anything they like without resorting to potentially unsafe tools to change the Themes.<br /><br />You can do all of that by yourself.<br />Install applications as administrator<br />revoke admin rights on users<br />change icons to network and time panes to use runas...<br />delete uxtheme.dll from the dll cache.<br /><br />Does this justify a new operating system?<br /><br /><span style="font-style: italic;">Certainly not.</span> If anything at all, an SP3 would be required.<br /><br /><span style="font-weight: bold;">So why do we need Vista?</span><br /><br />It all depends on who you define as "we".<br /><br />If you consider yourself and your company as the "we", then frankly you don't need it.<br /><br />You may want it and you may even have no primary expenses as you get Vista as part of the software assurance (I will comment on the cost factors in a different posting).<br /><br />If you define "we" as being Bill, Steve and the gang, you need the thing desperately.<br /><ul><li>Vista will allow for increased control over the installed base</li><li>Vista will generate revenue for another decade</li><li>Vista will give Microsoft enough material to force new technology onto companies</li></ul>Whether you want it or not, you will have to install Vista anyway.<br /><br />Is it only me or is the prospect of one company dictating what software to use and when to use it generally frightning?Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-32724787.post-17834346587227181172007-03-11T13:19:00.000+00:002007-03-23T17:31:34.954+00:00FreeMiCal on SourceForgeI registered a project with <a href="http://sourceforge.net/">SourceForge</a>: <span style="font-style: italic;">FreeMiCal</span>.<br /><br />The purpose of FreeMiCal is to allow users of Microsoft Outlook (currently only Outlook 2007 is supported) to export all Calendar items in one swoop to iCal formatted files.<br /><br />Outlook does not support the bulk export of calendar items in anything but its own .pst- or comma separated text files. If you have extended comments in the body section of the item, import in any application (including Outlook) will fail due to import format violation.<br /><br />Please check it out, test it and report any problems. This will help me, make the tool better and eventually error free.Unknownnoreply@blogger.com0