Kategorie: Software

Mein letzter Post erklärte die spezielle Behandlung von Internet Explorer 6 (und jünger) in meinem Blog. Es wird statt dem eigentlich Inhalt ein bisschen Text und Links zu vernünftigen Browsern angezeigt.
Ich wollte dieses „Feature“ jetzt mit nur 1 Zeile realisieren. Den CSS und HTML Code in der tatsächlich index stehen zu haben ist unschön.
Daher präsentiere ich:

IE-Buster

a small jQuery Anti-IE Plugin

Frei nach dem Motto:
„If there’s something strange
in the internet.
Who ya gonna call?“

IE-Buster!!!
😉



Das Plugin ist nur 2,3KB groß und damit ein Leichtgewicht im Anti IE Geschäft. Es epfiehlt sich also wenn man keinen besonders hübschen und funktionsreichen Abgang beim IE sucht, sondern etwas kleines, schnelles und unkompliziertes.
Einzige Voraussetzung: jQuery muss eingebunden sein!

Code
$(document).ready(function() {
  $("head").append('<!--[if lte IE 6]><style type="text/css">#ie6-warning { display: block; width: 100%; height: 100%; background-color: white; position: absolute; z-index: 1111; top: 0px; left: 0px; color: black; padding: 10%; font-size: 17px; } #ie6-warning td { border: 1px solid #eee; padding: 4px; color: white; } #ie6-warning a { color: blue; }</style><![endif]--><!--[if gt IE 6]><style type="text/css">#ie6-warning { display: none!important; }</style><![endif]-->');
  $("body").append('<div id="ie6-warning">Ihr Browser ist zu alt um diese Internetseite korrekt darzustellen.<br/>Bitte aktualisieren Sie Ihren Browser oder installieren Sie einen anderen modernen Browser.<br/><br/>Your browser is too old to display this website correctly.<br/>Please update your browser or install another modern browser.<br/><br/><br/><table cellpadding="10"><tr><td></td><td>Google Chrome</td><td>Mozilla Firefox</td><td>Opera</td><td>Apple Safari</td><td>Microsoft Internet Explorer</td></tr><tr><td>Download (DE):</td><td><a href="http://www.google.de/chrome/">Link</a></td><td><a href="http://www.mozilla-europe.org/de/firefox/">Link</a></td><td><a href="http://de.opera.com/">Link</a></td><td><a href="http://www.apple.com/de/safari/">Link</a></td><td><a href="http://www.microsoft.com/germany/windows/internet-explorer/">Link</a></td></tr><tr><td>Download (EN):</td><td><a href="http://www.google.com/chrome/">Link</a></td><td><a href="http://www.mozilla-europe.org/en/firefox/">Link</a></td><td><a href="http://www.opera.com/">Link</a></td><td><a href="http://www.apple.com/safari/">Link</a></td><td><a href="http://www.microsoft.com/windows/internet-explorer/">Link</a></td></tr><tr><td>Suchen/Search for:</td><td><a href="http://www.google.com/search?q=chrome">Link</a></td><td><a href="http://www.google.com/search?q=firefox">Link</a></td><td><a href="http://www.google.com/search?q=opera">Link</a></td><td><a href="http://www.google.com/search?q=safari">Link</a></td><td><a href="http://www.google.com/search?q=internet+explorer">Link</a></td></tr></table><br/><br/><span>by <a href="http://it-stack.de">Hannes Schurig</a></span></div>');
});
Download

Download des Plugins v1.2

ie-buster-1.2 [.js] (Rechtsklick -> Speichern unter)
Nicht vergessen, regelmäßig nach Updates schauen.

oder

Einbinden der neuesten Version von meinem Server

<!-- <script type="text/javascript" src="jquery-min.js"></script> // (noch) Voraussetzung: jQuery! -->
<script type="text/javascript" src="http://public.hannes-schurig.de/IE-Buster/ie-buster-latest.js"></script>
Changelog


v1.2 – Anzeigefehler behoben
v1.1 – Anzeigefehler behoben

Webentwickler kennen das Leiden, Internet Explorer. Ein Graus, die Webseite auf diesen Browser abzustimmen. Zumal man meistens nur 1 Version davon installiert hat.
Mit IETester installiert man gleich 5 IE Versionen mit ihren jeweiligen Verhalten, Bugs und HTML Inkompatibilitäten.

