Samstag, 31. Oktober 2009

GRUB2: Timer abschalten

Wie ich beim konfigurieren von GRUB2 feststellen musste wir die Einstellung, das es keinen Timer mehr geben soll, nicht richtig umgesetzt. Es wird dann ein Timer von 5 Sekunden genutzt. Dieser "Fehler" ist in der grub.cfg (/boot/grub/grub.cfg) zu finden.
In der grub.cfg muss dahin gehend ein Wert geändert werden um den Timer zu deaktivieren.

original:
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=5
fi

angepasst:
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=-1
fi

Nun kann man sich so viel Zeit lassen bei der Auswahl des Betriebssystems wie man möchte.

Ich übernehme keine Haftung für die Beschriebene Veränderung der grub.cfg!!
Alles geschieht auf eigene Gefahr!!

Freitag, 13. März 2009

Leider kein weiterer Artikel zu Windows 7

Ich muss nun leider bekannt geben, das ich keinen weiteren Artikel zu Windows 7 schreiben werde.

Dazu habe ich momentan keine Zeit, da mein Praktikum begonnen hat. Und ich bei dem mehr als Ausgelastet bin.
In dem Praktikum geht es um LinuxMCE und die Integration von weiteren Möglichkeiten.
Jetzt muss ich erstmal die ganzen Schnittstellen her raus bekommen um überhaupt etwas hinzufügen zu können.

Donnerstag, 22. Januar 2009

Deadlinks und andere Peinlichkeiten

Für Websites gibt es eine einzige wichtige Regel: keine Deadlinks! Alle anderen Spielereien und Problemchen sind durchaus Verzeihbar, aber mit Deadlinks disqualifiziert man sich selbst. Und wenn diese aus falsch gesetzten Links entstehen erst recht. So passierte es der Netzeitung. Eigentlich wollte man zu Seite des weißen Hauses verweisen, stattdessen landete man aber hier.
Ebenfalls absolut daneben, dass man ein dreiviertel Jahr nach dem Relaunch immer noch Seiten auf dem Server hat, die dem aktuellen Template nicht angeglichen sind.

Mittwoch, 21. Januar 2009

Wie werde ich "Webdesigner"?

Auch wenn die Abschiedsgesänge der Netzeitung immer lauter werden, so gibt es immer noch den ein oder anderen sehr lesenswerten Artikel dort zu finden.
Heute zum besipiel das Thema: Wie werde ich "Webdesigner"
Das es nicht mehr ausreicht HTML buchstabieren zu können um im Web zu arbeiten sollte durchaus bekannt sein. Der Artikel ist insofern trotzdem interessant, da er auch das warum erläutert. Für den Einstieg also eine nette und kurze Lektüre, die gegebenenfalls zum ein oder anderen Gedankenanstoss führen kann.

Montag, 19. Januar 2009

Windows 7, Build 7000 (public Beta), Teil 1

Kaum war es veröffentlicht, schon waren die Microsoft-Server überlastet. Daher dauerte es eine weile bis wir es Testen konnten.

Testsystem:
War ein Laptop mit einem AMD Turion x64 1600 Prozessor, 1GB Arbeitsspeicher und einer ATI Xpress 200M.

Installation:
- Oberfläche wie bei Vista, nur der Hintergrund wurde geändert
- dauerte ca. 30 Minuten

Oberfläche:
- die Taskleiste ist größer geworden
- Programme werden in der Taskleiste mit ihren Icons dargestellt
- es gibt die Sidebar nicht mehr, die Minianwendungen können frei auf dem Desktop positioniert werden
- Paint wurde an Office 2007 angepasst

Weitere Teile und Bilder folgen.

------------------------------------------------------------------------------------------

Wer es selber Testen will:
DOWNLOAD (Microsoft Download-Seite), desweiteren wird ein Windows Live Account benötigt.

RSS Feed im Eigenbau (2 / 2)

