Wie funktioniert eigentlich Google Chrome?

30 Dezember 2009 von anrichter Keine Kommentare »

Hast du dich schon immer gefragt, wie eigentlich der Google Chrome Browser funktioniert? Dann schau dir folgendes Video an:

Wirklich nett gemachte virale Werbung. Ideen muss man haben :)

via

Dynamisch wachsende, virtuelle Festplatten verkleinern

21 Dezember 2009 von anrichter Keine Kommentare »

In virtualisierten Umgebungen, bei denen es nicht unbedingt auf das letzte Fünkchen Performance ankommt, setze ich am liebsten dynamisch wachsende Festplatten ein. Das sind Festplatten, die je nach Speicherplatzbedarf der virtuellen Maschine bis zu einem maximalen Wert anwachsen können. So ist es möglich mehr virtuellen Festplattenplatz bereitzustellen, als physischer vorhanden ist. Eng wird es, wenn der physische Platz nicht mehr ausreicht. Dann kann das Verkleinern der virtuellen Festplatten eine mögliche Lösung sein.

Die meisten Dateisysteme haben die Angewohnheit, gelöschte Dateien nicht wirklich von der Festplatte zu putzen, sondern lediglich den Bereich, den die gelöschte Datei inne hatte, als wieder frei verfügbar zu markieren. Was bei physischen Festplatten meist keine Probleme bereitet, hat bei virtualisierten, dynamisch wachsenden zur Folge, dass die physische Datei, welche die virtuelle Festplatte enthält immer weiter wächst. Sie wächst soweit, bis die maximale Größe erreicht ist. Das heißt, eine virtuelle Festplatte der Größe 50GB kann physisch auch bis zu 50GB Plattenplatz einnehmen. Und das, obwohl in der virtualisierten Platte vielleicht nur 2 oder 3 GB belegt sind.

Aus Gründen der Performance sollte man die Größe virtueller Festplatten nicht verkleinern. Denn das spätere Vergrößern bei Bedarf im laufenden Betrieb kostet Zeit. Wer jedoch auf den Plattenplatz achten muss, kann die virtuelle Platte recht einfach verkleinern.

Als erstes muss der freie Platz in der virtuellen Maschine bereinigt werden. Bereinigt heißt in unserem Fall mit 0 beschreiben. Für Windows gibt es sdelete. Der Aufruf von

sdelete -z C:

leert den freien Speicherplatz der Festplatte. Für Linux übernimmt die Aufgabe zerofree. Damit zerofree arbeiten kann, darf die zu verkleinernde Partition nicht mit Schreibrechten gemountet sein. Also entweder komplett per umount aushängen oder falls das nicht möglich ist, im Nur-Lesen-Modus neu einhängen.

sudo aptitude install zerofree
zerofree /dev/sdb1

Nachdem der freie Platz mit Nullen überschrieben wurde, kann die virtuelle Festplatte verkleinert werden. Virtualisierer Nummer 1 VirtualBox bietet per VBoxManage die Möglichkeit eine Platte zu komprimieren.

VBoxManage modifyhd MeineVirtuellePlatte.vdi --compact

Auch VMWare bietet so eine Möglichkeit

vmware-vdiskmanager -k MeineVirutellePlatte.vmdk

Nach einiger Wartezeit sollte sich die Größe der virtuellen Festplattendatei verringert haben.

Die .co.de Abzocke

12 Dezember 2009 von anrichter 3 Kommentare »

Ich habe gestern einen Brief der Firma Websuche Search Technology GmbH & Co. KG im Briefkasten gehabt. Der Betreff des Schreibens ist “Rechtliche Klärung wegen oszine.co.de”. Ahja dachte ich mir und habe das Schreiben durchgelesen. Dort wird als erstes auf die in “sehr vielen Ländern der Welt” bestehenden *.co.* Domains hingewiesen und offeriert, das dies bald auch in Deutschland möglich ist. Und genau dafür wirbt das Unternehmen.

