gefrickel

Stehen wir auf den Schultern von Riesen oder auf einem Berg aus Schrott?

In einem aktuellen Projekt habe ich 8mb/1500 Dateien von unseren Programmierern geschriebenen Code (inklusive ein paar Bilder). Mit allen Symfony, Typo3, Bower, node-modules, .git Verzeichnissen sind es 250mb/37000 Dateien.

Da stellt sich wirklich die Frage wieviel toten Code und wie viele Lücken man sich mit den ganzen importen erkauft.

Fallen eure Androiden auch in den Sleep of Death?

Ich habe hier ein Nexus 10. Sowohl mit Android 4.x als auch 5.x und einer kleinen Anzahl von Programmen installiert, fällt das Tablet phasenweise in den Todesschlaf. Versucht man nach ein paar Stunden Standby es wieder zu starten, gelingt das nur mit einem Reset durch ein sehr langes Powerbuttondrücken.

Behoben hatte ich das Problem durch das entfernen der richten Programme. Nur ist das immer eine lästige Suche um welches es sich handelt. Ich kann ja nicht mal nach den letzten installierten gehen, weil es permanent Updates gibt. Habe ich den Verursacher gefunden und entfernt, ist wieder für ein halbes Jahr Ruhe. Und dann bringt das nächste Programm so einen Fehler mit. Im Netz fand ich bisher Hinweise vorrangig bei Nexus Geräten. Aber das kann ja verschiedene Ursachen haben.

Habt ihr das Problem auch?
Wie löst ihr es?
Wie kann es überhaupt sein, dass nach 60 Jahren betriebssystemprogrammierens solche Fehler überhaupt auftreten können?

Android auf dem Samsung Wave

Hin und wieder zurück - ein Experiment

Seit 2009 habe ich ein Samsung Wave. Meine Wahl von Bada war mit Absicht gegen Android gewesen. Ein paar Probleme gab es dann aber doch. Und mit ZenDroKat hat Tigrouzen das aktuelle Android 4.2.2 in Form vom CyanogenMod für die Waves portiert.
Eine Woche hatte ich es in Benutzung. Ich war wörtlich positiv über die Performance überrascht. Und doch gehe ich zurück auf Bada 2. In diesem Artikel berichte ich von den Vor- und Nachteilen.

Bada, das Für und Wider

Im Prinzip ist das Wave ein klassisches Handy mit Browser und Mailclient. Apps gibt es kaum, aber wer braucht schon diese Webseiten in Käfigen, wenn man doch das ganze Internet haben kann. Den Kalender kann ich nicht mit meinem Tablet synchronisieren, dafür bekommt meine Freundin zuhause nicht die Erinnerungen an mein bevorstehendes Meeting auf Arbeit. Und meine Daten gehören mir. Kalender, Adressen, Memos. Nichts davon muss ich bei wildfremden Providern hosten. 
 
Bada speichert Passwörter nur bis zum nächsten Start. Wenn mir das Gerät verloren gegangen wäre, hätte ich da kein Problem gehabt. Leider wird meine Zustimmung zu neuen Zertifikaten auch nur bis zum nächsten Neustart gespeichert. Für verschlüsselten Mailverkehr ist das sehr lästig. Nach jedem Neustart fragt mich das Mailprogramm erneut, ob es gmx vertrauen kann. Ich versende also gelegendlich Mails. Wenn ich dann später wieder auf den Bildschirm schaue, sehe ich den offenen Dialog, der mich noch nach der Bestätigung des Zertifikats fragt. 
 
Auch ist das Wlan und die 3G Verbindung bei längeren Transfers etwas instabil. 2mb Emails brauchen meist mehrere Anläufe zum runterladen, und Musikstreams brechen mit Sicherheit ab.
 
Es sind genügend Gründe um zur Konkurrenz zu schielen. 

Die schöne neue Welt - ZenDroKat