Im 1. Teil des Tutorials habe wir uns den Grundaufbau eines RSS Feeds angeschaut und eine Möglichkeit gefunden, gestalterisch etwas Kreativität in unseren Feed zu bringen. Nun ja, dass alles können wir getrost in die Tonne kloppen und mit einem neuen leeren "Blatt" beginnen. Denn nun wird's lustig: wir bringen mit Hilfe von PHP etwas leben in unseren Feed.
Diesmal bauen wir den Code Zeile für Zeile auf:
01 <?php
02 include("../functions/sql.php");
03 include("scribo_rss_fct.php");
04
05 echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?> \n";
06 ?>
07 <rss version="2.0"> \n
08
09 <channel> \n

Dies ist unsere neue Dokumentendeklaration: Zuerst habe ich zwei weitere PHP Dateien "angesprochen", die wir später noch brauchen werden. Die Deklaration des XML Dokumentes darf diesmal nicht als klartext da stehen, weil wir ja statt XML eine PHP Datei schreiben wollen. Darum geben wir diese Zeile unter PHP mit echo aus. Danach schließen wir das PHP Script und der Rest bleibt wie gehabt.

Nun folgen wieder unsere Tags für den Head Bereich:
10 <title>Lautsprecher</title> \n
11 <link>http://blog.mwi-projects.de</link> \n
12 <description>Die Welt aus...</description> \n
13 <language>de-DE</language> \n
14 <copyright>MWi</copyright> \n

Bisher also alles wie gehabt. Doch nun kommen wir zum . Wir brauchen also den Zeitpunkt des neusten Artikels. Und hier kommt es nun darauf an, wie ihr eure Datenbank angelegt habt. Nehmen wir für dieses Tutorial einfach meine Datenbank für Scribo: da erwarten uns folgende Felder in der Artikeltabelle:
Article_ID,
Article_Author,
Article_Topic,
Article_Caption,
Article_Text,
Article_Date,
Article_Time
OK, da steht zwar noch mehr drin und bezüglich des Autoren und des Themas hab ich den Datenbankzugriff jetzt auch vereinfacht, aber wir behandeln hier ja auch nicht das Thema SQL_Querys.
Wie ich schon im 1. Teil anmerkte, müssen die Zeitangaben für RSS-Feeds in einem speziellen Format vorliegen. Also hab ich mir eine kleine Funktion gebaut (diese liegt in scribo_rss_fct.php) die mir das bewerkstelligt. Und so schaut sie aus:
01 <?php
02 function($date, $time)
03 {
04 $a = explode ( '-', $date );
05 $b = explode ( ':', $time );
06
07 $timestamp = mktime($b[0],$b[1],0,$a[1],$a[2],$a[0]);
08 $new_date = date("D, d M Y H:i:s +0200", $timestamp);
09
10 return $new_date;
11 }
12 ?>

