Mit dem kleinen Tool MyPublicWiFi ist es möglich, unter Windows eine bestehende WLAN Verbindung für andere Geräte freizugeben. Das ist ganz praktisch, wenn man z.B. im Urlaub nur die Möglichkeit hat, mit einem Gerät aufs WLAN zuzugreifen, wie in vielen Hotels oder Ferienparks. Trotzdem möchte man aber neben dem Notebook auch mit dem Handy ins Internet gehen können.
Installation und Einrichtung klappen problemlos, das Tool selbst muss aber mit Admin-Rechten gestartet werden:
Und so sieht das dann auf meinem Moto G aus – Mein normales WLAN ist Mirkwood und das neue, von meinem Notebook freigegebene ist MyPublicWifi:
Installation und Konfiguration haben keine 5 Minuten gedauert. 🙂
Mit diesem paar Zeilen Code ist es mit Java 7 möglich, zufällig Dateien aus einer Ordnerstruktur zu kopieren, z.B. um schnell mal 100 mp3 Dateien aus der Sammlung auf eine CD oder einen USB Stick zu schieben, ohne selbst bei der Auswahl Hand kreativ werden zu müssen.
Hier gibts den Sourcecode und ein fertiges JAR File zum Download: RandomFilePicker
/*
* Created on 30.08.2014
*/
package de.denniswilmsmann.rfp;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
/*
* $Log: $
*/
public class RandomFilePicker {
private final static List<File> files = new ArrayList<File>();
public static void main(String[] args) {
if (args == null || args.length < 4) {
System.out
.println("run with java -jar RandomFilePicker.jar <Source Folder> <Destination Folder> <Recursive y/n> <Number of Files>");
System.out
.println("run with java -jar RandomFilePicker.jar D:\\MyMusicArchive D:\\RandomMusic y 100");
return;
}
File sourceFolder = new File(args[0]);
if (!sourceFolder.isDirectory()) {
System.out.println(args[0] + " is not a folder");
return;
}
File destFolder = new File(args[1]);
if (!sourceFolder.isDirectory()) {
System.out.println(args[1] + " is not a folder");
return;
}
boolean recursive = false;
if (args[2].equalsIgnoreCase("y")) {
recursive = true;
}
int numberOfFiles = Integer.parseInt(args[3]);
parseFolder(sourceFolder, recursive);
if (files.size() < numberOfFiles) {
System.out
.println("not enough files found, please reduce <Number of Files>");
} else {
Set<File> selectedFiles = new HashSet<File>();
Random generator = new Random();
while (selectedFiles.size() < numberOfFiles) {
int i = generator.nextInt(files.size());
selectedFiles.add(files.get(i));
}
for (File f : selectedFiles) {
File out = new File(destFolder.getAbsolutePath()
+ File.separator + f.getName());
try {
Files.copy(f.toPath(), out.toPath());
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
private static void parseFolder(File folder, boolean recursive) {
for (File f : folder.listFiles()) {
if (f.isFile()) {
addFile(f);
} else if (f.isDirectory() && recursive) {
parseFolder(f, recursive);
}
}
}
private static void addFile(File f) {
// System.out.println(files.size() + 1 + ": " + f.getAbsolutePath());
files.add(f);
}
}
Seit den letzten ein oder zwei Updates hat Chrome unter Android die dumme Angewohnheit, ab und an weiße bzw. leere Seiten anzuzeigen. Dabei ist es egal, welche Seiten man versucht aufzurufen, denn auch Seiten von Google selbst sind betroffen.
So sieht die leere Seite aus:
Und so sollte die Seiten eigentlich aussehen:
Den Cache zu leeren oder sonst irgendwie an den Einstellungen rumzuspielen, hat bei mir keinen Erfolg gebracht. Aber scheinbar bin ich auch nicht ganz alleine mit diesen Problem, wenn man mal einen Blick auch die Chrome Seite im Play Store wirft:
Aber zurück zum Update: Einen Verbesserung der Leistung oder Laufzeit kann ich nicht feststellen, habe ich aber auch nicht erwartet. Allerdings beenden sich nun deutlich schneller Apps, als vor dem Update. Vor dem Update konnte ich z.B. Musik hören, mit Feedly diverse RSS Feeds browsen und die Artikel dann per Chrome lesen. Nun beendet sich Feedly ab und an, wenn ich den Artikel in Chrome lese. Ist irgendwie ärgerlich, denn dadurch lande ich bei Feedly immer wieder auf dem Home Screen und nicht mehr da, wo ich vorher war. Kann natürlich auch an Feedly, Chrome oder einer sonstigen App liegen.
Mit den folgenden paar Zeilen Java Code lassen sich Fotos bequemen umbenennen, d.h. der Dateiname wird noch mit dem Zeitstempel aus den Exif Daten ergänzt. Möglich macht das das Framework metadata-extractor.
Vor einiger Zeit hat WhatsApp angefangen, unter Android die lokale Datenbank auf dem Handy zu verschlüsseln. Das erhöht zwar (etwas) die Sicherheit, erschwert aber leider auch den Umzug alle WhatsApp Chats auf ein neues Handy. Im Endeffekt liegts am Google Account, mit dem das Android Handy eingerichtet ist. Auf meinem alten Handy war das noch eine @googlemail.com Adresse, auf dem neuen aber eine @gmail.com Adresse. Dadurch hat es nicht gereicht, einfach nur den WhatsApp Ordner vom alten aufs neue Handy zu kopieren. Es kam zwar die Meldung, dass das Backup wiederhergestellt werden konnte, aber ich habe nur meine ganzen Gruppen ohne Inhalt gesehen. Von den restlichen Chats fehlte jede Spur.
Was hat geholfen? Diese Anleitung aus dem Forum von www.android-hilfe.de. Das Tool, was man dazu benötigt, ist hier verlinkt.
Was ich abweichend von der Anleitung machen musste, die mit dem neuen @gmail.com Account verschlüsselte Datei auf dem neuen Handy von msgstore.db.re.crypt5 in msgstore.db.crypt5 umbenennen. Dann konnte ich WhatsApp installieren und das Backup mit ca. 25000 Nachrichten wurde wiederhergestellt.
Ach ja, soviel zum Thema Sicherheit & Verschlüsselung von WhatsApp Backups. 😉
Ich spiele mit dem Gedanken, mein altes Galaxy Nexus i9250 in Rente zu schicken und durch ein aktuelleres Modell zu ersetzen. Mein momentaner Favorit ist das Moto G von Motorala. Um grob abschätzen zu können, wie viel mehr Leistung das bringt, habe ich mal meine beiden Geräte mit AnTuTu benchmarken lassen:
Hintergrund ist, dass meine Nikon 1 J1 zwar sehr schöne Videos macht, die aber leider recht groß sind. Ich stelle diese z.B. via Google Drive anderen Leuten zur Verfügung. Im Originalformat MOV spielt Google Drive diese leider im Browser nicht ab und die Videos müssen erst runtergeladen werden. Das Problem läßt sich umgehen, indem man das Video in MP4 mit H.264 und einem beliebigen Audio Codec (AAC, OGG, MP3, …) konvertiert, bevor man es in Google Drive ablegt.
Aber wie geht das genau? Ich mache das mit dem Tool HandBrake.
Nach der Installation das Programm starten und mit Source > Open File das Originalvideo öffnen. In meinem Beispiel heißt das DSC_2676.MOV und ist 99,4 MB groß.
Bei Destiantion ändere ich noch den Dateinamen von M4V in MP4 und passe den Pfad an, wo das neu kodierte Video dann landen soll.
Auf den Tabs Video und Audio können jetzt bei Bedarf noch Änderungen gemacht werden. Ich lasse das aber einfach mal so.
Jetzt nur noch auf Start klicken und warten. Je nach Leistung des PCs und der Größe des Videos kann die Kodierung schon mal einige Minuten dauern. Das Resultat ist in meinem Beispiel eine Datei Dsc 2676-1.mp4 die nur noch 21,6 groß ist und direkt von Google Drive im Browser abgespielt werden kann.