Letzten Donnerstag kam Version 0.4.8 des Programms raus. Hier bekommt ihr den Download. Das Programm ist schnell installiert. Voll funktionsfähig in Windows 7 und 64bit, muss man dazu sagen.

Die Handhabung ist noch einfacher. Die Oberfläche verzichtet auf viel Schnickschnack und Features. Man kann einzelne Browserversionen starten und direkt die Internetseiten vergleichen.
Mehrere IE Ansichten nebeneinander? Kein Problem. Es lassen sich beliebig viele Tabs von verschiedenen IE Versionen öffnen und nebeneinander platzieren.

IETester liefert auch noch ein paar nützliche Tools mit. Dazu gehört neben der DebugBar (muss extra heruntergeladen werden) auch die Quellcodeanzeige, Schriftgrößenwahl und noch besser: aktivieren & deaktivieren von Cache, Medien (Videos, Bilder, Sound) und aktiven Inhalten (ActiveX, JS, Java).

Ein Top Tool wenn man vorher noch mit Multiple IEs oder anderen suboptimalen Lösungen gearbeitet hat!

Mein letzter Artikel beschreibt die Installation von SyntaxHighlighter in einem beliebigen Webprojekt. In WordPress macht diese Methode viel Stress, ist umständlich und funktioniert nicht richtig.

Bei WordPress ist es daher einfacher, das dafür entwickelte Plugin zu nutzen: SyntaxHighlighter Evolved.

Usage:
wordpress-syntaxhighlighter-evolved-code-usage

Eckige Klammern also; alle Details zu Sprachen, Parameter und Nutzung findet ihr hier. Nicht wunder, dass dort nirgends „Evolved“ steht; SyntaxHighlighter Evolved nutzt nämlich die Programmierung von SyntaxHighlighter. Also gelten alle Dokumentationen, die auf der Seite stehen.

Worum gehts?

Ihr habt mehrere Computer/Laptops, mehrere Betriebssysteme und nur 1 Tastatur und Maus?

Kein Problem!

Synergy ermöglicht es euch, mehrere Computersysteme mit nur 1 Tastatur und Maus zu steuern. Die Computer verhalten sich dann wie 1 System mit 4 Bildschirmen; beim Verlassen eines Monitors über den Bildschirmrand landet die Maus in einem anderen Bildschirm.
Dabei ist es egal ob die verwendeten Systeme Windows, Mac oder Linux installiert haben.

Zeig her!

Hier habe ich für euch ein Video vorbereitet. Der Test: Windows XP PC, Windows 7 PC, Windows 7 Laptop und ein MacBook werden nur von 1 Maus und Tastatur gesteuert.

Wie geht das?

Eine Anleitung der etwas umständlichen Konfiguration von Synergy findet ihr ausführlichst in meinem Gastartikel bei blogwache.de!

Das Verteilen von Artikeln über soziale Netzwerke ist ein wichtiger Besucherfaktor für jeden Blogger. Ein „like“ bei Facebook, ein Retweet bei Twitter, Bookmarks bei Digg oder eine Mail an Freunde, nichts freut und Blogger mehr, richtig?
Das sollte dem Leser natürlich so einfach wie möglich gemacht werden.

ShareThis nennt sich das Framework, mit dem ihr euch sehr schnell und einfach Sharing Buttons in Blogartikel integrieren könnt.

Mit ShareThis ist diese Möglichkeit in 10-20 Minuten fertig eingebaut.

Schritt 1: Registrieren
Registriert euch bei ShareThis. Das ist nötig, tut aber auch nicht weiter weh. Loggt euch dann ein und weiter gehts.

Schritt 2: Buttons erstellen
Ihr könnt zwischen verschiedensten Buttontypen und -styles wählen und euch die Einrichtung bei WordPress.com, blogger.com oder Typepad Blogs erleichtern lassen. Klickt euch also durch den Konfigurator.
Ein Klick auf „Get the Code Already“ führt euch eine Seite mit den 2 nötigen Codeschnipseln.

Schritt 3: Code einbauen
Der 2. Codeschnipsel mit dem Javascript Gedöns kommt in euren Header, bei self hosted WordPress meist die header.php im Themeverzeichnis. Dort in den <head> Bereich kopieren.