Das allein ist noch nicht wirklich erwähnenswert. Aber dreist werden die Anbieter beim Preis. Ein einfaches Paket, welches lediglich eine Weiterleitung einer Subdomain von .co.de auf die eigene, bereits bestehende Domain beinhaltet, schlägt mit stolzen 99 Euro im Jahr zu Buche.

Hallo? Wie dreist ist das denn? Das sind 8,25 im Monat. Für diesen Preis bieten Webhoster ganze Pakete inklusive Datenbanken, Speicherplatz und Service an. Scheint, als sei .co.de der erste in der Riege der Abzocker mit zweistelligen Domains. Ich bin übrigens nicht der einzige, der diesen Brief bekommen hat, wie man bei Basic Thinking nachlesen kann. Man darf gespannt sein, was als nächstes kommt.

VirtualBox 3.1 macht für mich VMWare Workstation überflüssig

30 November 2009 von anrichter Keine Kommentare »

Seit heute gibt es Version 3.1 von VirtualBox aus dem Hause Sun. Die frei verfügbare Virtualisierung ist schon länger meine erste Wahl für virtuelle Maschinen. Doch ein Killer-Feature hat mir bisher immer noch gefehlt. Eine annähernd geniale Verwaltung der Snapshots wie in VMWare Workstation. Dort können seit einigen Versionen sämtliche Snapshots wiederhergestellt und die Arbeit an dieser Stelle fortgesetzt werden. Das gab es so in VirtualBox bis Version 3.1 nicht. Dort konnte immer nur der letzte Snapshot wieder hergestellt werden. Doch nun ist VirtualBox 3.1 da und bringt genau diese Funtionalität mit. Und das ganze funktioniert auch, wie es soll. Perfekt. Nun kann ich meine Gedanken über einen eventuellen Kauf der VMWare Workstation Bord schmeißen.

verzweigte Snapshots in VirtualBox 3.1

verzweigte Snapshots in VirtualBox 3.1

Und wozu braucht man diese verzeigten Snapshots eigentlich? Nun ganz einfach. Im Bild sind die Snapshots meiner Windows7-VM zu sehen. Da ich nur eine Lizenz besitze, darf ich Windows7 auch nur einmal installieren und registrieren. Doch was hindert mich daran verschiedene Zustände dieser VM zu sichern und jederzeit wieder herzustellen? Genau. Mit VirtualBox 3.1 nichts mehr :) Und genau das mache ich mir auch zu Nutze, indem ich einen Zweig für eine Entwicklungsmaschine und einen weiteren für eine Officemaschine nutze. Ein dritter Zweig wird eine saubere Installation von Windows7 sein, auf der ich verschiedene Programme testen kann, ohne Gefahr zu laufen, eine meiner anderen Zweige (Entwicklung und Office) zu zerschießen. Immer schön getrennt voneinander :)

Achja: VirtualBox 3.1 bietet natürlich nicht nur die verbesserte Snapshotverwaltung. So laufen auch 64bit Gäste wesentlich schneller, was ich mit einem Start meiner Windows Server 2008 R2 VM bestätigen kann. Ein weiteres Killerfeature dürfte das Veschieben von VMs zur Laufzeit von einem auf einen anderen Host sein. Das konnte ich mangels Hardware noch nicht testen, ist aber in der Virtualisierung ein sehr gern gesehenes Feature.

Mich begeistert VirtualBox seit Version 2.x immer weider aufs neue. Zum einen gibt es eine, wenn auch in der Funktionalität etwas abgespeckte, Open Source Version von VirtualBox und zum anderen für den privaten Gebrauch eine voll ausgestattete private Version. Ich sehe im Moment keinen Grund (mehr) auf eine andere Desktopvirtualisierung umzusteigen. Übersehe ich etwas? Gibt es Funktionen die ich bisher nichte kannte, auf dem Desktop aber unerlässlich sind? Wenn ja klärt mich bitte auf :)

Von Katas und Dojos in der Softwareentwicklung

