Cross-Compiling Android Kernel – Samsung GalaxyS2
2Das GalaxyS2 läuft ziemlich gut mit dem neuen nightly-builds von CM9 (Android 4.0.4) & den neusten Google-Apps & dem SiyahKernel.
Ich möchte hier kurz erklären, wie du einen Kernel für das Samsung S2 (CM9) auf Basis vom SiyahKernel kompilierst.
1.) Installiere Linux + Cross-Compiler
Als erstes solltest du Linux bereits installiert haben (z.B. Ubuntu, Debian ...) ggf. einfach auf einen virtuellen PC z.B. via VirtualBox. Für Ubuntu gibt es bereits ab Werk GCC für ARM, bei Debian habe ich bisher folgende Paket-Quellen ( /etc/apt/sources.list ) mit aufgenommen und anschließend gcc-4.6-arm installiert, jedoch bisher nur mit Debian *sid* getestet.
deb http://www.emdebian.org/debian/ unstable main
Install:
sudo apt-get install build-essential git gcc-4.5-arm-linux-gnueabi wget More >
C-Programm & Cflags
2Ich habe vor einiger Zeit das Prinzip von Makefiles anhand eines kleines Beispiels gezeigt -> http://suckup.de/howto/c/c-programm-primzahlen-makefiles/ <- den selben Quelltext kompilieren wir heute mit verschiedenen C-Flags und 1000000 Schleifendurchläufen ...
1.) ohne C-Flags
gcc -lm primzahlen.c -o primzahlen_slow
Output: time ./primzahlen_slow
[...] 999961 999979 999983 real 0m1.760s user 0m1.420s sys 0m0.164s
2.) ohne C-Flags & ohne "math.h" (sqrt)
gcc primzahlen.c -o primzahlen_slow
Output: time ./primzahlen_slow
[...] 999961 999979 999983 real 0m1.407s user 0m0.988s sys 0m0.192s
3.) -O2 & ohne "math.h" (sqrt)
gcc -O2 primzahlen.c -o primzahlen_2
Output: time ./primzahlen_slow
[...] 999961 999979 999983 real 0m1.405s user More >Google Chrome App für Android 4
6Gerade bei Twitter gelesen: "Google veröffentlicht Chrome für Android". Leider ist die neue Google Chrome App nur für Android 4.0 "Ice Cream Sandwich" und für bestimmte Länder verfügbar... aber da ich seit einigen Wochen ein Galaxy S2 mit CyanogenMod9 nutze, ist das kein Problem für mich.
Google veröffentlicht Chrome für Android
Google Chrome für Android Beta ist da - Alle Infos
Tabs: geöffnete Tabs vom PC können auf's Smartphone übertragen werden, zudem kann man zwischen den Tabs sehr einfach Navigieren und bereits geöffnete Tabs werden auf Chrome-Startseite angezeigt
Google_Chrome_Tabs
Chrome + Google Suche: natürlich ist die Google Suche direkt in der URL integriert
Chrome_Google
Synchronisieren: Lesezeichen synchronisieren, an Google Diensten More >
PHP-Sicherheit erhöhen
9Jeder Server welcher PHP-Skripte verarbeitet, sollte zumindest zwei Sicherheitsschlösser eingebaut haben, so dass man nicht jedem Tür & Tor öffnet.
1.) suPHP oder suexec + fcgid
Wir sollten PHP-Skript nicht alle mit dem selben User-Berechtigungen (z.B. apache) laufen lassen, daher empfiehlt es sich auf kleinen Webservern suPHP und auf Webseiten mit mehr Traffic "Fast CGI" zu installieren. Alternativ kann man PHP mit "PHP-FPM" (FastCGI Process Manager) auch jeweils als eigenständigen Prozess laufen lassen.
2.) Suhosin
Da einige PHP-Projekte nicht wirklich für Ihre Sicherheit bekannt sind, empfiehlt es sich zudem die "Suhosin" Erweiterung für PHP zu installieren. "Es wurde entworfen, um den Server und die Benutzer vor bekannten und unbekannten Fehlern in PHP-Anwendungen und im More >
Monatsnamen / Wochentagsnamen in deutsch via PHP
2"Gibt einen String zurück, der den angegebenen Formatierungs-Merkmalen entspricht. Dabei wird der gegebene Timestamp/ Zeitstempel oder - falls dieser fehlt - die momentane lokale Zeit benutzt. Der Monats- und Wochentagsname wird entsprechend des per setlocale() eingestellten Wertes gesetzt." - php.net/manual/de/function.strftime.php
setlocale(LC_TIME, "de_DE"); echo strftime("%A"); // Wochentagsname echo strftime("%B"); // Monatsname
Aero Shake deaktivieren
0"Als 'Schütteln' definiert die Windows 7-Shell eine mindestens dreimalige Bewegung eines aktiven Fensters in annähernd gegengesetzte Richtung - etwa "Rechts - Links - Rechts" oder "Oben - Unten - Oben" in kurzem Zeitabstand" - www.pcwelt.de
... ich habe das schütteln der Fenster (Aero Shake) irgendwie noch nicht ganz verstanden, da ich diese Funktion manchmal unbeabsichtigt ausführe.
Download:
perror – Explain Error Codes für MySQL in der Shell
1Info: http://dev.mysql.com/doc/refman/5.0/en/perror.html
Ausgabe:
OS error code 1: Operation not permitted OS error code 2: No such file or directory OS error code 3: No such process OS error code 4: Interrupted system call OS error code 5: Input/output error OS error code 6: No such device or address OS error code 7: Argument list too long OS error code 8: Exec format error OS error code 9: Bad file descriptor OS error code 10: No child processes OS error code 11: Resource temporarily unavailable OS error code 12: Cannot allocate memory OS error code 13: Permission denied OS error code 14: Bad address OS error code 15: Block device required OS error code 16: Device or resource More >
C-Programm – einfacher Taschenrechner
3Hier mal wieder ein einfaches Beispiel in C mit "Struktogramm" & "Programmablaufplan" & "Pseudocode" ...
#gallery-1 { margin: auto; } #gallery-1 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 25%; } #gallery-1 img { border: 2px solid #cfcfcf; } #gallery-1 .gallery-caption { margin-left: 0; }- Struktogramm via Structorizer
- Programmablaufplan via Dia (Gnome)
Pseudocode:
<strong>begin</strong> Eine 'einfache' Rechenaufgabe (z.B. 5+5) eingeben. Aufteilung der Eingabe in (drei) Variablen [ein1, ein2, ein3] <strong>case</strong> ein2 <strong>is</strong> <strong>+:</strong> Addition: "ein1" & "ein3" More >
Optimierte Gallery3D-App für Android (Froyo)
2Ich habe für mein altes Samsung Spica (Android 2.2.2) eine optimierte Gallery3D App kompiliert und ggf. läuft die App auch auf anderen Geräten, daher würde ich mich über euer Feedback freuen...
Gallery3D
Download: Gallery3D
Changelog:
* Gingerbread-Sources (Android 2.3)
* deaktiviertes Dithering
* deaktivierter dynamischer Hintergrund
* Fixes / Updates
Sources: https://github.com/voku/android_packages_apps_Gallery3D/
Crashkurs: jQuery-Selektoren
4Es ist eine Vereinfachung von JavaScript durch ein sogenanntes Framework, welches uns lästige Routinearbeit beim Programmieren abnimmt und einen einfachen Zugang zu schwer nutzbaren JavaScript-Methoden bietet.
JavaScript mit & ohne jQuery!
Für den Einstieg in das Thema möchte ich ein Beispiel mit JavaScript und den selben Effekt via jQuery zeigen.
JavaScript: (JavaScript_test1.html)
<html> <head> <title>JavaScript</title> <style type="text/css"> .green { color: #009933; } </style> <script tyle="text/javascript"> window.onload = function() { var elements = document.getElementById("box").getElementsByTagName("p"); for (var i = 0; i < elements.length; i++) { if (elements[i].firstChild.data == "Zweiter Absatz") { elements[i].className = More >
LETZTE KOMMENTARE