gonium.net so much time, so little to do. 2010-09-11T16:42:09Z http://gonium.net/md/feed/atom/ WordPress md http://gonium.net <![CDATA[Sending Faxes from my Router]]> http://gonium.net/md/?p=295 2010-09-11T16:42:09Z 2010-09-11T16:40:41Z

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!

]]>
0
md http://gonium.net <![CDATA[Der Metavortrag]]> http://gonium.net/md/?p=282 2010-08-07T14:22:32Z 2010-08-05T14:09:36Z

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:

  • Vorträge halten ist eine Fertigkeit. Das braucht Übung, ist aber sehr befriedigend, wenn es funktioniert.
  • Die meisten Vorträge Folien sind schlecht. Ich empfehle “The Cognitive Style of Power Point” als Heilkur.
  • Der Content ist nach wie vor das Wichtigste an einem Vortrag – das ist auch gut so.
  • Trotzdem kann man durch den Vortragsstil entscheidend beeinflussen, ob die Message ankommt – oder eben nicht.
  • Schließlich: Ob ein Vortragsstil einem liegt oder nicht, muss man selbst herausfinden.

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?

]]>
1
md http://gonium.net <![CDATA[Contiki and Mac OS]]> http://gonium.net/md/?p=271 2010-07-30T13:47:27Z 2010-07-30T09:52:42Z At the moment I am building a small demo based on the AVR Raven and Contiki. I was running into some trouble with building the Firmwares on my Mac – this is the documentation of the workarounds.

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:

  1. Install GNU binutils using MacPorts.
  2. Edit “cpu/native/Makefile.native” and adjust the “Compiler Definitions” section like this:

    ### 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:

  1. contiki-2.4/platform/avr-ravenlcd: This is where the code for the ATMega3290p lives. Run make here and upload.
  2. contiki-2.4/platform/avr-raven: The ATMega1284p code lives here, this is where most patches are. Don’t run make here!
  3. contiki-2.4/examples/webserver-ipv6-raven: Run make here for the ATMega1284p code. This builds the webserver code and includes the platform/avr-raven dir.

In addition, I have a serial terminal for debugging output:
screen -U /dev/cu.SLAB_USBtoUART 57600

]]>
1
md http://gonium.net <![CDATA[Ruby for Chumby: HowTo]]> http://gonium.net/md/?p=261 2010-06-02T15:26:36Z 2010-06-02T15:06:09Z

It took me a while to figure this out, so here are my notes:

  1. Install Scratchbox as described here. This greatly simplifies cross-compiling things. It also provides you a way to run the compiled ruby interpreter on a bigger host machine using QEMU. This is essential because I rely on rubygems, and the Chumby is too small to execute the gem install commands. Besides, at least for the sqlite3-ruby and mongrel gems, I need to compile native code.
  2. Install dependencies. I found the following libraries necessary:
    • OpenSSL 0.9.8n – avoid the 1.0.0 version, it causes problems with the Ruby interpreter.
    • Zlib 1.5.3 – same as installed on the Chumby.
    • Readline 6.1
    • A recent version of sqlite, since I need it for my gems later on.

    Compile the libraries and install them into /mnt/storage (use –prefix where necessary).

  3. Adjust the environment to use the new libraries:
    BASEDIR=/mnt/storage/usr
    export PATH=$PATH:$BASEDIR/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$BASEDIR/lib
  4. Install Ruby and rubygems. I was not able to compile Ruby 1.8.7, but Ruby 1.8.6-p399 works nice. To configure everything, I use the following commands:
    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
  5. Install rubygems:

    /mnt/storage/usr/bin/ruby setup.rb --prefix=/mnt/storage/usr
    mkdir -p /mnt/storage/usr/lib/ruby/gems/1.8
  6. Afterwards, the necessary gems can be installed using the gem command. It might be necessary to provide additonal path information to the gems that compile native extensions, for example
    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.

]]>
0
md http://gonium.net <![CDATA[Melderegisterauskunft in Rheinland-Pfalz einschränken]]> http://gonium.net/md/?p=243 2010-05-22T11:36:49Z 2010-05-22T11:36:49Z

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.

]]>
0
md http://gonium.net <![CDATA[Spiegelreflex? Oder Kompakt?]]> http://gonium.net/md/?p=236 2010-05-02T13:48:48Z 2010-05-02T13:46:36Z

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

  • Rede mit Leuten :P
  • Leih Dir eine Kamera für ein Wochenende aus
  • http://www.dslr-forum.de
  • http://dpreview.com

… 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.)

]]>
1
md http://gonium.net <![CDATA[Mom, I’m on Radio…]]> http://gonium.net/md/?p=229 2010-03-29T10:03:00Z 2010-03-29T10:02:27Z

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!

]]>
0
md http://gonium.net <![CDATA[mySmartGrid World Tour 2010]]> http://gonium.net/md/?p=221 2010-02-25T11:26:01Z 2010-02-25T11:26:01Z

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.

]]>
2
md http://gonium.net <![CDATA[Datenschmutz]]> http://gonium.net/md/?p=208 2010-01-03T18:45:16Z 2010-01-03T18:45:16Z

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:

  • Das Ganze ist eine recht mühselige Angelegenheit. Im Falle von blau.de musste ich mich an den Hamburgischen Datenschutzbeauftragten wenden – alle meine Schreiben wurden von blau.de ignoriert. Da es sich um ein Telekommunikationsunternehmen handelt leiteten die dortigen Mitarbeiter meine Beschwerde automatisch an den zuständigen Bundesdatenschutzbeauftragten weiter – vielen Dank! Dort wurde dann auch gleich eine Anfrage an blau.de geschickt. Witzigerweise hatte ich gerade das Schreiben des Bundesdatenschutzbeauftragen geöffnet als mich der Datenschutzbeauftragte von blau.de anrief. Er entschuldigte sich recht freundlich. Ein Grinsen konnte ich mir an der Stelle allerdings nicht verkneifen. Die Auskunft kam dann eine Woche später via eMail.
  • Nach der Quelle-Insolvenz versuchte Quelle offenbar, die Adressdatenbank gewinnbringend zu verkaufen. Ich widersprach der Weitergabe meiner Daten umgehend. Trotzdem scheinen meine Daten verkauft worden zu sein – zumindest gibt der Weltbild Verlag in einem freundlichen Schreiben Quelle als Herkunft des Datensatzes an. Aufgrund der Insolvenz kann man bei Quelle jetzt allerdings nichts mehr bewirken. Ärgerlich.
  • Nur wenige Unternehmen nennen die Dienstleister, mit denen Sie zusammenarbeiten. Kabel Deutschland z.B. gibt nur die Kategorie von Dienstleistern an. Damit ist es quasi unmöglich, nachzuvollziehen, wer meine Daten bekommen hat.

Einige Konsequenzen daraus:

  • Mein Musterbrief muss verfeinert werden. Da muss rein, welche spezifischen Auskünfte ich haben möchte.
  • Um Porto zu sparen qualifizieren sich Unternehmen, die mir einen Rückumschlag schicken, automatisch für eine Anfrage.
  • Den Menschen von datenspuren.net eine eMail schicken, da lohnt sich wahrscheinlich eine Zusammenarbeit.
]]>
2
md http://gonium.net <![CDATA[Power Metering with Flukso]]> http://gonium.net/md/?p=180 2009-11-10T16:56:46Z 2009-11-10T16:01:36Z 3554570745_0e9fd9a7ac

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:

My power consumption - jetlag clearly visible.

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!

]]>
3