24 May
Was ist heutzutage besonders nervig und trifft immer mehr Menschen? Die (teils extrem) kurze Akkulaufzeit von Smartphones! Viele Apps versprechen Abhilfe und längere Akkulaufzeiten. Stattdessen kann es passieren, dass die Akkulaufzeit nicht spürbar verlängert wird und zusätzlich unangenehme Nebeneffekte auftreten. Vor allem die Netzwerkfunktionen (mobiles Netzwerk, WLAN, VPN), Bluetooth, GPS und NFC verbrauchen einiges an Strom und werden deshalb von manchen Apps beeinträchtigt.
Einige einfache Tipps können die Akkulaufzeit auch schon stark erhöhen ohne ungewollte Störungen mitzubringen. Die Punkte sind nicht sortiert, einfach nur zusammengetragen.
Hinweis: Wenn ich im Pfad zu einer bestimmten Einstellung Klammern benutze liegt das an der unterschiedlichen Menüstruktur verschiedenster Android UIs. Manchmal sind die Menüpunkte auch anders benannt oder vielleicht in anderen Menüpunkten eingebettet. Die Menüpfade müssen also nicht bei jedem Smartphone zu 100% stimmen.
Androidnutzer erhalten einige Statistiken über Akkustatus und -verbraucher in den Einstellungen -> Power (Akku) -> Akkuverbrauch.
anbietet solltet ihr das unbedingt nutzen. Ansonsten manuell: je dunkler das Display, desto geringer der Akkuverbrauch. In dunklen Räumen gleich runterstellen, in hellen Räumen so hell einstellen, dass ihr gerade so gut sehen könnt.
mit welchem man schnell zwischen 3 Helligkeitsstufen wechseln kann.
Animierte Bildschirmhintergründe sind wahre Stromfresser, deaktivieren! Einfache Hintergrundbilder taugen auch. Ein einfaches schwarzes Hintergrundbild spart am meisten. Ebenso animierte Widgets, die mit tollen Animationen beispielsweise das Wetter anzeigen. Vor allem Social Widgets, die neben Animationen auch die Netzwerkverbindung belasten. Weg damit.
Manuell beenden geht über den letzte-Apps-Manager; auf vielen Smartphones über den
Letzterer aktiviert eine langsamere Internetverbindung, die aber weniger Akku benötigt als die standardmäßig aktivierte schnelle 3G/HSDPA Verbindung. Beides ist zu finden in den Einstellungen (-> Drahtlos und Netzwerke ->) Mobile Netzwerke -> Netzmodus. Manchmal steht da auch “3G-Netzwerke” und “2G-Netzwerke”, dann zum Stromsparen hier 2G-Netzwerke einstellen. Manchmal auch “UMTS” und “GSM”, dann “GSM” zum Stromsparen.
Beispiel: Das HTC Desire Z wird mit einem 1300mAh Akku ausgeliefert, bei Amazon gibts für ein paar Euro einen 1600mAh Akku, also 23% mehr Leistung!15 May
Zeit für eine Dokumentation nebenbei? Ein bisschen Staunen während man andere Dinge am PC macht?
Schaut euch die N24 Dokumentation zur Öresundverbindung an, sie ist noch 1 Woche lang online. Die Öre…was? Um N24 zu zitieren:
Diese Dokumentation führt den Zuschauer von Dänemark nach Schweden, wo die längste Brücke ihrer Art der Welt steht: die Öresundverbindung. Ihre Besonderheit: Sie verbindet die dänische Hauptstadt Kopenhagen mit Malmö in Schweden. Genau genommen ist sie sogar der Mittelpunkt dreier Projekte: Extreme Arbeitsgeräte, gigantische Bauteile und innovatives Design waren nötig, um die 16 Kilometer lange Verbindung zu schaffen, die die Landschaft von Skandinavien radikal verändert hat.
Dieses Projekt ist eine Ansammlung von Weltrekorden und Superlativen. Es war eine planerische, gestalterische und technologische Meisterleistung.
Meine Empfehlung: N24 Dokumentation zur Öresundverbindung

8 May
Ziel ist es ein Git Repository in ein anderes, leeres Git Repository zu kopieren, inklusiver aller Daten wie z.B. der History. Also das Kopieren / Klonen / Duplizieren eines Repositories inklusive aller Infos. Es reicht also nicht den Ordner nur zu kopieren und in das neue Repository zu pushen, damit hätte dieses Repository nur 1 Commit, nicht aber alle Daten übernommen.
Hier die Abfolge der Schritte:
23 Mar
Vor langer Zeit suchte ich eine Möglichkeit coole Locations und besuchenswerte Orte gut sichtbar “anpinnen” zu können, auf einer großen Karte wie der Google Map. Warum das nicht selber entwickeln?
Mit der “Location Map” habe ich versucht diesen Gedanken umzusetzen. Auf der Google Map kann man mit Hilfe eines Formulars neue Locations mit einem Icon anpinnen, und noch eine Beschreibung hinzufügen. Die Beschreibung kann bequem mit einem Editor bearbeitet werden. Ebenso lassen sich die Einträge natürlich nachträglich bearbeiten und löschen.


