Faxes are an rather old method for communication, but in Germany they have one advantage: as opposed to emails, faxes are legally binding in the same way as letters are. So, from time to time, sending out a fax is useful. In addition, I have a telephone flatrate included in my data plan, so I don’t have to pay the postage for letters any more. The plan: use the USB port on my router to attach a modem and send out faxes using the mgetty package.
For 3 Euro I acquired an old ELSA Microlink 56k USB modem. I did some research, this modem is one of the few ones supported by the Linux usb-cdc kernel drivers. In addition it can be powered from USB only, so I don’t need another power supply. A week after winning an auction on ebay it arrived today.
My router runs OpenWRT. I installed the following packages using the opkg system:
kmod-usb2
kmod-usb-uhci
kmod-usb-net
kmod-usb-core
kmod-usb-acm
mgetty
mgetty contains a program called “sendfax”, which can be used to dial a number and send the data. The latter needs to be in G3 format. Since I write all my letters using LaTeX, I integrated a “fax” target into my Makefile for LaTeX documents. This target reads the PDF output of LaTeX and converts it to G3 using Ghostscript. The essential command is:
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=dfaxhigh -sOutputFile=fax.g3.%d -q main.pdf
This creates a bunch of fax.g3.* files, one for each page within the PDF file. Then, I simply copy these files to my router and issue the sendfax command, for example:
sendfax #fax number# fax.g3.1 fax.g3.2
The command dials the fax number and sends the specified g3 files:
root@nibbler:~# sendfax 032121xyzxyz fax.g3.1 fax.g3.2
Trying fax device '/dev/ttyACM0'... OK.
Dialing 032121xyzxyz... OK.
sending 'fax.g3.1'...
sending 'fax.g3.2'...
If an error occurs, the command will fail and tell you about it. The mgetty package also contains various scripts for building a fax spooler, but for my personal usage, I will stick to raw sendfax. Please note that it is also possible to receive faxes, but I did not install these components so far.
No more postage for me. Yay!
Picture: CC-BY-SA-NC vtengr4047, thanks!
]]>Morgen (6.8.2010) halte ich beim Chaostreff Kaiserslautern einen Metavortrag, sprich: Einen Vortrag über Vorträge. Das Ganze ist eine recht emotionale Geschichte: In den letzten Stunden habe ich mich intensiv mit meinen eigenen Vorträgen beschäftigt. Und die Idee verworfen, zuviel Theorie da einzubauen. Das soll nicht heissen, dass Schulz von Thuns Kommunikationsquadrat nicht sinnvolles Hintergrundwissen ist. Ganz im Gegenteil, es gibt nix praktischeres als eine gute Theorie. Aber für diesen Vortrag out-of-scope.
Ich fasse mal meinen Vortrag zusammen:
UPDATE: Die Folien sind nun hier: MetaVortragsFolien (PDF)
Weiterführende Informationen:
Hatte ich erwähnt, dass ich einige meiner besten Vorträge am Flipchart ohne Rechner gehalten habe?
]]>The Contiki build system depends on some GNU utilities that are not installed. Using the following steps I was able to compile for the “native” (i.a. Mac OS) target:
### Compiler definitions
CC = gcc
LD = gcc
AS = as
NM = nm
# Use GNU ar instead of /usr/bin/ar
AR = gar
OBJCOPY = objcopy
STRIP = strip
ifdef WERROR
CFLAGSWERROR=-Werror -pedantic -std=c99 -Werror
endif
CFLAGSNO = -Wall -g -I/usr/local/include $(CFLAGSWERROR)
CFLAGS += $(CFLAGSNO) -D_XOPEN_SOURCE=500 -O
# Simplify ld arguments
#LDFLAGS = -Wl,-Map=contiki-$(TARGET).map,-export-dynamic
LDFLAGS = -Wl
Another issue is the ELF binaries for the AVR Raven boards. These files contain all components of the programs: flash and eeprom
images as well as fuse settings. Unfortunately, avrdude cannot read the ELF format. So you have to extract the flash manually:
$ avr-objcopy -R .eeprom -R .fuse -R .signature -O ihex $NAME.elf $NAME.hex
It works similar for the EEPROM section (where the IP data is stored):
$ avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 -O ihex webserver6.elf webserver6.eep
You can also check which fuse settings are used:
$ avr-objdump -d -S -j .fuse webserver6.elf
webserver6.elf: file format elf32-avr
Disassembly of section .fuse:
00820000 <__fuse>:
820000: e2 99 ff
The directory structure of Contiki is somewhat overwhelming. I am currently working in these directories:
In addition, I have a serial terminal for debugging output:
screen -U /dev/cu.SLAB_USBtoUART 57600
It took me a while to figure this out, so here are my notes:
Compile the libraries and install them into /mnt/storage (use –prefix where necessary).
BASEDIR=/mnt/storage/usr
export PATH=$PATH:$BASEDIR/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$BASEDIR/lib
export ac_cv_func_getpgrp_void=yes
export ac_cv_func_setpgrp_void=yes
./configure --target=arm-linux --host=arm-linux --disable-pthread --enable-wide-getaddrinfo --enable-zlib --with-zlib-dir=/mnt/storage/usr --enable-readline --with-readline-dir=/mnt/storage/usr --prefix=/mnt/storage/usr --with-openssl-dir=/mnt/storage/usr && make && make install
/mnt/storage/usr/bin/ruby setup.rb --prefix=/mnt/storage/usr
mkdir -p /mnt/storage/usr/lib/ruby/gems/1.8
gem install sqlite3-ruby -- --with-sqlite3-dir=/mnt/storage/usr
The result is an image with Ruby installed, and all necessary gems for my project. The tarball can be downloaded here. To install, scp it to the Chumby and log in:
scp *tarball* root@*chumby-ip*:/mnt/storage
ssh -l root *chumby-ip*
cd /mnt/storage
tar xvzf *tarball*
Now you have a directory /mnt/storage/usr with all tools permanently installed on your Chumby. In order to use it, please adjust your PATH and LD_LIBRARY_PATH appropriately:
export BASEDIR=/mnt/storage/usr
export PATH=$PATH:$BASEDIR/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$BASEDIR/lib
/me mumbles more automation needed. But not today.
]]>In Deutschland besteht eine allgemeine Meldepflicht, d.h. ich muss meinen aktuellen Wohnsitz der Meldebehörde übermitteln (Hintergrund: Wikipedia). Die dort verfügbaren Daten können prinzipiell von jedem abgefragt werden – es gibt mittlererweile auch Agenturen, die Recherchen in allen deutschen Melderegistern anbieten. Ausserdem können diese Daten natürlich auch von Unternehmen angefragt werden, welche diese zum Zwecke der Direktwerbung verwenden möchten.
Zusätzlich werden auch proaktiv Daten von der Meldebehörde weitergegeben, z.B. an Parteien, an Addressbuchverlage und bei Altersjubiläen – damit wäre auch geklärt, wie die Anzeigen im Wochenblättchen zustande kommen. Kurz gesagt: Das will ich nicht. Kaiserslautern bietet zwar ein Formular für die Anmeldung zum Jugendzeltplatz Gelterswoog an, allerdings kein Formular, mit dem ich Meldesperren beantragen kann.
Selbst ist der Mann. Das ist allerdings nicht ganz so trivial, denn Melderecht ist Landesrecht. Neben den Rahmenbedingungen des Melderechtsrahmengesetzes (MRRG) gilt auch das Meldegesetz Rheinland-Pfalz (MGRP). Zu beachten ist hierbei vor allem der Unterschied zwischen einer Übermittlungssperre und einer generellen Auskunftssperre: Letztere soll gezielt die Identität von Personen verbergen, z.B. bei Gefahr für Leib und Leben. Ich brauche bis jetzt aber nur eine Übermittlungssperre.
Meinen Musterbrief kann man hier runterladen: Übermittlungssperren-RLP. Prinzipiell sollte der Musterbrief in ganz Rheinland-Pfalz zum Erfolg führen. In anderen Bundesländern kann es jedoch notwendig sein, den Brief zu verändern.
Die Meldebehörde Kaiserslautern hat die Sperren wie gefordert eingerichtet. Allerdings scheint das Schreiben zunächst einmal zwei Monate lang eingelagert worden zu sein – erst auf eine schriftliche Nachfrage nach dem Stand schickte man mir eine “Einfache Melderegisterauskunft” als Antwort zu. Liebe Meldebehörde, macht es doch bitte Euch und Euren Bürgern einfacher und stellt ein Formular online. Dann klappt das auch schneller mit dem Bearbeiten der Anfragen zu Übermittlungssperren.
Das Bild oben: CC-BY Sudhamshu.
]]>OK, eine gute Kamera soll es sein. Was willst Du denn fotografieren? Wenn Du auf Reisen ein paar Bilder machen willst, ist eine (relativ) schwere SLR nicht unbedingt optimal. Insofern hier meine patentierte “Welche Kamera ist die Richtige”-Checkliste:
/1/ Was willst Du fotografieren?
Eigentlich die wichtigste Frage. Mit einer SLR hast Du ein Baukastensystem, das sehr flexibel ist. Aber: Du musst Dich wirklich damit beschäftigen. Das geht nicht ohne Theorie, und vor allem nicht ohne üben. Viele unterschätzen das, und die sind von ihrem neuen Spielzeug recht schnell gefrustet. Der Fotograf macht das Bild, nicht die Kamera. Wenn Du also vor allem ein paar Erinnerungsfotos, eBay-Bilder oder stressfreie Schnappschüsse machen willst: Eine SLR ist Overhead.
/2/ Kompakt oder SLR?
SLRs bieten neben dem größeren Sensor auch die Möglichkeit, andere Objektive etc. zu verwenden. Man erreicht also *potentiell* eine bessere Bildqualität und kann die Kamera flexibel umkonfigurieren. Ausserdem bieten sie meistens die Möglichkeit, RAW-Bilder zu speichern, also die nicht verarbeiteten Rohinformationen des Bildsensors. Diese müssen dann zwar am Rechner entwickelt werden (Adobe Lightroom!), bieten aber den Vorteil, dass man Weissabgleich etc. im NAchhinein verlustfrei korrigieren kann.
Aber: SLRs sind schwer, und die beste Kamera nützt nix, wenn man sie nicht dabei hat. Es gibt auch ziemlich gute Kompaktkameras, ich persönlich hab noch eine Canon SX 100. Da gibt es diverse Nachfolger, und CHDK wird auch unterstützt. Die SX 100 kann ich wirklich empfehlen – gute Optik, halbwegs lichtstark, und als Superzoom deckt die von Weitwinkel bis Tele alles ab.
Als Zwischending etablieren sich im Moment Kameras im Micro-Four-Thirds
Format. Bildqualität meistens sehr hochwertig, kompakt, aber ohne Sucher (oder nur mit elektronischem Sucher). Hab ich persönlich aber keine Erfahrung mit.
/3/ SLR: Das System
Wichtiger als die Frage nach dem konkreten Kameramodell ist in meinen Augen die Systemfrage: SLRs gibt es von vielen Herstellern. Sony, Pentax, Canon, Nikon, …. Und die Kamera ist immer nur der Einstieg in eine Welt. Früher oder später will man weitere Objektive, einen Blitz, Batteriegriff und so weiter. Die Entscheidung für eine Kamera bedeutet auch, dass man sich für eine Systemwelt entscheidet.
Ernsthaft kann ich hier nur Canon und Nikon empfehlen. Die anderen Hersteller bieten zwar sicherlich auch gute Produkte, aber wenn ich auch gebraucht oder von Zubehörlieferanten weitere $Dinge kaufen will, hab ich bei Nikon und Canon einfach die größte Auswahl. Aus eigener Erfahrung kann ich berichten, dass der Kamerabody am Ende das wenigste kostet.
Ich persönlich verwende eine Canon 450D, damit bin ich auf das Canon-System festgelegt. Als Hauptzubehör hab ich ein Tamron 17-50/2.8 Objektiv, das Canon EF 50/1.8 Mk I, das Sigma 30/1.4 und einen Blitz Canon 430EXII. Dazu noch diverse alte vollmanuell gesteuerte Blitze, Blitzstative, Reflektoren etc. Und ein Manfrotto 190XProB Stativ mit einem kleinen Manfrotto Kugelkopf. Mein Kitobjektiv will ich gerade verkaufen. Und einen guten Kamerarucksack hab ich mir auch recht schnell gekauft :P
/4/ Welche Kamera
OK, wenn Du nun wirklich eine SLR-Kamera haben willst, leg Dich auf ein System fest – Canon oder Nikon, siehe oben. Vielleicht willst Du auch Zubehör von Freunden verwenden können, dann guck, was die benutzen. Hochwertige Kameras können auch gebraucht gekauft viel Spaß machen, meine hab ich gebraucht bei Amazon gekauft. Und die tut sehr gut. In der Einsteigerklasse aktuell sind bei Canon die 1000D, die 500D und jetzt neu die 550D. Letztere ist technisch weit vor den anderen. Alles darüber würde ich keinem Neuling empfehlen, es sei denn, Du weisst absolut, das Du damit für die nächsten Jahre viel fotografieren willst.
Gebraucht würde ich mir im Moment vielleicht die 400D oder die 450D angucken – ich hab keine Ahnung, wie die Preissituation im Moment ist.
/5/ Weitere Informationen
… und tausend andere Orte im Internetz.
Vor allem aber: Frage Dich, was Du wirklich fotografieren willst, und dann informiere Dich, was Du dafür brauchst. Anders herum frustriert nur.
Das Bild oben stammt vonPurpin, CC-BY-SA-NC. Many thanks!
(Original erschienen auf einer Mailingliste des CCC Mannheim.)
I have been presenting the mySmartGrid project at C-RaDar, the monthly chaos show in Darmstadt. Someone recorded the show (don’t know who, but thank you!). You can download the MP3 here (german language):
C-RaDar March 2010: mySmartGrid and other stuff
This was a fun experience, kudos go to the C-RaDar people! The picture above: CC-BY-SA-NC by georgia.g, thanks!
]]>During the last month I was giving a lot of presentations regarding mySmartGrid. I am happy to see that people feel that demand side management is an important technique for maintaining power grid stability. I am also happy to see that using Open-Source components like Flukso and Chumby is perceived as an advantage. Especially people from the CCC have been positive about the infrastructure. OK, I also teased them with a free development kit, consisting of a Flukso and a Chumby, for their hackerspaces :-).
These were some gigs of the mySmartGrid World Tour 2010:
People have asked me where they can learn more on the project. I need to record my talk and publish it. In the meantime, here are my slides: mySmartGrid-Einfuehrung.
If you have questions, please send me an eMail or chat with me on Freenode, Channel #mysmartgrid.
Das Experiment “Wo sind denn meine Daten überall” habe ich in der letzten Zeit ausgeweitet. Ich versuche, unter Berufung auf das Bundesdatenschutzgesetz herauszufinden, woher Unternehmen meine Daten haben bzw. wem sie die Daten weitergeben. Die Grafik oben stellt den Fluss meiner Daten dar. Der blaue Kreis bin ich, ein Pfeil bedeutet Weitergabe von Daten. Hervorzuheben sind dabei die Konsumentenscoring-Agenturen Schufa und Infoscore. Eine sehr ausführliche Beschreibung der gespeicherten Daten lieferte die Ikano Bank, diese Angaben dominieren die Grafik.
Ein Zwischenfazit:
Einige Konsequenzen daraus:
All the electric power generated from renewable energy is good – no additional CO2 is produced. Saving energy in general is also a good idea – what you don’t consume, you don’t need to produce. But energy savings require you to understand your own energy consumption – you can’t improve what you can’t measure. A simple energy cost monitor is available for 10 Euro, but it requires you to plug it into different appliances in order to figure out what a specific device consumes. And only the more expensive ones log the power consumption over time, which is pretty interesting.
An alternative to the simple energy meters are smart meters. In Germany, utility providers need to offer their customers the replacement of old (typically black) meters with shiny new digital “smart” meters. Actually, there is nothing smart about them – they just transmit the energy consumption of the household via powerline or other technologies to the utility provider. The utility provider does not need to visit the household in order to get the reading. And, in some cases, customers can have a look at the realtime energy consumption of their household.
The benefit of the realtime data is that you can assess the impact of your actual energy use very quickly. Google.org is offering the PowerMeter, which works for example with the smart meters offered by Yello Strom. An interesting open-source alternative is the Flukso.
The Flukso is a little WLAN router with some additional circuits to measure your power consumption. You install it in your breaker box. Depending on the configuration of your breaker box you need one or three current clamps. These clamps just go around the cables that supply your household – it is not necessary to re-cable the breaker box. I have a three-phase supply, so my installation consists of three current clamps and the Flukso itself. David Rowe has a nice writeup on the installation.
The Flukso then measures the power and transmits the data over the WLAN to the Flukso website. Once you’re logged in you can see your own energy consumption as a realtime graph. It is quite fascinating to find out how your energy consumption is composed. Here is one of my charts:
The graph shows time on the X-axis and my energy consumption in Watts on the Y-axis. The peak (1) shows that I was getting up in the middle of the night, preparing some tea and switchin on my computer. I had a pretty decent jet lag that night. In the morning I got up again around 8:00 (2). Apparently I used my coffee machine and switched on some lights, but I left shortly afterwards. The regular power consumption (3) originates from my fridge which draws power in regular intervals. Around 18:00, I got home again, switched on lights, prepared tea etc (4).
The graph is very interesting and really helps to improve your energy usage. But it also scares me – as I demonstrated above, a lot of information is stored in such a graph. Honestly, I don’t want my utility provider to know this. And I definitely do not want Google to know that much about my life. Or would you like to see advertisements for sleeping pills after a night of jet lag?
The picture at the top is CC-BY BK59 on flickr, thanks!
]]>