Sonntag, 23. Januar 2011
Tools4Roku: Wechselkurse...
Die EZB veröffentlicht den aktuellen Euro-Kurs als XML-Datei unter http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml. Daraus lässt sich was machen ;-) Bis bald?
Donnerstag, 20. Januar 2011
TiKZ - Schönere Grafiken und Bilder in LaTeX
Hier ein Beispiel wie ich Pixelbilder einbinde und dann mit TikZ einfach unter Angabe der Pixelkoordinaten auf das Bild zeichne. Man trägt als
\pgfmathsetlength{\imagewidth}{0.64\textwidth} einfach die gewünschte Bildbreite in Prozent der Textbreite ein und in dernächsten Zeile die aktuelle Breite des Bildes in Pixeln. Alles ist nun so skaliert, dass man mit den üblichen \draw Befehl von TikZ unter Angabe der Pixelposition zeichnen kann. Schön einfach, oder? Bei wissenschaftlichen Veröffentlichungen lassen sich so leicht Maßstabsbalken, Pfeile und Kringel um hervorzuhebende Merkmale einfügen.\NeedsTeXFormat{LaTeX2e}
\documentclass[fontsize=11pt, paper=a4]{scrbook}
\usepackage[final]{graphicx}
\usepackage[rgb]{xcolor}
\usepackage{tikz,pgfplots}
\usetikzlibrary{calc}
\pgfplotsset{compat=1.3}
\newlength\imagewidth
\newlength\imagescale
\begin{document}
\pgfmathsetlength{\imagewidth}{0.64\textwidth} % desired displayed width of image
\pgfmathsetlength{\imagescale}{\imagewidth/300} % pixel width of image
% adjust scale of tikzpicture (and direction of y) such that pixel
% coordinates can be used for drawing overlays:
\begin{tikzpicture}[x=\imagescale,y=-\imagescale]
\node[anchor=north west,inner sep=0pt,outer sep=0pt] at (-0.5,-0.5)
{\includegraphics[width=\imagewidth]{JanisJoplin}};
;
\definecolor{GoemonXColor}{rgb}{0.79,0.79,0.4}
\draw[thick, color=GoemonXColor, -latex]
(115,15) node[anchor=west] {\huge\textbf{Janis Joplin}} --(88,27)
;
\end{tikzpicture}
\end{document}Und so sieht dann das Ergebnis aus (PDF).
Dienstag, 18. Januar 2011
Android Linux auf dem MSI U100
Bootet recht flott auf meinem kleinen Netbook (MSI U100), aber das war es auch schon. Android ist eben nicht für Tastatur- und Mausbedienung gemacht. Auch laufen "out of the box" weder WLAN noch die WebCam.
Sobald transparente Fensterchen in den Vordergrund kommen hängt das Android und es geht nur mit viel Geduld weiter. Also erstmal Tschüss lieber Android.
Samstag, 15. Januar 2011
Hochwasser: Pegelstand in Tools4Roku (t4roku)
Um nicht immer sebst im Netz nachsehen zu müssen wie hoch sie inzwischen ist, habe ich mein t4roku Skript auf der Roku Soundbrigde etwas erweitert. In den Blog der die Wetterdaten von yahoo.com holt habe ich folgende Zeilen eingefügt um den aktuellen Pegelstand der Elbe abzufragen:
# get river stage data from internet
$pegeldata = "";
$pegeldata = `wget -q -O - "http://www.pegelonline.wsv.de/svgz/pegelstaende_neu.xml"`;
if ( ($pegeldata eq "") or (substr($pegeldata, 0, 4) eq "wget") ) {
# if its empty, then something went wrong, e.g. no connection
$pegel = "ERROR";
} else {
# extract the river stage from xml file
$pegeldata =~ /DRESDEN<\/pegelname>\n<messwert>([^<]+)>/;
$pegel = $1;
}Die Anzeige erfolgt im Uhrzeitblock neben der Uhrzeit:$display->msg(text => substr(localtime(time), 11, 5), duration=>0, font=>3, x=>20, y=>0, keygrab=>0);
$display->msg(text=>"Elbe: ".$pegel."cm", duration=>0, font=>3, x=>105, y=>0, keygrab=>0);
Und sie steigt weiter!
Dienstag, 11. Januar 2011
Mit GpsMid gesammelte CellIDs mit Script zu OpenCellID.org senden
#!/bin/bash
## OpenCellID-ApiKey:
apikey=1234567890abcdefghji
echo "Upload all CellID data to OpenCellID.org"
echo "========================================"
echo "using API-Key: $apikey"
for file in `ls *.txt`;do
echo "Processing $file ..."
# for every line in $file
for line in $(< $file);do
# data per line is: lat,lon,mcc,mnc,lac,cellid,
echo -en '\E[33m '$line' :'; tput sgr0
# replace the comma by space and output to variable array $celldata
celldata=( `echo "$line" | sed 's/,/ /g'` )
if [[ "${celldata[0]}" == "lat" ]];then
# this is the header line
echo " header"
else
# upload using wget
mycall=`echo "http://www.opencellid.org/measure/add?key=$apikey&mnc=${celldata[3]}&mcc=${celldata[2]}&lac=${celldata[4]}&cellid=${celldata[5]}&lat=${celldata[0]}&lon=${celldata[1]}"`
resp=`wget --quiet --output-document=- $mycall`
# check if upload was OK
if [[ $resp =~ .*ok.* ]];then
# Upload is OK, green comment
resp=`echo $resp | sed 's/.*<res>\(.*\)..res>.*/\1/g'`
echo -e '\E[32m '$resp; tput sgr0
else
# Something is not OK, so print it in red
# and output $celldata to "failed.txt"
resp=`echo $resp | sed 's/.*<res>\(.*\)..res>.*/\1/g'`
echo -e '\E[31m '$resp; tput sgr0
echo $line >> failed.log
fi
fi
done
mv $file uploaded/
doneEs ist langsam, nicht an allen Stellen elegant oder kurz und bestimmt nicht bug-frei, jedoch tut es seinen Dienst.
Freitag, 31. Dezember 2010
Wo war ich dieses Jahr?
Dabei bin ich auf das tolle Python-Script heatmap.py gestossen. Mein Bewegungsmuster für 2010 sieht dann so aus:
Um aus den rund 40 MByte GPX-Daten mit über 400 000 Datenpunkten dieses Bild zu berechnen, benötigt meine Atom-Maschine knapp 20 Minuten. Ums schnell nochmal für 2009 zu machen habe ich dann folgendes Script geschrieben:
>#!/bin/bash
## dieses Script verbindet viele GPX-Dateien und macht mit heatmap.py eine Karte daraus
START=$(date +%s)
progbar(){
p=$1
while [ -d /proc/$p ]
do
echo -e '.' ; sleep 1
done
}
echo -e '\E[33m(00) GPX-Dateien finden und in Unterordner kopieren'; tput sgr0
find /sourcedir/ -iname "2009-*.gpx" -exec cp {} /destinationdir/gpx/2009/ \; & progbar $!
echo -e '\E[33m(00) GPX-Dateien verbinden, überflüssige XML-Tags entfernen'; tput sgr0
## merge all gpx files
cat gpx/2009/*.gpx > temp1.gpx & progbar $!
## remove the duplicate headers and footers
sed '/^<?xml.*$/d' temp1.gpx > temp2.gpx & progbar $!
sed '/^<gpx.*$/d' temp2.gpx > temp3.gpx & progbar $!
sed '/^<\/gpx.*$/d' temp3.gpx > temp5.gpx & progbar $!
# reinsert one header and one footer
echo "<?xml version='1.0' encoding='UTF-8'?>" > 2009.gpx
echo "<gpx version='1.1' creator='GPSMID' xmlns='http://www.topografix.com/GPX/1/1'>" >> 2009.gpx
cat temp5.gpx >> 2009.gpx & progbar $!
echo "</gpx>" >> 2009.gpx
# remove the temporary files
rm temp*.gpx
echo -e '\E[33m(00) Heatmap erstellen'; tput sgr0
# invoke heatmap.py
python heatmap.py --gpx=2009.gpx --output=2009-DD.png --verbose \
--projection=equirectangular --extent=50.96,13.39,51.22,13.93 \
--background=black --radius=5 --gradient=rainbow.png \
--width=2048
END=$(date +%s)
DIFF=$(( $END - $START ))
echo -e '\E[33mFertig in '$DIFF' Sekunden'; tput sgr0
Für 2009 macht das dann ähnliches Bild:
Dienstag, 28. Dezember 2010
James Clawell - "Shogun"
Arthur Golden - "Die Geisha"
Understanding Basic Japanese Grammer
Sanseidos Daily Concise Wöterbuch DEUTSCH
Bücher
Weihnachten bescherte mir zwei neue Bücher - ohne Bezug zu Japan.
Mittwoch, 22. Dezember 2010
Asiatische Zutaten (Double Phoenix brand, 廣東米粉)
Freitag, 17. Dezember 2010
Software für HTPC
Ich habe noch ein neues Frontend für HTPC gefunden: http://mymediasystem.org. Die Screenshots sehen toll aus, jedoch ist das Projekt zur Zeit nicht sehr aktiv. Entweder es läuft super und niemand hat Probleme damit, oder die Entwicklung schläft.
Edit 22.12.2010: Und noch ein paar neue Softwares, die es zu erkunden gibt:
- Ember Media Manager ("Nur" Scarper und Metadateneditor)
- Yet Another Media Meta Manager (Ein Metadatenmanager der unter Windows als Dienst läuft)
- Boxee als XMBC abkömmling schein auch eine gute Figur zu machen
(+) Boxee sieht toll aus
(-) Boxee kann kein Live-TV (DVB-T)
Freitag, 10. Dezember 2010
Powerpoint Präsentation mit Animationen in PDF umwandeln
Scheinbar ist es nicht möglich Powerpoint Präsentationen mit mehreren Animationen in ein PDF umzuwandeln und alle Animationen zu behalten.
Einen netten Umweg zeigt Neil Mitchell auf seinem Blog. Er macht es wie LATEX und splittet alle animierten Teile in einzelne Folien - ganz clever mit einem VBA-Script. Toll!
Montag, 29. November 2010
Elementarzellen mit JMOL darstellen
Hat man die Koordinaten aller Atome, kann man in Script mit
data "model HfO2 kubisch"
22
HfO2 kubisch
Hf -2.5200 -2.5200 -2.5200 +4
Hf -2.5200 2.5200 -2.5200 +4
Hf 2.5200 2.5200 -2.5200 +4
Hf 2.5200 -2.5200 -2.5200 +4
Hf -2.5200 -2.5200 2.5200 +4
Hf -2.5200 2.5200 2.5200 +4
Hf 2.5200 2.5200 2.5200 +4
Hf 2.5200 -2.5200 2.5200 +4
Hf -2.5200 0.0000 0.0000 +4
Hf 0.0000 -2.5200 0.0000 +4
Hf 0.0000 0.0000 -2.5200 +4
Hf 2.5200 0.0000 0.0000 +4
Hf 0.0000 2.5200 0.0000 +4
Hf 0.0000 0.0000 2.5200 +4
O -1.2600 -1.2600 -1.2600 -2
O 1.2600 1.2600 -1.2600 -2
O 1.2600 -1.2600 1.2600 -2
O -1.2600 1.2600 1.2600 -2
O -1.2600 -1.2600 1.2600 -2
O 1.2600 1.2600 1.2600 -2
O -1.2600 1.2600 -1.2600 -2
O 1.2600 -1.2600 -1.2600 -2
end "model HfO2 kubisch";
show datadie Atome darstellen lassen. Um die Darstellung irgendwo einzufügen ist ein weißer Hintergrund meist besser geeignet:
background white;Oft wird es übersichtlicher, wenn man statt der automatisch erzeugten Verbindungen nur einige einzeichnet.
connect DELETE;
connect (atomno=1) (atomno=4);Und mit
connect (atomno=3) (atomno=7) HBOND RADIUS .03 black create;habe ich eine schwarze, dünne Strichlinie gezeichnet, da mit
draw line1 color black (atomno=5) (atomno=4);nur durchgezogene Linien möglich sind. line1 ist dabei ein Name für das Zeichnungsobjekt. Jede neue Linie benötigt einen eigenen Namen: line1, line2, line3. Gibt man mehr als drei Punkte (Atome) an, so wird eine Ebene gezeichnet. Statt der Atompositionen kann man auch Koordinaten in der Form {x y z} angeben. Zum Beispiel zeichnet
draw plane1 color red {10 0 0} {0 10 0} {0 0 10} translucent;eine halb durchsichtige rote Ebene.
Die Nummern der Atome kann man sich schnell mit
select all;
color labels black;
label %i;
select none;einblenden. Ich setze die Schriftfarbe dabei gern auf schwarz, da die von JMol vergebenen Schriftfarben auf den farbigen Atomen meist schwer zu erkennen sind. Als Farbnamen versteht JMol die Begriffe:
blue, deepskyblue, cornflowerblue, cadetblue, turquoise, cyan, yellow, gold, green, greenblue, chartreuse, mediumspringgreen, aquamarine, deeppink, magenta, purple, darkmagenta, blueviolet, violet, orange, red, redorange, indianred, lightsalmon, tan, burlywood, sienna, gray, white, und black.
Den Radius der Atome kann man auch anpassen,
cpk 40%oder man ändert nur eine Sorte:
select Hf*;
cpk 60%;das kann man einfach nutzen um Atome zu verstecken.
Eine Ansicht kann man sich speichern, wenn man über Rechtsklick, Show, Orientation einen der beiden Befehle ins Script kopiert.
Dienstag, 16. November 2010
HTPC unter Linux fürs Wohnzimmer
Folgende Hardware habe ich verbaut:
- Gehäuse: Linkworld LC820-01 in Silber/Schwarz mit Kartenleser. Die Verarbeitung ist billig, aber OK für den Preis. Die hässliche blaue Power-LED habe ich gleich wieder abgeklemmt. Das Netzteil und den Lüfter habe ich ausgebaut. Wichtig war mir beim Kauf der Kartenleser und die USB-Anschlüsse an der Front, und das es von der Breite auf meine kleine Stereoanlage passt.
- Motherboard: Zotac Ion-ITX (Lüfter kam schon zerbrochen an)
- RAM: 2x 2 GByte DDR2 Corsair Twin2X CL5, PC6400/800
- Festplatte: 500 GByte
- Lüfter: den zerbrochenen Originallüfter habe ich durch einen 75mm Lüfter (Conrad) an 5V vom USB ersetzt. Er bläst nun von oben in den großen Kühler rein. Den im Gehäuse vorhandenen Lüfter habe ich ausgebaut. So ist die Kiste sehr leise, aber leider noch nicht geräuschlos.
- WLAN: die Mini-PCIe WLAN-Karte auf dem Zotac-Board läuft mit Linux nicht einwandfrei, also habe ich sie durch eine andere ersetzt (Delock WLAN Mini PCI Express 54Mbps)
- DVD: Sony Optiarc Slot In DVD-Laufwerk (ein Slot-In-Laufwerk wollte ich schon immer mal haben)
- Verkabelung: mitgelieferte SATA-Kabel und einen eingekürzten und vereinfachten Stromversorgungskabelbaum (MOLEX) gebastelt - auf einmal war wieder Platz im Gehäuse
- Keyboard: MSI Air Keyboard (einfach Klasse!!)
- Monitor: HP 2510i
- Kabel: 10m DVI (Rechner und Monitor stehen weit auseinander),
- Webcam: Logitech Communicate STX (aus meinem Bestand)
- Kabel: 2x 3m + 1x 1m USB (zum Anschluß der Webcam, diese USB-Kabellänge ist abenteuerlich, aber Video und Ton kommen gut durch)
- DVB-T: Pinnacle Cynergie T-USB (zum Fernsehen, hatte ich schon da)
- Ubuntu 10.04 LTS mit VDPAU-Treibern
- XBMC mit Live-TV (nach dieser Anleitung)
- Skype
- Firefox
- Google Earth
- ein Script das mir ein aktuelles GpsMid zusammenbastelt, darüber werde ich demnächst nochmal posten
- Truecrypt
Geocachen mit dem Handy - Cachebeschreibungen unterwegs
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Geocache Suchformular</title>
<script>
function openrecord() {
var GCCode = encodeURIComponent(document.getElementById('GCCode').value);
GCCode = GCCode.toUpperCase();
location.href = "GC" + GCCode + "_converted.html";
}
</script>
</head>
<body>
<h1>Geocache Suchformular</h1>
<form action="_GCSuche.htm">
<p>
<input type="text" name="GCCode" id="GCCode" /><br><br>
<input type="button" name="Go" value="Go to Geocache"
onclick="openrecord()">
</p>
</form>
</body>
</html>Sehe ich einen GC auf der Karte in GpsMid, so merke ich mir den GeoCode und tippe ihn in das Suchfeld. Ein klick auf den Button bringt mich dann direkt zur Cachebeschreibung. Easy! Keine langwierige Konvertierung mehr ins Mobibook format und ich kann alle Bilder (JPG, GIF, PNG etc.) sehen, Sonderzeichen werden immer korrekt dargetellt und die meisten aufwändigen Rästel mit HTML sind ebenfalls ohne Probleme lesbar.
Dienstag, 24. August 2010
Ein Media Center mit Linux
Wenn der große Monitor in Wohnzimmer wandert und ein leiser oder gar lüfterloser Rechner mit DVD-Laufwerk im Hintergrund arbeitet, erwarte ich als Oberfläche ein Media Center das folgendes kann:
- Filme abspielen
- Fernsehen abspielen und aufnehmen, EPG-Funktionalität
- Musik abspielen
- Radio abspielen
- Fotos anzeigen
- Einfach im Internet surfen
- Einfach eMails lesen
- Einfach mal mit Skype jemanden anrufen
- Wetter anzeigen
- Erweiterbar für meine Spielereien
Dafür kommen verschiedene Media Center Software in Frage, namentlich kenne ich:
- MythTV: Setup sieht kompliziert aus (frontend, backend ???), ist aber die eierlegende Wollmilchsau
- Enna: schaut nett aus
- XBMC: Filme, Musik, Video, Wetter = OK. WWW, Mail, Skype etc. extern realisieren, zum Beispeil einfach über die Ubuntu Netbook Remix Oberfläche.
- LinuxMC: sieht bunt aus, muss ich nochmal genauer angucken
Mittwoch, 11. August 2010
- Super(c) ist ein Super Programm für windows das wahrscheinlich alles kann was man irgendwann mal bei Videokonvertierung machen kann
(Closed Source, freie Software, Windows) - Mencoder sollte gleiches unter Linux tun, als Kommandozeilensoftware braucht man dazu eine GUI: GMencoder schein nicht mehr weiter entwickelt zu werden, LinCoder macht aber einen guten Eindruck.
Webcams und Screenshots
Software für Screenshots und Webcams:
- Irfanview's Capture Option (Taste C) macht in beliebigen Intervallen Bildschirmfotos, sehr einfach und meist ausreichend. Von TWAIN Quellen kann Irfanview auch Bilder aufnehmen. Mit dem Region Capture Pluging kann man auch Ausschnitte aufnhemen.
(Closed Source, freie Software, Windows, Linux mit Wine) - Yawcam ist eine ausgereifte JAVA-Software für Webcams (intern und USB), es kann Bilder in beleibeigen Abständen aufnehmen, hat eine Bewegungserkennung und bietet viele Möglichkeiten die Bilder lokal oder online (FTP etc.) zu speichern.
(Closed Source, freie Software, JAVA aber nur Windows) - VLC Player kann Webcams aufnehmen. Hier eine Anleitung dazu.
(Open Source, freie Software, Windows und Linux) - ??? nimmt Bildschirmfotos oder Webcams auf. Speichert lokal oder online. Bietet Bewegungserkennung. Nette Benutzeroberfläche
(Open Source, freie Software, Windows und Linux)
weitere Software, aber nie benutzt:
Montag, 9. August 2010
Literaturverwaltung mit cb2Bib
Bin heute auf cb2bib gestoßen. Sieht sehr interessant aus und werde ich mir wohl mal genauer Schauen müssen. Die unter GPL veröffentlichte Software kann aus vielen Quellen die bibliographischen Daten extrahieren und nach BibTeX exportieren.
Mittwoch, 4. August 2010
Gute Fachbücher auf deutsch
- Weissmantel, Christian und Claus Hamann: Grundlagen der Festkörperphysik
ISBN: 354009072X / 3-540-09072-X ) - Charles Kittel: Einführung in die Festkörperphysik