26 November 2009 von anrichter 2 Kommentare »

Den Spruch “Übung macht den Meister” kennt wohl jeder. Praktische Anwendung findet der Spruch zum Beispiel bei Musikern und Sportlern. Diese Spezies Menschen üben bzw. trainieren mehrmals die gleichen Aufgaben. Immer und immer wieder, bis das Geübte in Fleisch und Blut übergeht. Nur so sind sie in der Lage, Höchstleistungen zu vollbringen.

Wie sieht das nun bei Softwareentwicklern aus? In der Ausbildung werden theoretische Grundlagen gepaart mit ein paar Übungen vermittelt. Doch was ist nach der Ausbildung? Softwareentwickler werden in ein Projekt gesteckt und sollen dort ihre Arbeit verrichten. Die Übung findet also im produktiven Projekt statt. Und beim Üben werden Fehler gemacht.

Abhilfe schaffen da so genannte Katas. Der Begriff Kata stammt aus der japanischen Kampfsportkunst und bezeichnet dort das Training einer meist gleichen Situation. Durch das ständige Wiederholen einer Kata werden Grundprinzipien der Kampfkunst verinnerlicht und stehen dem Kämpfer später ohne große Mühe zur Verfügung. Nämlich dann, wenn es drauf ankommt.

Genau das gleiche Prinzip wurde in die Softwareentwicklung übertragen. Im Netz finden sich etliche Katas mit unterschiedlich schwierigen Aufgabenstellungen. Das Lösen dieser Katas kann nun einem Programmierer im Umgang mit einer neuen Sprache, einem neuen Tool oder neuen Techniken wie Test Driven Development helfen. Das so gelernte und gefestigte Wissen kann dann im produktiven Einsatz ohne große Mühe abgerufen werden. Nämlich dann, wenn es drauf ankommt.

Und was sind nun Dojos? Ein Dojo bezeichnet in der japanischen Kampfkunst einen Übungsraum. In dem werden die o.g. Katas trainiert. Das kann einzeln geschehen, wird jedoch meist in der Gruppe praktiziert. Deshalb wird manchmal auch die Gruppe selbst als Dojo bezeichnet. Auf die Softwareentwicklung übertragen heißt das nichts anderes, als dass es Treffen gibt, bei denen sich Softwareentwickler in einer Gruppe eines Katas annehmen, dies Lösen und die Lösung im Idealfall noch diskutieren. Also Üben in der Gruppe. Wie man ein Dojo organisiert, welche Anforderungen erfüllt werden sollten und einige weitere Katas finden sich auf CodingDojo.com.

Ich finde diese Art der Übung sehr spannend. Das ist auch genau das, was ich bisher immer schmerzlich vermisst habe. Kleine Übungsaufgaben, mit denen man neue Sprachen erlernen, neue Tools ausprobieren oder sein Gelerntes Wissen verfestigen kann.

Visual Studio und Team Foundation Server 2010 Beta 2 auf deutsch verfügbar

25 November 2009 von anrichter Keine Kommentare »

Die zur TechEd diesen Jahres veröffentlichte Beta 2 vom Visual Studio 2010 und dem Team Foundation Server 2010 gibt es jetzt auch auf Deutsch. Die Lokalisierte Fassung ist für MSDN-Kunden bereits seit einigen Tagen verfügbar. Jetzt kommen auch Otto-Normalverbraucher in den Genuss der Vorabversion.

Visual Studio 2010 Beta 2 steht in der Professional- und der Ultimate-Variante zum Herunterladen bereit. Die offizielle Downloadseite verweist für Visual Studio lediglich auf Webinstaller. Das sind kleine Programme, die die benötigten Komponenten während der Installation aus dem Netz beziehen. Wer lieber ISOs haben möchte, wird im Downloadbereich der Microsoftseite fündig. (Visual Studio 2010 Professional Beta 2 ISO, Visual Studio 2010 Ultimate Beta 2 ISO).