Der erste Code muss dort eingebaut werden, wo die Buttons landen sollen. Bei self hosted WordPress werdet ihr den Code in die single.php (einzelner Artikel), die index.php (Blog Startseite) und ggf. die archive.php.

Als Beispiel zeige ich einfach mal den Code meiner eingebundenen Buttons.

Im Titel:
html4strict“>
[…]

< ?php the_title(); ?>




Das

schiebt die Buttons von ShareThis an die rechte Seite.

Unter dem Artikel:

html4strict“>

< ?php the_content("

Read the rest of this entry »“); ?>

[…]

[…]

Das wars schon. Zumindest in der Theorie.
In der Praxis muss man sich noch die gewünschten Buttons raussuchen und das Styling auf den eigenen Blog abstimmen. Deswegen…

Schritt 4: Buttons anpassen
Die verschiedenen Buttonsdesigns könnt ihr im Nachhinein noch variieren. Dazu reichen meist kleinste Änderungen am Code.
Was man für welche Änderungen tun muss wird auf dieser Seite gut beschrieben.
Interessant ist sicherlich, welche Dienste unterstützt werden und wir ihr sie hinzufügt, alles erklärt.

Erledigt! Happy Sharing 🙂

Dieser Artikel wurde von Martin Breuer geschrieben. Momentan schreibt er an seiner Bachelor Arbeit und kann dafür eure Hilfe sehr gebrauchen.
Ich bitte euch, nehmt euch ein wenig Zeit, lest den Artikel und lasst eure(n) Browser mal durch seinen WebGL Benchmark laufen.
Martin ist Autor von droidnova.com, ein auf Android Themen spezialisiertes Blog. Zusätzlich leitet und programmiert er das Projekt „Saint Feint City“ (Facebook), ein opensource, SimCity-ähnliches Android Spiel.


Informationen