Diese Distribution lässt sich auf der SD- Karte installieren, ohne Bada löschen zu müssen. Nur deswegen habe ich das Experiment gewagt. Letztendlich sind es nur wenige Schritte. Die Doku hierfür war aber etwas löchrig.

Nach 4 Stunden bootete das erste mal Android auf meinen Gerät. Und es ging langsam. Die Animation des Startbildschirms ging zwar sehr flüssig, aber das SMS-Programm zu öffnen dauerte eine Minute. Bis nach tipp auf die Textzeile die Tastatur erschien, vergingen wieder 15 Sekunden. Und während dieser Zeit ist die Oberfläche eingefroren.

Mit jedem Start des Gerätes und jedem Statt der Programme wurde es flüssiger. Mehrere Hacks in den Leistungseinstellungen haben gut geholfen. Der Sunspider 0.9.1 zeigte jetzt glanzvolle 2200 ms, statt den 16000 ms vom Badabrowser. Musikstreams laufen ruckelfrei und Google Maps findet erstmalig eine korrekte Position.
 
Andererseits konnte ich das eine Telefonat nicht annehmen, weil in der Hosentasche das Display auf die geringste Helligkeit geregelt wurde, ich die annehmen-Taste nicht sah und die Hardwaretaste jetzt ja die zurück-Funktion hatte. Ich konnte das Gespräch einfach nicht annehmen. Nach einem anderen Gespräch legte ich auf und das Telefonat fror für 5min ein. 
300 mb RAM sind für Android zu wenig. Und das Wave hat ein Singlecoreprozessor. Bei Android legen Hintergrundprozesse ständig die Oberfläche lahm. Als geht flüssig, bis die Mailapp die Mails synchronisieren will. Dann kann ich nicht mehr tippen.
Und Android saugt den Akku leer. Statt den zwei Tagen zuvor, komme ich jetzt kaum noch vom morgen bis zum Abend. Selbst ohne Synchronisation und ohne Wlan, war heute 17:00 wieder das Ende des Akkus erreicht. Das macht auch kein Spaß.
Nachteilig war auch die viel zu dezente Erinnerungsfunktion unter Android. Bei Bada geht der Bildschirm an, das Telefon tönt und vibriert für Minuten, bis man es endlich bestätigt. Diese Erinnerung kann man nur sehr schwer verpassen. Der Android-Kalender macht nur leise beep. Das Benachrichtigungspopup registriere ich dann erst nach dem Termin.

Fazit

Selbst mit dem Profile Scheduler, Tweaks und Disziplin hakt die Bedienung von Android auf dem Wave auf störende Art und Weise. In der Verbindung mit der Arg gesunkenen Akkulaufzeit, ist es keine angenehme Alternative.
Für die Geräte von 2009 ist Bada eine gute Wahl gewesen. Hätte Samsung diesen Weg weiter verfolgt, hätte sehr gutes dabei heraus kommen können. Für eine flüssige Benutzung von Android ist aber eine stärkere Hardware erforderlich. Irgendwann wird also ein neues Gerät her müssen. Bis dahin bin ich erstmal vom Blick in Nachbars Garten geheilt und weiß wieder die Vorteile von Bada zu schätzen.

bunte Quadrate mit jquery

Quadrate

Mit jquery lassen sich gut Sachen animieren.
Kürzlich habe ich diese aus Neugier diese Quadrate als Demo programmiert.
Eine der Erkenntnisse war, dass die Performance bei parallelisierbaren Aufgaben doch zu wünschen übrig lässt.

eine neue Deckenlampe

eine neue Deckenlampe

Im Schlafzimmer hängt jetzt die neue Lampe. Die Konstuktion und Verkabelung ist alles Eigenbau.
Interessant sind folgende Punkte.

Die Glühbirnen (Hochvolthalogen) werfen Schatten von Glühbirnen an die Wand, bei denen man
denken könnte, dass sie aus sind. Sind sie aber nicht.
Die Birnen hängen senkrecht nach unten . 15cm tiefer hängt der gespannte Stoff. Auf diesem Bildschirm kann man aus der Entfernung "Osram" und "42W" lesen. Glühbirnen ohne diese Aufschrift sieht man aber selten. Ok, its not a bug, its a feature.