Der Team Foundation Server 2010 Beta 2 steht direkt als ISO Datei zur Verfügung. Gegenüber seinem Vorgänger zeichnet sich der TFS2010 unter anderem durch eine wesentlich vereinfachte Installation inklusive vorgefertigter Szenarien aus. Wie auf der TechEd zu sehen war, ist man mit dem TFS2010 innerhalb einer halben Stunde betriebsbereit. Einen interessanten TechTalk zum Thema gab es ebenfalls.

Die Beta-Versionen ist sicherlich in erster Linie zum Testen der neuen Funktionalitäten gedacht. Beide Installationen bringen das .NET Framework 4.0 Beta 2 mit sich. Das kann, wenn nötig, auch separat heruntergeladen werden. Neben der Testerei können die mit der Beta 2 erstellten Anwendungen auch produktiv eingesetzt werden. Dazu ist das Visual Studio unter der “Go Live” Lizenz veröffentlicht.

Google Chrome neuerdings mit Erweiterungen

25 November 2009 von anrichter Keine Kommentare »

Wer die aktuelle Entwicklerversion von Google Chrome einsetzt, hat sicher schon auf der “Neuen Tabseite” die beiden Einträge in der Fußzeile gelesen. Zum einen bietet Chrome einen Bookmark Sync an. Dieser erlaubt es seine Lesezeichen zwischen mehreren Rechnern, auf denen Chrome zum Einsatz kommt, zu synchronisieren.

Google Chrome Erweiterungen

Google Chrome Erweiterungen

Den anderen Hinweis finde ich persönlich wesentlich interessanter. Ab sofort können Entwickler ihre Google Chrome Erweiterungen auf den Server laden. Diese Erweiterungen werden dann mit einer der nächsten Betaversionen für den Anwender bereitstehen. Damit schließt der schnelle Browser aus dem Hause Google auf den Firefox auf. Dieser bietet bereits seit längerem Erweiterungen an, die dem Anwender erlauben, den Browser an die eigenen Bedürfnisse anzupassen.

Wer sich nun in das Abenteuer “Google Chrome Erweiterungen entwickeln” einarbeiten möchte, findet auf der Chrome-Seite ein recht gutes Tutorial. Ich für meinen Teil bin gespannt auf die ersten Erweiterungen. Und wer weiß. Vielleicht gibt es ja irgendwann auch mal eine von mir ;)

Details und Quellcode zum Google Chrome OS

20 November 2009 von anrichter Keine Kommentare »

Google hat diese Woche erste Informationen zum eigenen Betriebssystem veröffentlicht. Die Quellen stehen bereits jetzt unter http://src.chromium.org/ bereit. Bis das System aber auf den ersten Geräten ausgeliefert wird, vergeht noch einige Zeit. Laut Google ist nicht vor Ende 2010 damit zu rechnen.

Was hat nun das Google OS, was andere nicht bieten können? Google wäre nicht Google, wenn sie nicht Informationen über typische Computeranwender gesammelt und ausgewertet hätte. Laut Google verbringt der durchschnittliche Computeranwender 90% seiner Zeit im Internet. Dabei liest er Mails, News, chattet, spielt Spiele und vieles mehr. Und das alles mit seinem Webbroweser. Demnach ist er das wichtigste Programm auf dem Rechner.

Google greift mit ihrem Chrome OS nun unter anderem die Zeit an, die der Anwender nach dem Einschalten seines Computers warten muss, eh er mit seinem Browser ins Internet gehen kann. Auf modernen Systemen sind dies 45 Sekunden, die der Anwender wartend vor seinem Rechner verbringt. Google verspricht mit dem Chrome OS eklatante Verbesserungen. So soll das System in ca. 10 Sekunden einsatzbereit sein.

Zudem verlagert Chrome OS so ziemlich alles in das Internet. In die “Cloud”. Kein Update von Systemsoftware mehr, keine Einstellungen per Hand machen, keine Synchronisation mehrerer Computer. Schöne neue Cloud-Welt. Die Frage ist, wie sicher sind meine Daten in der Cloud und vertraue ich dem Anbeiter?