Benchmarks gibt es wie Sand am Meer. Für nahezu alles was man sich denken kann. Für mich gibt es momentan ein wichtiges Gebiet für das es kaum einen Benchmark gibt. Die Benchmarks für WebGL, die ich bisher gefunden habe, sind entweder nur für Vollprofis ( Link: http://webgl-bench.appspot.com/ ) verständlich oder sie sind nicht gut gepflegt und laufen daher der Entwicklung von WebGL kräftig hinterher. Für meine Bachelorarbeit musste ich einen Benchmark schreiben, der die Leistungsfähigkeit von WebGL misst. Damit die Leistungsfähigkeit nicht nur unter den Browsern verglichen wird, sondern auch mit alternativen Lösungen wie einem Java Applet, musste der Benchmark entsprechend auch in einem Applet realisiert werden.

Mein Benchmark läuft in 2 Teilen ab. Der erste Teil ist eine reine WebGL Implementierung und nutzt daher nur OpenGL ES 2.0 Aufrufe über die Javascript Engine und Javascript selbst, um alles zu steuern.
Der zweite Teil ist eine Portierung des Benchmarks zu einem Java Applet. Bei beiden Benchmarkteilen werden die Frameraten in Abhängigkeit zu den angezeigten Elementen ermittelt und eine Punktzahl ausgerechnet. Anhand dieser Punktzahl ist es möglich, nicht nur die WebGL Leistungen browserübergreifend zu ermitteln, sondern auch die Leistung im direkten Vergleich mit einer anderen Technologie zu sehen.

Nach ersten Erkenntnissen steckt die Implementierung von WebGL noch in den Kinderschuhen. Sie wird zwar von den wichtigsten Browsern (abgesehen vom Internet Explorer) schon indirekt unterstützt, dennoch ist die Leistung im Vergleich zum Java Applet ziemlich schwach. Sicher liegt das zum einen an der Geschwindigkeit von Javascript im Vergleich zu Sprachen wie Java und C/C++. Wer Interesse an Javascript Benchmarks für seine Browser hat, der sollte vielleicht die gängigen 4 Benchmarks ausführen und schauen, welcher Browser bei ihm am schnellsten läuft.

Google V8 Benchmark:
http://v8.googlecode.com/svn/data/benchmarks/v6/run.html
Mozillas Dromaeo:
http://dromaeo.com/
Mozillas Kraken:
http://krakenbenchmark.mozilla.org/
Webkits SunSpider:
http://www2.webkit.org/perf/sunspider/sunspider.html

Damit die ersten Erkenntnisse allerdings zu fundierten Erkenntnissen werden, würde ich mich freuen, wenn Ihr eurer Neugier nachgebt und den Benchmark selbst ausführt. Am Ende des Benchmarks könnt Ihr eure Ergebnisse in einem Formular sehen. Wenn Ihr das Formular auch noch abschickt, dann kann ich eure anonymen Daten zur Analyse in meiner Bachelorarbeit verwenden.

Der Benchmark

Meinen WebGL Benchmark findet man unter:

http://martin.cyor.eu/benchmark

Falls euch WebGL komplett neu ist, bitte die ersten beiden FAQ Einträge durchlesen, dort ist alles nötige erklärt bzw verlinkt.

Support

Wer Probleme mit dem Java Applet hat (was leider zu häufig vorkommt) kann die Ausgabe der Java Console vertrauensvoll an mich schicken. Ich werde dann versuchen das Problem zu beheben.

Sooo, es gibt eine neue Kategorie in meinem Blog: „Android“!
Seit Mitte Dezember bin ich recht stolzer Besitzer eines HTC Desire Z (nachfolgend nur als „Handy“ bezeichnet) und wühle mich seitdem voller Begeisterung durch das Informations-Dickicht.
Ich hoffe euch in Zukunft hin und wieder mit Android Themen erfreuen zu können.

Aber bevor ich hier Android Kram schreibe gibt es natürlich 1 wichtige Sache zu erledigen: Screenshots vom Android Smartphone ermöglichen!
Mein Blog liebt Screenshots also müssen auch Android Screens gemacht werden können.
Das ist jetzt Thema, denn es ist einfacher als gesagt, zumindest in meinem unglücklichen Fall.

2 Möglichkeiten

Es gibt 2 verschiedene Möglichkeiten, Screenshots in Android zu ermöglichen:
1. Das Handy rooten und ein App installieren, dass dazu fähig ist.
2. Die nötige Software auf dem Computer installieren, das Handy per USB zum PC verbinden und mit dem Tools ein Foto machen.

Die Vorteile von Punkt 1 gegenüber Punkt 2 sind klar. Man braucht nicht immer den PC vor der Nase, wo die nötige Software/Treiber installiert ist. Und man kann sogar unterwegs, wenn sich grad ein Event auf dem Bildschirm abspielt das schlecht rekonstruierbar ist (Fehler etc), einen Screenshot machen.

Punkt 1

Ich empfehle also Punkt 1, falls es möglich ist. Die meisten HTC Modelle können relativ einfach gerootet werden, siehe unrevoked.
Leider: Das Desire Z gehört leider noch nicht zum Arsenal. Momentan kann auch VISIONary nicht helfen, da durch das aktuellste Firmware Update die genutzte Lücke geschlossen wurde.
Rooting fällt also momentan für das DZ flach.
Da das Thema aber täglich neu entschieden wird werde ich mich hier nicht weiter festlegen oder über rooten quatschen. Informiert euch einfach, wie sich euer Phone rooten lässt und zieht es, nach Backup, durch.

Punkt 2

Dann eben Punkt 2, wir haben ja nicht ewig Zeit auf root zu warten.
Dieser Prozess ist jetzt etwas aufwändiger aber ist zu schaffen.

Schritt 1-5 sind in beliebiger Reihenfolge. Habt ihr einen dieser Schritte schon gemacht oder sowieso schon installiert, nicht alles deinstallieren und neumachen sondern einfach die anderen Schritte ergänzen.

Schritt 1: Android SDK herunterladen, installieren und einrichten.
Downloadlink – Installer für euer System ziehen und installieren.
Startet den „SDK Manager“ (bzw. er wird nach der Installation automatisch gestartet) und es öffnet sich ein Paket Installer, der euch gleich ein paar Pakete aufdrücken will. Schließt das Fenster erstmal.
Klickt auf den Menüpunkt „Available Packages“. Ehrlich gesagt bin ich nicht so sicher, welche Pakete ihr als Minimum braucht. Meine momentane Konfiguration ermöglicht Screenshots, ich habe nur folgende Pakete:
Die ersten 3 Pakete stehen unter „Android Repository“, das „Google USB Driver package“ findet ihr in der Kategorie „Third Party Add-ons“.

Sollte es später mal zu Problemen oder Fehlern kommen könnt ihr hier ALLE Pakete ziehen und somit ausschließen, dass es an fehlenden SDK Paketen liegt. Aber da das große Datenmengen sind (mehrere Gigabyte) würde ich erst ab Schritt 8 darüber nachdenken.

Schritt 2: Java SDK herunterladen und installieren.
Downloadlink – Klick auf den Button „Download SDK“, wählt euer System aus, installiert das Ganze, fertig.

Schritt 3: Eclipse installieren
Downloadlink – Zieht euch die Classic Version von Eclipse, alternativ gingen auch die Java oder RCE Varianten.
Installieren und starten.

Schritt 4: Eclipse ADT Plugin installieren
In Eclipse klickt ihr auf „Help“ > „Install New Software…“. Es erscheint ein neues Fenster, in dem ihr die URL https://dl-ssl.google.com/android/eclipse/ eintragt und die gefundenen Pakete installiert. Beim Installieren müsst ihr 3 Sachen zustimmen, eine Sicherheitswarnung bestätigen und Eclipse neustarten, alles kein Problem.
Geht nun zu „Window“ -> „Preferences“ -> „Android“ und tragt bei „SDK Location:“ den Pfad zu eurem Android SDK ein.

Schritt 5: USB-Debugging aktivieren
Fast geschafft. Nehmt das Handy in die Hand und aktiviert das USB Debugging. Das geht unter Einstellungen -> Anwendungen -> Entwicklung -> USB-Debugging, Häkchen rein.

Schritt 6: Testen
Okay, Android SDK schließen, Eclipse schließen, Handy vom USB trennen, alles auf 0. (Diesen pseudo-hilfreichen „Alles auf 0“ Zwischenschritt baue ich nur vorsichtshalber ein, da bei mir das alles nicht so glatt lief)

Handy wieder anstöpseln, „Nur Laden“ als USB Aktion reicht aus.
Eclipse öffnen, „Window“ -> „Show View“ -> „Other…“ -> „Android“ -> „Devices“

Hier steht nun, wenn die Schritte korrekt befolgt wurden und mit etwas Glück, 1 Eintrag drin; euer Handy.
Das Icon rechts macht ein Screenshot vom Gerät:

Hat das nicht funktioniert? Wird kein Gerät angezeigt oder kommt es zu Fehlern? Dann gehts weiter:

ggf. Schritt 7: Neustart!
Viel wurde installiert, viel gefummelt, vielleicht hat das System einen typischen Windows Schluckauf. Aber auch für Macs kann es nicht schaden.
Neustart des Systems!
Öffnet jetzt die Konsole und navigiert in den „platform-tools“ Ordner des Android SDK. Setzt dort die Befehle

adb kill-server

und

adb start-server

ab. Mit

adb devices

seht ihr die erkannten Geräte.

P:\Android SDK\platform-tools>adb.exe kill-server
P:\Android SDK\platform-tools>adb.exe start-server
P:\Android SDK\platform-tools>adb.exe devices
List of devices attached
HT0BBRT01206 device

Wird nichts gelistet und auch nach den Neustarts meckert Eclipse? Ab zu Schritt 8.

ggf. Schritt 8: Treiber installieren
Schaut mal in euren Geräte-Manager. Steht dort ein unbekannter Eintrag, der vorher noch nicht da war? Dann weiter.
Besucht die Homepage eures Handyherstellers und zieht euch die offiziellen Treiber. Für mein HTC Desire Z hab ich mir einfach die Synchronisationssoftware geladen. Diese hat sich dann auch um die korrekten Device Driver gekümmert.

Eine alternative Beschreibung der Treiberinstallation, die man recht oft bei dem Thema im Netz findet, steht sehr ausführlich und mit Screens auf groovypost.com.

Achja, wie in Schritt 1 kurz angemerkt, solltet ihr bis hierhin Probleme oder Fehler haben, zieht euch mal ALLE Pakete mit dem Android SDK Manager um ausschließen, dass es an fehlenden SDK Paketen liegt. Achtung, mehrere Gigabyte werden geladen und installiert, das kann dauern.

Gegebenenfalls jetzt nochmal Schritt 7 wiederholen, nur um sicherzugehen.
Dann sollte es aber wirklich funktionieren.
Wenn nicht, schreibt mir; mal sehen ob ich helfen kann.

Weitere Hilfen:
Android SDK Installation
Eclipse ADT Plugin Installation

Do NOT follow this link or you will be banned from the site!