Videos in Drupal einbinden

Hin und wieder ist es notwendig Videos in Drupal einzubinden. Nicht in jedem Fall ist es möglich die Videos bei einem Dienst da draußen im Netz zu hinterlegen und dann vor Ort nur den vom Dienstanbieter gelieferten Codeschnipsel einzubauen. Dann muss man wohl oder übel selbst ran.

Ein Weg ist folgender:

1. Seite vorbereiten

  1. Module installieren: swf-tools
  2. Module aktivieren: swf-tools, FlowPlayer3-, UFO (Der Flowplayer muss noch extra unter flowplayer.org heruntergeladen um im swftools/shared/flowplayer Verzeichnis hinterlegt werden. Und ohne das UFO geht es nicht.)
  3. Module einrichten: /admin/settings/swftools flowplayer zum abspielen auswählen, Playeroptionen anpassen
  4. Eingabeformate -> SWF Tools filter aktivieren

2. Video vorbereiten

  1. Video in flv konvertieren. Avidemux hat sich bewährt. Verwendeter Videocodec: flv1 (lavc) mit 1200kb/s bei 720x400px Auflösung. Sollte das Ausgangsvideo ein 16:9 vob-mpeg2 sein, lassen sich die nicht-quadratischen Pixel hier per Filter korrigieren. Audio: mp3 (lame)
  2. Startbild extrahieren: Der Player bietet es an ein Startbild anzuzeigen. Einen Frame aus dem Originalvideo zu verwenden bietet sich hier an. Es muss als jpg gespeichert werden. png funktioniert nicht

3. Video einbinden

  1. Video direkt im Text mit dem swf Tag aufrufen. Mit image="<name>" wird das Startbild eingebunden. Der Pfad beginnt unterhalb von /sites/files/
    Bsp: <swf file="videos/beispielvideo.flv" image="videos/beispielvideo.jpg"></swf>

 

flv ist ein Containerformat das neben mp3 auch aac und Speex als Audiocodec und neben flv1 auch h.264, Sorenson Sparc und VP6 als Videocodex enthalten kann. Die Variante mit flv1+mp3 funktionierte über Avidemux recht gut. Andere Programme liefern andere Möglichkeiten.

 

overflow:auto;

"overflow:auto;" ist die Lösung.

Wenn in kurzen Texten Elemente mit float:left; oder float:right; vom Text umflossen werden, verschwindet der Hintergrund gern bis zum unteren Ende des Textes statt bis unteren Ende der Bilder. Gibt man dem Container ein overflow:auto; mit, läuft er bis zum Ende der Bilder.

Das ist so eine CSS Eigenschaft, die irgendwer mal vergessen hat automatisch einzubauen.

ein Wall-e Casemod

Ein Russe mit sehr viel Zeit hat einen Wall-e-Computerhäuse gebaut. Es ist schon toll.

Die ganze Seite englischrussia.com bietet sich an, wenn man gerade auch Zeit hat und nur mal stöbern möchte.

Er ist wieder da

Er ist wieder da.

Am. 6.2.2009 Hauchte mein BenQ R56.11 sein Leben aus.

Nach dem Frühstück fuhr ich ihn wie üblich in den Ruhezustand und ging auf Arbeit. Als ich nach hause kam, startete nicht mehr. Er regte sich überhaupt nicht, gab kein Mucks und kein Licht von sich.

Wenige Tage später, am 11.2.2009 rief ich bei der Hotline von BenQ an, war der Laptop doch gerade erst 11 Monate alt. Die freundliche Dame am Telefon erlaubte mir die Festplatte auszubauen, da ich doch nur sehr ungern meine privaten Daten mit in die Werkstatt geben würde. Zwei Tage später kam ein UPS Mensch und holte ihn ab.

Es folgte warten.

...

Und weiter warten.

Inhalt abgleichen