Wer nun Blut geleckt hat und mehr über Google Chrome OS, den Beweggründen für das eigene System, zur Sicherheit und Geschwindigkeit erfahren möchte, findet auf der Chromium OS Seite weiterführende Informationen. Diese sind für jedermann bequem als Videos aufbereitet. Eines davon möchte ich euch nicht vorenthalten: Was ist Google Chrome OS

Ich finde die Idee hinter Google Chrome OS sehr spannend. Auch denke ich, dass im Netz die Zukunft liegt. Es werden immer mehr Anwendungen im Netz zur Verfügung gestellt. Es gibt immer mehr Anbieter von Cloud-Systemen. Neben Amazon und Google prescht nun auch Microsoft mit ihrem Windows Azure und SQL Server Azure ins Internet. Es tut sich also was auf diesem Markt.

Clean Code in Brownfield-Projekten

19 November 2009 von anrichter Keine Kommentare »

Ich hatte ja bereits vor einigen Wochen von der Clean Code Developer Initiative berichtet. Die Prinzipien und Praktiken, die Ralf Westphal und Stefan Lieser aufgestellt haben, lassen sich wunderbar bei Neuentwicklungen anwenden. Also auf der “grünen Wiese”.

Aber was machen Projekte die über die Jahre gewachsen sind? So genannte Brownfield-Projekte haben teils schwerwiegende Probleme mit der inneren Code-Qualität. Die Probleme schlagen sich in der Produktivität sowie in den Kosten für Neu- und Weiterentwicklungen nieder. Das geht sogar bis zum Konkurs ganzer Unternehmen. Eine Artikelserie auf heise Developer beschäftigt sich mit genau diesen Symptomen und wie Entwickler ihren über die Jahre gewucherten Code wieder “clean” bekommen. Der erste Teil der Serie ist nun online und sollte von jedem Entwickler und Entscheider gelesen werden. Prädikat: Sehr lesenswert!

Virtuelle VMWare Maschine mit VirtualBox öffnen

14 November 2009 von anrichter Keine Kommentare »

Viele virtuelle Maschinen, die zum Herunterladen angeboten werden, liegen als VMWare Maschinen vor. Was tun, wenn man aber VirtualBox als Virtualisierungslösung einsetzt?

VirtualBox kann seit einigen Versionen das virtuelle Festplattenformat von VMWare lesen, nicht jedoch die virtuelle Maschine selber. Da bleibt nur Handarbeit übrig. So zum Beispiel beim Öffnen von Google Chrome OS 0.4.223 Beta mit VirtualBox.

Chrome OS in VirtualBox

Chrome OS in VirtualBox

Als erstes wird die virtuelle Festplatte (.vmdk) an den Ort kopiert, wo normalerweise die Festplattenimages von VirtualBox liegen. Das ist meistens im Ordner ~/.VirtualBox/HardDisks. Als nächstes wird das eben kopierte Festplattenimage in Manager für virtuelle Fesplatten bekannt gemacht. Danach wird eine neue virtuelle Maschien ohne Festplatte erzeugt. Nun bleibt nur noch, die Einstellungen aus der VMWare Maschine in die eben neu erstellte zu übernehmen. Dazu wird die .vmx Datei in einem Texteditor geöffnet und die Parameter aus dieser Datei in die eben erstellte VirtualBox Maschine übernommen.

Im Fall von Google Chrome OS sind das 512MB Ram, Suse als Gastsystem, eine Netzwerkkarte sowie ein SCSI-Device für die Festplatte. Beim Erstellen der Festplatte wird ein LSILogi SCSI Gerät hinzugefügt und das oben kopierte Festplattenimage daran gebunden.

Nach den erfolgten Einstellungen kann die virtuelle Maschine gestartet werden.

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Deutschland
This work by Andreas Richter is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Deutschland.