Ok, was passiert hier: zuerst sei gesagt, dass die Datumsangabe in meiner Datenbank in MySQL Timestamp Form gespeichert sind. Beispiel für den heutigen Tag wäre also 2008-10-09.
Wir splitten also in Zeile 4 und 5 Datum und Uhrzeit wieder in die einzelnen Ziffern auf. Mit dem Befehl "mktime" machen wir aus den einzelnen Komponenten wieder einen gültigen Unix Timestamp, der unser gewünschtes Datum enthält. Und schon ist es ganz einfach, das für RSS-Feeds benötigte Format zu erzeugen.
Kommen wir nun zurück zu unserem RSS-Feed. Dort müssen wir nun nur noch die Datenbank nach dem gewünschten Datum, etc. abfragen:
16 <?php
17 $query = "SELECT Article_Date, Article_Time
18 FROM $scribo_article
19 ORDER BY Article_ID DESC
20 LIMIT 0,1";
21 $result = mysql_db_query ($dbname, $query, $db);
22 $row = mysql_fetch_assoc($result);
23 $new_date = get_tstamp($row[Article_Date], $row[Article_Time]);
24 ?>
25 <lastBuildDate><?php echo $new_date; ?></lastBuildDate>
OK, lassen wir das Query einfach so stehen wie es ist, ohne es weiter zu erläutern. Sämtliche Variablen für den Datenbankzugriff befinden sich, oh Wunder, in der Datei sql.php.
Zeile 23 ist für uns wieder interessanter, da wir dort unsere Funktion aufrufen und den rückgegebenen Wert in $new_date speichern. In Zeile 25 dann der finale Schritt, wir geben das Datum aus.
Nun kommt wieder ein Datenbank-Query, denn wir wollen ja wieder etwas Inhalt in unseren Feed packen:
26 <?php
27 $query = "SELECT * FROM $scribo_article
28 ORDER BY Article_ID DESC
29 LIMIT 0,20";
30 $result = mysql_db_query ($dbname, $query, $db);
31 while($row = mysql_fetch_assoc($result))
32 {
Reichlich unspektakulär das Ganze. Wir rufen alle Eigenschaften der Tabelle Scribo_Article auf (ist in diesem Fall schneller, als wenn erst die ensprechenden Spalten gesucht werden müssen) sortieren Sie nach der ID absteigend (in dem Wissen, dass der neueste Artikel die höchste ID hat, usw.) und begrenzen das Ganze dann auf die ersten 20. (also die 20 neuesten) Artikel. Die While-Schleife gibt uns dann Artikelweise die benötigten Daten, bis quasi nichts mehr da ist.
Es wird also Zeit nun die einzelnen Tags abzurufen:
33 echo " <item> \n";
34 echo " <title>".$row[Article_Caption]."</title> \n";
35 echo " <author>".$row[Author_Name]."</author> \n";
36 echo " <category>".$row[Article_Topic]."</category> \n";
37 echo " <guid>".$row[Article_ID]."</category> \n";
38
39 $new_date = get_tstamp($row[Article_Date], $row[Article_Time]);
40 echo " <pubDate>".$new_date."</pubDate>\n";
41 echo " <link>/article.php?id=".$row[Article_ID]."</link>\n";

OK, hier ist gerade unheimlich viel passiert, oder? Nein, eigentlich nicht. Wir haben wie in Teil 1 unsere verschiedenen Tags aufgerufen und diese mit Inhalt aus der Datenbank befüllt. Für das Datum haben wir in Zeile 34 wie schon im Header unsere Funktion aufgerufen, die uns das benötigte Zeitformat liefert.
Fehlt jetzt nur noch der eigentliche Text. Und hier scheiden sich die Geister. Einige mögen es, wenn Texte nur als Appetithäpchen serviert werden, für andere sind Feeds die Hauptnahrungsquelle, die bitteschön vollständig zu sein hat. Zur Arbeitsersparniss geben wir an dieser Stelle einfach einen vollständigen Feed aus:
42 $text = '<![CDATA['.$row[Article_Text].']]>';
43 echo " <description>".$text."</description> \n";

Gut, das war jetzt sehr einfach gehalten. Aber prinzipiell könnt ihr hier mit dem Text machen was ihr wollt. Man kann zum Beispiel noch einen Link einbauen, der die Feed Besucher zu den Kommentaren führt, und dergleichen. Wichtig ist nur, dass der Text durch <![CDATA[ umschlossen wird (s. Teil 1)
Zum guten Rest bleibt nur noch das aufräumen schließen der offenen Tags, etc:
44 echo" </item> \n";
45 }
46 ?>
47 </channel> \n
48 </rss>
Und das war es schon. Wie gesagt, Ihr habt nun einen schönen sich selbst aktualisierenden Feed. Eine kleine Sache noch: wenn ihr mit größeren Besucherzahlen zu kämpfen habt, sollte man sich vielleicht überlegen, ob man sich nicht doch auf Grundlage dieses Scriptes, durch PHP eine reine XML Datei generieren lässt. Aber das wäre dann wieder ein anderes Thema.
Und zum Schluss nochmal das komplette Script:
01 <?php
02 include("../functions/sql.php");
03 include("scribo_rss_fct.php");
04
05 echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?> \n";
06 ?>
07 <rss version="2.0"> \n
08
09 <channel> \n
10 <title>Lautsprecher</title> \n
11 <link>http://blog.mwi-projects.de</link> \n
12 <description>Die Welt aus...</description> \n
13 <language>de-DE</language> \n
14 <copyright>MWi</copyright> \n
16 <?php
17 $query = "SELECT Article_Date, Article_Time
18 FROM $scribo_article
19 ORDER BY Article_ID DESC
20 LIMIT 0,1";
21 $result = mysql_db_query ($dbname, $query, $db);
22 $row = mysql_fetch_assoc($result);
23 $new_date = get_tstamp($row[Article_Date], $row[Article_Time]);
24 ?>
25 <lastBuildDate><?php echo $new_date; ?></lastBuildDate>
26 <?php
27 $query = "SELECT * FROM $scribo_article
28 ORDER BY Article_ID DESC
29 LIMIT 0,20";
30 $result = mysql_db_query ($dbname, $query, $db);
31 while($row = mysql_fetch_assoc($result))
32 {
33 echo " <item> \n";
34 echo " <title>".$row[Article_Caption]."</title> \n";
35 echo " <author>".$row[Author_Name]."</author> \n";
36 echo " <category>".$row[Article_Topic]."</category> \n";
37 echo " <guid>".$row[Article_ID]."</category> \n";
38
39 $new_date = get_tstamp($row[Article_Date], $row[Article_Time]);
40 echo " <pubDate>".$new_date."</pubDate>\n";
41 echo " <link>/article.php?id=".$row[Article_ID]."</link>\n";
42 $text = '<![CDATA['.$row[Article_Text].']]>';
43 echo " <description>".$text."</description> \n";
44 echo" </item> \n";
45 }
46 ?>
47 </channel> \n
48 </rss>

dieser Beitrag wurde aus dem Lautsprecher übernommen

RSS Feed im Eigenbau (1 / 2)

Seit einigen Tagen ist der Lautsprecher Besitzer eines gut funktionierenden RSS-Feeds. Klar, davor hab ich auch schon mit Feeds um mich geworfen, die 1 zu 1 von diversen Tutorials "insperiert" waren. Aber die Qualität ließ doch zu Wünschen übrig und so machte ich mich vor kurzem auf die Suche nach weiteren Anregungen und Ideen, um meinen RSS_Feed doch noch hier und da aufzufrischen und zu vervollständigen.
Und damit auch andere von meinen Erfahrungen profitieren, möchte ich in einer kleinen 2teiligen Serie Schritt für Schritt erklären, wie man sich einen vollständigen Feed selber baut.
Ein RSS-Feed ist im Grunde nichts anderes, als ein ganz normales XML-Dokument für welches einige gewisse "Parameter" schon vordefiniert sind. Ansonsten gilt es, wie immer für XML-Dokumente, auf die Wohlgeformtheit zu achten.
01 <?xml version=\"1.0\" encoding=\"utf-8\" ?> \n
02 <rss version="2.0"> \n
03
04 <channel> \n
05 <title>Titel des Feeds</title> \n
06 <link>URL der Webpräsenz</link> \n
07 <description>Kurze Beschreibung des Feeds</description> \n
08 <language>de-DE</language> \n
09 <copyright>Autor des Feeds</copyright> \n
10 <pubDate>Erstellungsdatum("Thr, 9 Oct 2008 14:00:00")</pubDate> \n
11 <item> \n
12 <title>Titel des Eintrags</title> \n
13 <description>Zusammenfassung des Eintrags</description> \n
14 <link>Link zum vollständigen Eintrag</link> \n
15 <author>Autor des Artikels, E-Mail-Adresse</author> \n
16 <category>Kategorie des Beitrages</category> \n
17 <guid>Eindeutige Identifikation des Eintrages</guid> \n
18 <pubDate>Datum des Items</pubDate> \n
19 </item> \n
20
21 <item> \n
22 ...
23 </item> \n
24
25 </channel> \n
26
27 </rss>

Code1: Grundlegener Aufbau eines RSS-Feeds

Laut Wikipedia ist das also der Aufbau eines RSS2.0-Feeds. Und wenn wir uns mit dem Minimalistischsten zufrieden geben, könnten wir hier eigentlich auch schon gleich aufhören. Tun wir aber nicht! Und darum gehen wir jetzt erst einmal Zeile um Zeile den Code durch:
01 <?xml version=\"1.0\" encoding=\"utf-8\" ?> \n
02 <rss version="2.0"> \n
03
04 <channel> \n
Das ist die Deklaration des Dokumentes. Hier legen wir den Dokumententyp (xml) sowie dessen Spezifikation (version=\"1.0\") und das Sprachformat (utf-8) fest. Weiterhin sagen wir ihm, dass das ganze ein RSS-Feed der Version 2.0 werden soll. Lasst euch im übrigen nicht von dem "\n" verwirren. Dieses ist nichts weiter als ein "erzwungener" Zeilenumbruch im Quelltext (damit auch der nachher schön aussieht). In Zeile 4 öffnen wir dann das eigentliche Dokument. Und da kommt schon wieder eine kleine Sache, die man beherzigen sollte: Der Channel Tag darf(!) nur einmal vorkommen.

Nun folgt der Header. Hierbei möchte ich mich auf die notwendigsten Eingaben beschränken.

05 <title>Titel des Feeds</title> \n
06 <link>URL der Webpräsenz</link> \n
07 <description>Kurze Beschreibung des Feeds</description> \n
08 <language>de-DE</language> \n
09 <copyright>Autor des Feeds</copyright> \n
10 <pubDate>Erstellungsdatum("Thr, 9 Oct 2008 14:00:00")</pubDate> \n

Dies sind die 6 Eingaben, die in jedem Fall vorhanden sein müssen. Ich denke, dass die Namen hier auch für sich sprechen. Etwas Tricky wird es nur bei der Zeitangabe. Diese muss in einem speziellen Format vorliegen (genauso und nicht anders wie in der Klammer). Wenn diese Konvention nicht eingehalten wird, gibt's keine Datumsangabe und es gibt ja nicht wenige, die sich unvollständige RSS-Feeds nicht anschauen. Mal abgesehen davon, dass wir ja auch einen Ruf zu verlieren haben. Mit diesem Problem werden wir uns unter anderem auch nochmals im zweiten Teils des Tutorials genauer befassen. Trotzdem noch ein letztes Wort dazu: viele nutzen im Header statt dem Tag <pubDate> viel eher den Tag <lastBuildDate> und schreiben dort das letzte Aktualisierungsdatum dort rein. Wir werden das in Zukunft genauso handhaben.
Als nächstes wollen wir endlich unseren Feed mit Inhalten füllen und dazu sind folgende Zeilen zuständig:
11 <item> \n
12 <title>Titel des Eintrags</title> \n
13 <description>Zusammenfassung des Eintrags</description> \n
14 <link>Link zum vollständigen Eintrag</link> \n
15 <author>Autor des Artikels, E-Mail-Adresse</author> \n
16 <category>Kategorie des Beitrages</category> \n
17 <guid>Eindeutige Identifikation des Eintrages</guid> \n
18 <pubDate>Datum des Items</pubDate> \n
19 </item> \n
Ich hatte ja schon weiter oben die Wohlgeformtheit angesprochen. Und hier schlägt sie nun voll zu. Jeder Beitrag wir zwischen den <item>...</item> Tags geschrieben. Sprich für jeden neuen Beitrag brauchen wir einen neuen <item> Tag, der durch weitere Tags genauestens Definiert ist. Halten wir die Reihenfolge der Tags nicht ein: nothing goes. also seid sorgsam.
Ansonsten sollten die Namen wieder für sich sprechen. Ein Beitrag zeichnet sich eine Überschrift, einen Text, einem Datum wann er veröffentlich wurde, einer ID, etc. aus. Und die können hier alle rein. Können ist deshalb makiert, weil ihr an diesem Punkt prinzipiell freie Hand habt, aber die Auflistung, wie sie hier ist, darf als durchaus brauchbar bezeichnen lassen.

Zum Schluss müssen wir natürlich noch die restlichen offenen Tags schließen:
25 </channel> \n
26
27 </rss>
In diesem Teil des Tutorials wollen wir auch erstmal gar nicht weitergehen, als unsere Beiträge hart reinzucodieren. Dynamisch machen wir das Ganze dann im nächsten Teil. Wir nehmen uns jetzt also erst einmal einen Artikel (den HTML Source Code des Artikels), packen ihn so wie er ist den Feed und speichern das ganze als "feed.rss" (oder ähnliches) ab.
Wenn wir nun in einem Feedreader (quasi jeder neue Browser bringt einen halbwegs brauchbaren Feedreader mit) unseren Feed öffnen, merken wir eines sehr schnell: Umbrüche, Links und so weiter funktionieren nicht. Keine Graphiken, Bilder: nix!
Sehr unschön die ganze Sache und auch nicht wirklich lesbar. Also brauchen wir einen kleinen "Trick" um uns wieder einen kleinen HTML Grundbefehlssatz zugänglich zu machen. Zu unserem Glück gibt es inzwischen eine offiziell erlaubte Methode um dies Grundbefehlssatz zu erhalten. Und das Ganze sieht so aus:

13 <description><![CDATA[Zusammenfassung<br>des<br>Eintrags]]></description> \n
Tja, das war es schon. Alleine durch <![CDATA[ werden unsere <br> Tags anerkannt und als Zeilenumbruch definiert. Also statt:

ZusammenfassungdesEintrages
sehen wir nun:
Zusammenfassung
des
Eintrages
Damit werden wieder textbeschreibende sowie Images- und Linktags übersetzt.

Nun ist es aber in den seltensten Fällen so, dass wir in unseren Feed hart reincodieren wollen. Viel spaßiger wäre es ja, die Inhalte direkt von einer Datenbank zu ziehen und uns nie wieder sorgen um unseren RSS-Feed machen zu müssen. Und dafür wird Teil 2 des Tutorials zuständig sein.

dieser Beitrag wurde aus dem Lautsprecher übernommen

Google Chrome

Man kann zu Google stehen wie man will und ich gehöre nun sicherlich nicht zu den unkritischen Menschen, aber eines muss man den Jungs lassen: was auch immer die machen, sie sind dabei doch sehr erfolgreich.
Die neueste "Google-Sau" die durch das Dorf Internet (und interessanter Weise auch bei den herkömmlichen Medien) getrieben wird, hört auf den Namen Chrome und soll, selbstbewusst wie immer, sofort den Internet Explorer aus dem Hause Microsoft angreifen. Spricht also vieles dafür mal einen kleinen Blick in die Beta Version zu wagen.
Zwecks dessen also mal kurz nach "Chrome" gegoogelt und da war er schon, der Download Link. OK, business as usual, ziehen, installieren und sich dann erstmal wundern. Gehörte es bei der etablierten Konkurenz zum guten Ton erst einmal zu fragen, ob Nutzerdaten von anderen Browsern importiert werden sollen, gibt Chrome einem nur noch bescheid, dass dies soeben geschehen sei. Soviel also zur Selbstbestimmung des Nutzers.

der erste Blick
Anyway, Chrome geöffnet und was man als erstes sieht, ist eine wirklich aufgeräumte, ja fast schon minimalistische GUI. Eine Textzeile, in der man URL's, beziehungweise seine Suchanfragen eintippt (erwähnenswert, man kann auch die Konkurenz als Standartsuchmaschine verwenden), darüber die Tab-Leiste, darunter die Lesezeichen, 3 Knöpfe zur Navigation, zwei für die Optionen, das wars. Im Hauptfenster erblickt man dann eine Seitenvorschau der häufigst besuchten Seiten. Diese erinnert fatal an die Tabvorschau von Opera, aber hey, prinzipiell erstmal nicht schlecht. Rechts werden einem dann die neuesten Lesezeichen präsentiert. Und Chrome hat meine Lesezeichen vom Firefox mit so einer erschreckenden Genauigkeit sortiert, dass ich mich schon gefragt habe, warum das Menü der meist besuchten Seiten noch leer war (Grund, die Seitevorschau wird nicht live geladen, sondern als Bild hinterlegt). Trotzdem, der erste Schritt ist wie immer bei solchen Sachen: Optionen durchforsten. Das Optionsmenü ist wiederum sehr minimalistisch gehalten, sollte aber für den Otto-Normal-Surfer reichen. Wichtigster Punkt: erst einmal verhindern, dass Daten an Google übertragen werden (soweit dies Chrome überhaupt zulässt), alleine schon deshalb, weil Google immer noch nicht sagt, was genau für Daten übertragen werden. Das im Menü stehende "Surfverhaten" lässt allerdings nicht unbedingt was Gutes befürchten.

das Technische
Um kurz darauf einzugehen, alle Seiten die ich besucht habe, wurden korrekt dargestellt. Die entsprechenden Browsertests schloss Chrome im Mittelfeld ab (kurz: Acid2 wurde bestanden, bei Acid3 soll's angeblich 76/100 Punkte gegeben haben. Ich konnte die Seite aber selbst nicht aufrufen...).

das Alltägliche und nette Funktionen
Kurz gesagt: Chrome ist weder eine Revolution noch eine Evolution. Zumindest in der Beta. Und trotz dessen gibt es schon das ein oder andere Gimmick, dass ich gerne auch bei der Konkurenz sehen würde.
Unter "nett" fällt zum Beispiel das in der URL Leiste nur der Domainname schwarz eingefärbt wird: Unterseiten und eventuelle GET-Parameter, die der URL angehängt werden, sind grau eingefärbt.
Auch "nett": die Funktion "Auf Seite suchen". In dem entsprechenden Fenster einfach das Suchwort eingeben und schon wird zu den Treffern (die im übrigen auch farblich makiert werden) hingescrollt. Mittels Hoch- und Runtertaste, kann man dann zu den einzelnen Treffern, sollte es denn mehrere geben, navigieren.
Die letzte Funktion der Kategorie "nett" ist die Funktion "Verlauf durchsuchen". Diese funktioniert wieder so, dass man ein entsprechendes Wort eingibt und Chrome listet einem die Seiten auf, die man schon besucht hat und natürlich einen Treffer enthalten.
Unter der Kategorie "sehr geil" fällt die Funktion "Anwendungsverknüpfung erstellen". Damit wird, wie der Name schon verrät, zur der angewählten Seite eine Verknüpfung auf dem Desktop oder / und der Startleiste erstellt. Als Icon auf dem Desktop, dient dann das Favicon der Seite. Nettes Ding, würde ich gerne auch bei Firefox sehen.

der Rest
Was bleibt noch: Standartsachen wie zum Beispiel der Zoom funktionieren ebenfalls (auch wenn man es woanders schon schicker gesehen hat).
Das anonyme Browsen hat mich ebenfalls nicht vom Hocker gehauen. Denn es geht lediglich darum, dass Seiten dann keine Cookies hinterlegen und die besuchten Seiten nicht in der Adressvorschau auftauchen. Naja, für jemanden, für den das Neuland ist, mags ja interessant und einfach sein. Prinzipiell sehe ich darin jetzt nichts großartiges...

Datenschutz?
Eines sollte man nie vergessen, es handelt sich hier um ein Google Produkt. Und Google macht nunmal sein Geschäft mit Nutzerdaten. Und so ist auch Chrome wieder dabei den User ein wenig durchsichtiger zu machen. Beginnend damit, dass Chrome beim ersten automatischen Update erst einmal diverse Daten über den User an Google schickt (Browser ID, Landessprache, etc.). Besonders aufmerksam sollten alle werden, die andersweitig Google Accounts nutzen. Denn zumindest rein theoretisch könnte durch Chrome endgültig das komplette Surfverhalten des Nutzers protokolliert werden...

Fazit
Prinzipiell wurde viel Wert auf die Optik gelegt: Die Linkvorschau muss dann zum Beispiel halt schonmal eingefadet werden und ebenso wieder ausblenden. Trotzdessen ist Chrome einer der schnelleren Browser. Insgesamt gibts aber noch keinen wirklichen Grund auf Chrome zu wechseln. Überall merkt man, dass Chrome derzeit eben doch nichts mehr als ein Firefox- und Safari-Klon ist, dem wenige aber teils nette neue Funktionen beigegeben wurden. Ebenfalls kritikfähig: der Umgang von Google mit den Benutzerdaten. Andererseits rennt man damit sowieso offene Türen ein, da Google sowieso noch nie ein Freund der Datenschützer war.

Und damit bleibt es letztendlich bei einem lauwarmen: abwarten und schauen, was in Zukunft daraus wird.

dieser Beitrag wurde aus dem Lautsprecher übernommen

Internet Explorer 8 Beta 1 - Finger weg!

Man hat ja seitens Microsoft damit getönt, dass man mit dem IE8 den Acid 2 test bestanden hat (ist ein Test, der die Kompatibilität zu CSS testet). Stimmt soweit auch.
ABER: das war's dann auch. Zu Gunsten des bestandenen Tests ging halt das ganz normale Browsen. Da man sich im Internet nicht nur irgendwelche richtig zusammengesetzte Smileys anschauen möchte, sondern eben halt Seiten, bitte einfach die Finger von lassen. Mir ist es, zugegebener Maßen, derzeit noch völlig unverständlich, warum und wieso der IE8 die div-Container sonst wohin schießt, aber nie da, wo sie hingehören. Ist aber derzeit so. Erinnert mich eher an das erste Release des Safari für Windows. Bitte nachbessern. Danke!

Update: OK, manchmal hilft einfach nur lesen: die Beta hat erstens noch Probleme mit Java-Script und richtet sich zweitens nur an Webentwickler. Und nun zur spannenden Frage: was soll ein Webprogrammierer mit einem Browser, der alle Sachen, die Java-Script beinhalten, nicht richtig darstellen kann? Und nun ist es ja nicht so, dass Java-Script nie benutzt wird im Netz. Und wenn ich dann an die Seiten denke, die AJAX einsetzen (Asynchronous Java-script And Xml) wie z.b. Google. Mhh, sorry Richmond, bleibt trotzdem nen riesiger Fehlschuss.

dieser Beitrag wurde aus dem Lautsprecher übernommen

Haben will!


Video Trace
Hochgeladen von RobGreen

via Robert Basic

dieser Beitrag wurde aus dem Lautsprecher übernommen

Safari 3 Beta 1 - der "beste" Browser der Welt

...jetzt auch für Windows. so zumindest die Anzeige, die man bei Apple seit heute auf deren Homepage lesen kann. Grund genug, mal die Beta Version des Safari 3 zu ziehen und auszutesten. Und an der Stelle würde ich ja jetzt ganz gerne was über den Safari erzählen, aber soviel lässt er da nicht zu. Derzeit erzeugen sehr vieleFunktionen einen Abbruch des Programms statt der gewünschten Funktion. Und so ist die Beta eigentlich eine Alpha. Nur soviel sei gesagt: der Safari versucht so wie auf einem Mac auszusehen und ob das gefällt ist dann wieder ne andere Frage. Die Funtionen der rechten Maustaste sind leider auch sehr eingeschränkt, sachen wie einen Shortcut anlegen sucht man dort vergeblich. Also bleibt als abschließendes Urteil: ausbaufähig. Und selbst wenn der Safari dann mal stabil läuft, gibt es kaum einen Grund (vor allem als Firefox Nutzer) zu wechseln, denn an Innovationen wurde reichlich gespart.

dieser Beitrag wurde aus dem Lautsprecher übernommen.

Willkommen auf hello world!

Es gibt Sätze, Redewendungen und Verhaltensmuster, die sind einfach nur typisch für bestimmte Berufs- und Interessengruppen. Und so steht "Hello World!" für die Informatik. Keine Computersprache in der dieser Ausruf nicht das erste Programm darstellt das man schreibt (mit Ausnahme der Rubyprogrammierer, die sich für etwas besseres halten und deren erstes Programm demzufolge puts "Hello Universe!" ist).

Und trotzdem: So ein erster Beitrag ist nie was einfaches: was soll man erzählen, was sollte man sich besser schenken, welchen Eindruck möchte man erwecken?
Um's kurz und bündig zu machen: hier wird es Informatik geben. Projekte an denen wir arbeiten, Problemlösungen die uns eingefallen sind und anderen ebenfalls helfen könnten, vielleicht auch die ein oder andere Produktkritik.
Hauptsache thematisch querfeldein und immer nah am Benutzer dran.
Eine Vorstellung der (zukünfigen) Autoren kann eventuell später mal kommen. Schauen wir mal, was die Zukunft so bringt:
Mögen die Spiele Möge das Bloggen beginnen.

Letzte Änderungen

GRUB2: Timer abschalten (starfiii, 31.Okt 09, 12:11)

Leider kein weiterer Artikel zu... (starfiii, 13.Mrz 09, 13:01)

Windows 7, Build 7000 (public Beta),... (starfiii, 22.Jan 09, 10:45)

Deadlinks und andere Peinlichkeiten (mwi, 22.Jan 09, 08:53)

Wie werde ich "Webdesigner"? (mwi, 21.Jan 09, 10:17)