Der größte Knackpunkt des Projekts bestand darin die in der Datenbank gespeicherten Locations dynamisch auf die Google Map laden zu lassen und jeder Location ein eigenes Icon, ein Klick Event und ein Info Window zu geben. Diesen schweren Part würde ich hier kurz veröffentlichen. Ich gehe davon aus, dass ihr schon mit der Google Map hantiert und sie am besten auch schon lauffähig realisiert habt. Hier geht es jetzt nur noch im die Location Marker mit Icon, Klick Event und Info Box.
map.php:
<body onload="initialize()" onunload="GUnload()"> <div id="map_canvas"></div>
In der Webseite wird beim onload die initialize Funktion aufgerufen, in der die Google Map initialisiert und zusammengebastelt wird.
locations-main.js:
/* GMaps v3 !!! */
function initialize() {
// map initialisieren
map = new google.maps.Map(document.getElementById("map_canvas"),
{
zoom: 11,
center: new google.maps.LatLng(52.510788, 13.426666),
mapTypeId: google.maps.MapTypeId.HYBRID
});
// marker
$.ajax({
type: 'POST',
url: 'locationmgr.php',
dataType: 'json',
data: 'action=get',
success: function(data) {
for (loca in data) {
setMarkers( map,
data[loca]['XKoord'],
data[loca]['YKoord'],
data[loca]['Titel'],
data[loca]['Icon'],
data[loca]['Inhalt'],
data[loca]['EventID']
);
}
infowindow = new google.maps.InfoWindow({
content: "loading...",
maxWidth: 300
});
}
});
}
function setMarkers(map, XKoord, YKoord, Titel, Icon, Inhalt, ID) {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(XKoord, YKoord),
map: map,
title: Titel,
html: generateInfoWindowHtml(Titel, Icon, Inhalt, ID),
icon: new google.maps.MarkerImage("img/"+ Icon +".png")
});
google.maps.event.addListener(marker, "click", function () {
infowindow.setContent(this.html);
infowindow.open(map, this);
$('div.infowindow').css({
'height':'+=3px'
});
});
}
function generateInfoWindowHtml(Titel, Icon, Inhalt, ID) {
var html = "\
<div class='infowindow'>\
<img class='infowindowmoodicon' src='img/"+Icon+".png' alt='"+Icon+"' />\
<h5>"+Titel+"</h5>\
<div class='fulltext'>"+decodeHtml(Inhalt)+"</div>\
<span class='edit' onclick='javascript:editLocation("+ID+");'>(edit)</span>\
</div>";
return html;
}
function decodeHtml(encodedHtml) {
return encodedHtml
.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"')
.replace(/'/g, "'");
}
Anmerkungen:
Wie in Zeile 1 schon gesehen, ist der Code nach dem aktuelleren Google Maps API v3 Standard programmiert. Irgendwann während meiner Entwicklung stellte Google von v2 auf v3 um und ich programmierte ebenso mein halbes Projekt um, man möchte ja mit dem Fortschritt mithalten.
In den Zeilen 4-10 wird die Google Map im div initialisiert, das Zentrum auf den Berlin Alexanderplatz gesetzt, Zoom und MapType gesetzt.
Nun werden in 12-19 die Locations mit der locationmgr.php aus der Datenbank geladen und für Javascript aufbereitet. Die Daten werden entgegengenommen und eine Schleife durchläuft nun in Zeile 19 jeden Locationdatensatz. setMarkers wird aufgerufen und erzeugt in den Zeilen 38-44 ein Marker Objekt. Dieses wird mit map: map direkt auf die Google Map gepinnt.
Hier erfolgt noch der Aufruf der generateInfoWindowHtml. Diese bastelt ein optisch etwas angepasstes InfoWindow mit der Beschreibung und gibt das komplette HTML Paket zurück an das Marker Objekt, welches daraus das Info Window baut.
In den Zeilen 46-52 wird ein Listener auf das soeben erstellte Marker Objekt gelegt.
Diese 3 Schritte – Marker erstellen, InfoWindow generieren, Listener zuweisen – werden für jede Location ausgeführt und in die Map integriert.
http://public.hannes-schurig.de/LocationMapDemo/map.php
Demo Version: 0.16
Den Code könnt ihr bequem mit den Links/Rechts Pfeiltasten horizontal bewegen.
To-Do:
Rechte- & Usermanagement
Zuklappen der rechten Seite zulassen
Größen der Map und Formulare dynamisch ändern
Mehr Icons
fehlerhaften Login optisch hervorheben
Unterstützung für mobile Geräte und kleinere Auflösungen einbauen/verbessern
Ich habe schon ein Paket fertig geschnürt, dass die komplette Entwicklung in wenigen Minuten auf dem eigenen Server einrichten lässt, werde das aber erstmal nur auf Anfrage herausgeben. Die Entwicklung hat noch einige Macken und vermisst noch viele Features. Vorerst werde ich selber an dem Projekt weiterarbeiten und es dann in einem reiferen Zustand veröffentlichen.
21 Mar
Ich erinnere mich noch an das vor langer Zeit präsentierte 26 Gigapixel Halbpanorama von Paris. Das war schon gigantisch, wie weit man zoomen konnte und trotzdem noch ein scharfes Bild vor sich hatte. Tja, fuck that.
320 Gigapixel! Das ist neue Fototechnik! Ein London Panorama mit insgesamt 320 Gigapixel. Das heißt ich kann den Text lesen, den eine Frau dutzende Kilometer entfernt, in ihr Handy tippt… zumindest fast ![]()
![]()
Das ist schon sexy moderne Fototechnik. Auch nett ist das skyhigh Panorama von der Spitze des Burj Khalifa über Dubai. Der Zoom rockt hier nicht so aber die Aussicht ist schon gewaltig.
![]()
Momentan sind noch keine Einstellungen möglich.
Es wird bald möglich sein, auf Wunsch html7bar komplett zu deaktivieren.
Kommentare