Gestern hat sich ein interessanter Bug in HSQLDB gezeigt:
stmt = conneciton.getStatement()
if (stmt == null) return;
if (stmt.getConnection() == null) return;
if (stmt.isClosed()) return;
stmt.execute(sql) <== wirft NullPointerException weil stmt.getConnection() == null
anscheinend wird in execute stmt.connection gelegentlich auf null gesetzt ohne eine sinnvolle Exception zu werfen.
This blog contains the daily technical endeavours of a freelancing software-designer.
2008-08-18
OpenStreetMap und der Europapark
Auf dem Weg zum Europapark letztes Wochenende mussten wir feststellen,
daß da noch recht viel in OpenStreetMap fehlt.
Entsprechend habe ich das Bluetooth-GPS in der Tasche laufen lassen und
mit HDOP zwischen 1.2 und 0.8 erstmal die große Monorail um den Park
und dann noch (in eigenen Tracks) etliche Fußwege und einige der Bahnen
gemapped.
Wird die Tage eingetragen.
Leider kann ich mein GPS nicht wie einige der ublox-Geräte in einen 4Hz-Modus
schalten. Es gibt also auch auf schnellen Bahnen wie der Euromir nur einen
Punkt pro Hz.
Demnächst also vieleicht Fußgänger-Routing um Rides im verwinkelten Park zu finden
mit Traveling Salesman.
daß da noch recht viel in OpenStreetMap fehlt.
Entsprechend habe ich das Bluetooth-GPS in der Tasche laufen lassen und
mit HDOP zwischen 1.2 und 0.8 erstmal die große Monorail um den Park
und dann noch (in eigenen Tracks) etliche Fußwege und einige der Bahnen
gemapped.
Wird die Tage eingetragen.
Leider kann ich mein GPS nicht wie einige der ublox-Geräte in einen 4Hz-Modus
schalten. Es gibt also auch auf schnellen Bahnen wie der Euromir nur einen
Punkt pro Hz.
Demnächst also vieleicht Fußgänger-Routing um Rides im verwinkelten Park zu finden
mit Traveling Salesman.
2008-08-01
Vmware: Beantworten von "Would you like to continue?" per ssh
Wer kennt es bei VMware nicht:
Temporary files for this virtual machine are stored in directory "/tmp/vmware-root", which is on an almost full filesystem. Please free some disk space.
Would you like to continue?
Select Retry to continue, Abort to terminate the session.
In einem anderen Blog, fand sich die Lösung: vmware-cmd -l und vmware-cmd $vmxfile answer.
Solche Fragen lassen sich in der Tat auch an der Komandozeile per SSH beantworten.
Für Pfade zu vmx-Dateien ohne Leerzeichen reicht hier:
Mit Leerzeichen muss das Escaping noch etwas angepasst werden:
Temporary files for this virtual machine are stored in directory "/tmp/vmware-root", which is on an almost full filesystem. Please free some disk space.
Would you like to continue?
Select Retry to continue, Abort to terminate the session.
In einem anderen Blog, fand sich die Lösung: vmware-cmd -l und vmware-cmd $vmxfile answer.
Solche Fragen lassen sich in der Tat auch an der Komandozeile per SSH beantworten.
Für Pfade zu vmx-Dateien ohne Leerzeichen reicht hier:
for vm in `vmware-cmd -l` ; do echo "-----${vm}-----"; vmware-cmd "$vm" answer; done
Mit Leerzeichen muss das Escaping noch etwas angepasst werden:
vmware-cmd -l | while read vm ; do echo "-----${vm}-----"; vmware-cmd "$vm" answer; done
2008-05-19
Visual Editor mit Eclipse 3.3
Wer wie ich Probleme hat den VisualEditor unter dem aktuellen 3.3er Eclipse zum Laufen zu bringen...
Hier ist die Lösung,
die bei mir geholfen hat.
Hier ist die Lösung,
die bei mir geholfen hat.
2008-05-14
Exchange Toshiba Bluetooth-Stack in Vista with Microsoft Stack to get ActiveSync / Mobile Device Center to work
ActiveSync or the new Vista "Mobile Device Center" does not seems to work with the Toshiba-Stack.
There are some aticles claiming it works if you change "HKEYLM\Software\Microsoft\Windows CE Services\" -> "SerialPort" from "Bluetooth" to "COM7" and have COM7 in ControlCenter "Bluetooth Local COM" as "LocalCOM-Server[SerialPort]" but this did not do the trick for me.
What worked was, to:
1. uninstall the Toshiba-Stack (ControlPanel->Software->Remove)
2. wait a few seconds, an "unknown device" will pop up.
3. search in "c:\Windows" (or whatever your %SYSDRIVE% is)
4. wait quite a while for the list of drivers in c:\Windows to be build
5. Deselect "Show compatible hardware"
6. Select the "Cambridge Silicon Radio Ltd." -> "Generic Bluetooth Radio" as described here (with screenshots.)
Then
7. go to mobility-center and active "connection settings"->"bluetooth"
8. now pair your mobile device to the laptop (initiate on the pda, not the laptop. This seems to nake a difference.
In the list of services you will no longer see "A2DP-audio" or "serial port" as with Toshiba
but only "ActiveSync".
9. open ActiveSync on the PDA and select "synchronize over bluetooth".
done.
There are some aticles claiming it works if you change "HKEYLM\Software\Microsoft\Windows CE Services\" -> "SerialPort" from "Bluetooth" to "COM7" and have COM7 in ControlCenter "Bluetooth Local COM" as "LocalCOM-Server[SerialPort]" but this did not do the trick for me.
What worked was, to:
1. uninstall the Toshiba-Stack (ControlPanel->Software->Remove)
2. wait a few seconds, an "unknown device" will pop up.
3. search in "c:\Windows" (or whatever your %SYSDRIVE% is)
4. wait quite a while for the list of drivers in c:\Windows to be build
5. Deselect "Show compatible hardware"
6. Select the "Cambridge Silicon Radio Ltd." -> "Generic Bluetooth Radio" as described here (with screenshots.)
Then
7. go to mobility-center and active "connection settings"->"bluetooth"
8. now pair your mobile device to the laptop (initiate on the pda, not the laptop. This seems to nake a difference.
In the list of services you will no longer see "A2DP-audio" or "serial port" as with Toshiba
but only "ActiveSync".
9. open ActiveSync on the PDA and select "synchronize over bluetooth".
done.
2008-05-05
Java Code-Coverage -Tools
Ich bin gerade mittels eines guten Vergleiches von Java-Code-Coverage -Werkzeugen in einem Blog auf 2 interessante Tools als Alternative zu Clover gestoßen:
Gute, einfache Werkzeuge für das tägliche Unit-Testen mit Prüfung der Code-Coverage.
Im Vergleich wird auch etwas Ant-"Code" gezeigt um Emma in sein Build einzubauen:
We modified our test target. This part goes at the top to decorate the bytecode:
We added these within the junit call:
We added this at the end of the test target for cleanup:
And here’s another target that is used to turn emma on for testing:
Gute, einfache Werkzeuge für das tägliche Unit-Testen mit Prüfung der Code-Coverage.
Im Vergleich wird auch etwas Ant-"Code" gezeigt um Emma in sein Build einzubauen:
von: Ricky Clarkson
A necessary taskdef:
<taskdef resource="’emma_ant.properties’" classpathref="’build.classpath’/">
We modified our test target. This part goes at the top to decorate the bytecode:
<property name="”coverage.dir”" value="”${basedir}/coverage”/">
<mkdir dir="”${coverage.dir}”/">
<emma enabled="”${emma.enabled}”">
<instr instrpathref="”classes.path”" destdir="”${out.instr.dir}”" metadatafile="”${coverage.dir}/metadata.emma”" merge="”true”">
<filter excludes=”Test,Mock”/>
</filter>
</instr>
</emma></mkdir></property>
We added these within the junit call:
<jvmarg value="”-Demma.coverage.out.file=">
We added this at the end of the test target for cleanup:
<emma enabled="”${emma.enabled}”">
<report sourcepath="”${basedir}/src”">
<fileset dir="”${coverage.dir}”">
<include name="”*.emma”/">
</include>
<txt outfile="”${coverage.dir}/coverage.txt”/">
</txt>
</fileset>
<delete dir="”${out.instr.dir}”/"></delete></report></emma>
And here’s another target that is used to turn emma on for testing:
<target name="”emma”" description="”turns">
<property name="”emma.enabled”" value="”true”/">
<property name="”out.instr.dir”" value="”${basedir}/outinstr”/">
<mkdir dir="”${out.instr.dir}”/">
</mkdir></property></property></target>
2008-04-21
"String-Theory"
Etwas für all die Hobby-Physiker da draußen.
...man kann einfach nicht aufhören damit zu spielen.
Die Welle
...man kann einfach nicht aufhören damit zu spielen.
Die Welle
2008-04-20
OSM-Entwickler-Treffen in Karlsruhe
Das Taggen von Hausnummern in der OSM ist schon seit fast ewigen Zeiten ein Politikum.
Zahlreiche Vorschläge zu einem Schema wurden gemacht, alle verworfen. Entweder konnten sie nicht alle interlationalen und regionalen Besonderheiten abbilden oder die verursachten zu viel Arbeit für die Mapper, waren zu unverständlich, zu kompliziert mit den momentanen Editoren umzusetzen oder gefielen schlicht nicht.
Gestern trafen ich mich nun 7 OSM-Entwickler in der Geofabrik in Karlsruhe um einen neun Vorschlag im kleineren Kreis zu erarbeiten.
Vorgesehen als kurzes Brainstorming von 11-13, entwickelte es sich zu einem kleinen Programmier-Marathon bis weit nach 20 Uhr.
Das Ergebniss: Ein Karlsruher Schema als Testlauf für Hausnummern, eine Adress-Suche im Traveling-Salesman -Code, Unterstützung für die Darstellung in JOSM, gefälliges Rendering auf der Slippy-Map und ein erster Satz entsprechend getaggter Straßen mit den zu erwartenden Ausnahme-Fällen.
Zahlreiche Vorschläge zu einem Schema wurden gemacht, alle verworfen. Entweder konnten sie nicht alle interlationalen und regionalen Besonderheiten abbilden oder die verursachten zu viel Arbeit für die Mapper, waren zu unverständlich, zu kompliziert mit den momentanen Editoren umzusetzen oder gefielen schlicht nicht.
Gestern trafen ich mich nun 7 OSM-Entwickler in der Geofabrik in Karlsruhe um einen neun Vorschlag im kleineren Kreis zu erarbeiten.
Vorgesehen als kurzes Brainstorming von 11-13, entwickelte es sich zu einem kleinen Programmier-Marathon bis weit nach 20 Uhr.
Das Ergebniss: Ein Karlsruher Schema als Testlauf für Hausnummern, eine Adress-Suche im Traveling-Salesman -Code, Unterstützung für die Darstellung in JOSM, gefälliges Rendering auf der Slippy-Map und ein erster Satz entsprechend getaggter Straßen mit den zu erwartenden Ausnahme-Fällen.
2008-04-16
ApacheCon
Die ApacheCon EU 2008 ist vorbei und so langsam findet sich Zeit darüber zu berichten.
Das 2-tägige "Everythibg Tomcat"-Training von einem der Tomcat-Entwickler selbst hat sich als sehr informativ herausgestellt.
Außer den Tomcat-eigenen Themen wie Clustering. Load-Balancing, NIO und den APR und NIO -non-blocking Engines sind auch
praktische Themen des Server-Betriebs wie fortgeschritenes Monitoring, viele Details zum Java-Speichermodell und welche
Änderungen sich wie auswirken (teilweise kann ein einfaches Vergrößern des -xmx auftretende OutOfMemoryExceptions sogar
erheblich verschlimmern statt zu verbessern) zur Sprache gekommen.
Die Vorträge in den folgenden 4 Tagen waren vom anspruch her gemischt und richteten sich zu großem Teil an fortgeschritteen Entwickler.
Der Querschnitt der Teilnehmer und ausstellenden Unternehmen wahr erstaunlich breit und die Gespräche überaus informativ.
Allgemein hat sich das Event zur eigenen Fortbildung und dem Knüpfen von Kontakten doch sehr gelohnt.
Das 2-tägige "Everythibg Tomcat"-Training von einem der Tomcat-Entwickler selbst hat sich als sehr informativ herausgestellt.
Außer den Tomcat-eigenen Themen wie Clustering. Load-Balancing, NIO und den APR und NIO -non-blocking Engines sind auch
praktische Themen des Server-Betriebs wie fortgeschritenes Monitoring, viele Details zum Java-Speichermodell und welche
Änderungen sich wie auswirken (teilweise kann ein einfaches Vergrößern des -xmx auftretende OutOfMemoryExceptions sogar
erheblich verschlimmern statt zu verbessern) zur Sprache gekommen.
Die Vorträge in den folgenden 4 Tagen waren vom anspruch her gemischt und richteten sich zu großem Teil an fortgeschritteen Entwickler.
Der Querschnitt der Teilnehmer und ausstellenden Unternehmen wahr erstaunlich breit und die Gespräche überaus informativ.
Allgemein hat sich das Event zur eigenen Fortbildung und dem Knüpfen von Kontakten doch sehr gelohnt.
2008-03-06
OpenExpo 2008
Nächste Woche Mittwoch, werde ich auf der OpenEXPO
in Bern sein.
Ich besetze den OpenstreetMap-Stand und helfe evtl. zeitweilig am CACert-Stand aus.
Mit etwas Glück kann ich mein Traveling Salesman präsentieren.
in Bern sein.
Ich besetze den OpenstreetMap-Stand und helfe evtl. zeitweilig am CACert-Stand aus.
Mit etwas Glück kann ich mein Traveling Salesman präsentieren.
2008-01-18
Hama DVB-T-Stick USB 2.0
How to get a "Hama DVB-T-Stick USB 2.0" or any other
af9015-based DVB-t -stick to work in linux.
(This howto was written 2007-01-18 and may no longer
be required by the time you read this if more then
a few month have passed.)
check the device-id
Let us see if this is really the device this howto talks about:
lsusb -v
This should show a device with device-id: 0x9015 or 0x9016
and AfaTech: 0x15a4 as the manufacturer-id.
# get v4l (latest version [2007-01-18])
# (does not include the 9015-driver)
hg clone http://linuxtv.org/hg/v4l-dvb
# get driver (this works but does not fit the current
# V4l-infrastructure anymore)
wget http://af.zsolttech.com/af901x-Taiwan.tar.gz
tar -xzf af901x-Taiwan.tar.gz
# copy driver into v4l
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/af901x* linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/MT2060* linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/mt_errordef.h linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/*biu_reg.h linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/usbdma_biu_reg.h linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/dummy_ram.h linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/error.h linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/define.h linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/tuner_init_Microtune*.h linux/drivers/media/dvb/dvb-usb/
# note: if an af9015.c or af901x.c already exits, just skip this and do only "make menuconfig && make && make install"
# because then this driver has been integrated into the stock v4l -tree.
# add driver to makefiles
vi linux/drivers/media/dvb/dvb-usb/Makefile
add:
dvb-usb-af9015-objs = af901x-core.o af901x-devices.o af901x-drv.o af901x-usb.o af901x-fe.o MT2060.o MT2060init.o MT2060M.o
obj-$(CONFIG_DVB_USB_AF9015) += dvb-usb-af9015.o
# add driver to config-dialog
vi linux/drivers/media/dvb/dvb-usb/KConfig
add:
config DVB_USB_AF9015
tristate "Afatech AF9015 DVB-T USB2.0 HDTV 1080i support"
depends on DVB_USB && EXPERIMENTAL
select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE
select DVB_TUNER_QT1010 if !DVB_FE_CUSTOMISE
help
Say Y here to support the Afatech AF9013/15 based receiver
# select multimedia devices->DVB-adapters->9015
make menuconfig
make && make install && tail -f /var/log/kernel
# now stick the device into the USB-slot...
you should see something like this:
kernel: input: Afatech DVB-T 2 as /class/input/input18
kernel: input: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1d.7-1
kernel: AF901X: af901x_module_init
kernel: dvb-usb: found a 'Afatech USB2.0 DVB-T Recevier' in warm state.
kernel: dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
kernel: DVB: registering new adapter (Afatech USB2.0 DVB-T Recevier)
kernel: DVB: registering frontend 0 (AF901X USB DVB-T)...
kernel: dvb-usb: Afatech USB2.0 DVB-T Recevier successfully initialized and connected.
kernel: usbcore: registered new interface driver dvb_usb_af901x
Lets see TV now
# get the DVB-utils-package
apt-get install dvb-utils # (this is how it's done for debian)
# get all frequencies to scan
wget http://www.johannes-bauer.com/dvbt/dvbt-scanaid-0.03.tar.bz2 && tar -xjf dvbt-scanaid-0.03.tar.bz2 && cd dvbt-scanaid-0.03/ && dvbt-scanaid-0.03/
enter: "y" twice
# scan all these frequencies for transponders
scan Scanlist.txt > channels.conf
cp channels.conf ~/.mplayer/
now you can do: (ARD is the name of a found tv-station)
Links
http://www.johannes-bauer.com/dvbt/ (german)
af9015-based DVB-t -stick to work in linux.
(This howto was written 2007-01-18 and may no longer
be required by the time you read this if more then
a few month have passed.)
check the device-id
Let us see if this is really the device this howto talks about:
lsusb -v
This should show a device with device-id: 0x9015 or 0x9016
and AfaTech: 0x15a4 as the manufacturer-id.
# get v4l (latest version [2007-01-18])
# (does not include the 9015-driver)
hg clone http://linuxtv.org/hg/v4l-dvb
# get driver (this works but does not fit the current
# V4l-infrastructure anymore)
wget http://af.zsolttech.com/af901x-Taiwan.tar.gz
tar -xzf af901x-Taiwan.tar.gz
# copy driver into v4l
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/af901x* linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/MT2060* linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/mt_errordef.h linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/*biu_reg.h linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/usbdma_biu_reg.h linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/dummy_ram.h linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/error.h linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/define.h linux/drivers/media/dvb/dvb-usb/
cp v4l-dvb-39c2d2041e6e/linux/drivers/media/dvb/dvb-usb/tuner_init_Microtune*.h linux/drivers/media/dvb/dvb-usb/
# note: if an af9015.c or af901x.c already exits, just skip this and do only "make menuconfig && make && make install"
# because then this driver has been integrated into the stock v4l -tree.
# add driver to makefiles
vi linux/drivers/media/dvb/dvb-usb/Makefile
add:
dvb-usb-af9015-objs = af901x-core.o af901x-devices.o af901x-drv.o af901x-usb.o af901x-fe.o MT2060.o MT2060init.o MT2060M.o
obj-$(CONFIG_DVB_USB_AF9015) += dvb-usb-af9015.o
# add driver to config-dialog
vi linux/drivers/media/dvb/dvb-usb/KConfig
add:
config DVB_USB_AF9015
tristate "Afatech AF9015 DVB-T USB2.0 HDTV 1080i support"
depends on DVB_USB && EXPERIMENTAL
select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE
select DVB_TUNER_QT1010 if !DVB_FE_CUSTOMISE
help
Say Y here to support the Afatech AF9013/15 based receiver
# select multimedia devices->DVB-adapters->9015
make menuconfig
make && make install && tail -f /var/log/kernel
# now stick the device into the USB-slot...
you should see something like this:
kernel: input: Afatech DVB-T 2 as /class/input/input18
kernel: input: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1d.7-1
kernel: AF901X: af901x_module_init
kernel: dvb-usb: found a 'Afatech USB2.0 DVB-T Recevier' in warm state.
kernel: dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
kernel: DVB: registering new adapter (Afatech USB2.0 DVB-T Recevier)
kernel: DVB: registering frontend 0 (AF901X USB DVB-T)...
kernel: dvb-usb: Afatech USB2.0 DVB-T Recevier successfully initialized and connected.
kernel: usbcore: registered new interface driver dvb_usb_af901x
Lets see TV now
# get the DVB-utils-package
apt-get install dvb-utils # (this is how it's done for debian)
# get all frequencies to scan
wget http://www.johannes-bauer.com/dvbt/dvbt-scanaid-0.03.tar.bz2 && tar -xjf dvbt-scanaid-0.03.tar.bz2 && cd dvbt-scanaid-0.03/ && dvbt-scanaid-0.03/
enter: "y" twice
# scan all these frequencies for transponders
scan Scanlist.txt > channels.conf
cp channels.conf ~/.mplayer/
now you can do: (ARD is the name of a found tv-station)
mplayer dvb://ARD
mencoder dvb://ARD -o recorded_news_without_header.avi -oac copy -ovc copy && mencoder recorded_news_without_header.avi -o recorded_news_final.avi -forceidx -oac copy -ovc copy
Links
http://www.johannes-bauer.com/dvbt/ (german)
2007-12-10
6to4 jetzt auch mit Reverse-DNS
Bisher war es ohne natives Ipv6 vom Provider nur möglich entweder einen ipv6-tunnel zu nutzen
oder 6to4. Leider war aber bei 6to4 keine Kontrolle über das Reverse-DNS möglich.
(Tödlich für DNS-server oder IPsec full opportunistic encryption.)
6To4 auf Linux einrichten
6to4 auf BSD einrichten
radvd
Hier noch die /etc/radvd.conf
Reverse-DNS
Jetzt geht es über 6to4.nro.net auch mit 6to4.
Einfach diese Seite von der eigenen 6to4-Addresse aus aufrufen (ein perl-script für
das Scripten, z.B. bei dynamischen IPs geht auch) und 2 DNS-server für die Reverse-Zone
eintragen. Fertig.
oder 6to4. Leider war aber bei 6to4 keine Kontrolle über das Reverse-DNS möglich.
(Tödlich für DNS-server oder IPsec full opportunistic encryption.)
6To4 auf Linux einrichten
ip tunnel add tun6to4 mode sit ttl 100 remote any local
ip link set dev tun6to4 up
ip -6 addr add::1/16 dev tun6to4
ip -6 route add default via ::192.88.99.1 dev tun6to4 metric 1
# Subnetz nach draußen routen
ip -6 route add:1::1/64 dev
/etc/init.d/radvd start
6to4 auf BSD einrichten
ipv6_enable="YES"
stf_interface_ipv4addr="88.198.a.b" #my IPv4 address
ipv6_defaultrouter="2002:c058:6301::"
radvd
Hier noch die /etc/radvd.conf
interface eth0
{
AdvSendAdvert on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
prefix:1::1/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
Reverse-DNS
Jetzt geht es über 6to4.nro.net auch mit 6to4.
Einfach diese Seite von der eigenen 6to4-Addresse aus aufrufen (ein perl-script für
das Scripten, z.B. bei dynamischen IPs geht auch) und 2 DNS-server für die Reverse-Zone
eintragen. Fertig.
Seagate baut defekte Festplatte, die nur noch mit Windows funktioniert
Also DAS ist mal eine Leistung.
Die neuesten externen Seagate-Platten haben ein dermaßen kaputtes Power-Management
das sie nach dem Aufwachen nur noch unter Windows USB2 machen (was die Nutzbarkeit
einer modernen Platte auf den einer Floppy reduziert.).
Orgiginalbericht
Zitiert in Fefes Blog
Die neuesten externen Seagate-Platten haben ein dermaßen kaputtes Power-Management
das sie nach dem Aufwachen nur noch unter Windows USB2 machen (was die Nutzbarkeit
einer modernen Platte auf den einer Floppy reduziert.).
Orgiginalbericht
Zitiert in Fefes Blog
2007-12-09
Traveling Salesman 0.7.1 mit neuem Renderer
Soeben konnte ich Traveling Salesman Version 0.7.1 und LibOsm sowie OsmNavigation in Version 0.3.8 veröffentlichen.
Dank dem parallelen Renderer von Paul Soucy und eine experimentellen lokalen Renderer von Sven Koehler war es mit möglich beide mit Hilfe eines neu geschriebenem NavigatableComponent zu einem Renderer zu vereinen, der im Offline-Fall parallel und mit verbessertem Caching (LRU-Liste zusätzlich zum Speicher-Sensitiven Cache) lokal Tiles rendert.
Dank dem parallelen Renderer von Paul Soucy und eine experimentellen lokalen Renderer von Sven Koehler war es mit möglich beide mit Hilfe eines neu geschriebenem NavigatableComponent zu einem Renderer zu vereinen, der im Offline-Fall parallel und mit verbessertem Caching (LRU-Liste zusätzlich zum Speicher-Sensitiven Cache) lokal Tiles rendert.
2007-12-08
Version 4 meines Tor-IPv6-Patches
Die vierte Version meines IPv6-Hidden-Services -Patches ist heute fertig geworden.
Änderungen:
Änderungen:
- Verwendet das neue tor_addr_t statt ip6_addr
- einige doppelte Funktionen entfernt
- Änderungen welche nicht zur IPv6-Unterstützung gehören aus dem Patch enternt.
2007-12-04
Neue Gesichter bei Traveling Salesman
So langsam scheint es mit Traveling Salesman (dem von mir entwickelten Navi für OpenStreetMap) wirklich voran zu gehen.
Mit zuerst Tarek Soliman und jetzt noch Sven Koehler und Paul Soucy kommen wir jetzt bereits auf 4 aktive Entwickler.
Momentaner Fokus liegt auf dem Rendern der Karte und hier haben vor allem die letzten Beiden wirklich guten Code beigesteuert. Ich hoffe hier spätestens am nächsten Wochenende endlich wieder selber die Zeit zu finden um an dieser Baustelle zu arbeiten.
Mit zuerst Tarek Soliman und jetzt noch Sven Koehler und Paul Soucy kommen wir jetzt bereits auf 4 aktive Entwickler.
Momentaner Fokus liegt auf dem Rendern der Karte und hier haben vor allem die letzten Beiden wirklich guten Code beigesteuert. Ich hoffe hier spätestens am nächsten Wochenende endlich wieder selber die Zeit zu finden um an dieser Baustelle zu arbeiten.
2007-11-30
Tor und IPv6
Heute konnte ich einen größeren Patch für Tor (The Onion Router) schrieben, der es ermöglicht sowohl Hidden Services auf Ipv6-Addressen zu betreiben als auch lokal den Socks4a/Socks5 -Server auf einer solchen zu betreiben.
Nick Mathewson hatte noch einige Anmerkungen zu Kleinigkeiten aber meint der er würde den Patch definitiv nach dem Branch für Tor 0.2.1.x einbauen (Momentan ist feature-freeze für 0.2.0.x).
Ursprünglich wollte ich so einen Patch schon auf dem CCCongress letztes Jahr schreiben aber da fehlt natürlich praktisch dann immer die Zeit.
Update: neue Version des Patches veröffentlicht
Nick Mathewson hatte noch einige Anmerkungen zu Kleinigkeiten aber meint der er würde den Patch definitiv nach dem Branch für Tor 0.2.1.x einbauen (Momentan ist feature-freeze für 0.2.0.x).
Ursprünglich wollte ich so einen Patch schon auf dem CCCongress letztes Jahr schreiben aber da fehlt natürlich praktisch dann immer die Zeit.
Update: neue Version des Patches veröffentlicht
2007-11-15
Linux auf dem Fujitsu Stylistic 3400
Wir haben hier also einen etwas älteren Fujitsu Stylistic 3400 Tablett-PC.
Das mitgelieferte Windows98 ist zwar ganz nett aber doch heutzutage schon etwas arg eingeschränkt nutzbar.
Nicht so mit Linux.
Diese Anleitung soll zeigen wie wir also ein modernes Linux auf diesen Rechner bekommen.
Benötigte Ausrüstung:
Linux-Installation ohne externe Laufwerke?
Als erste Problem stellt sich die Frage, wie man überhaupt Linux auf diese Kiste bekommt?
Immerhin gibt es keinerlei Laufwerke.
Die Lösung: Qemu!
Wir bauen die 2.5"-Festplatte aus und stecken sie in ein billiges USB-Festplatten Gehäuse.
Anschließend laden wir als Quelle ein Knoppix herunter. In diesem Fall das KNOPPIX_V5.1.1CD-2007-01-04-DE.iso .
Nehmen wir an die 2.5"-Platte ist /dev/sdc .
So können wir sie mit einem Knoppix booten mittels:
qemu -hda /dev/sdc -cdrom downloads/KNOPPIX_V5.1.1CD-2007-01-04-DE.iso -boot d
Dies reicht für eine erste Installation durch "sudo knoppix-installer" und der Auswahl "Debian-System".
Nach einer Weile haben wir nun ein System, welches aber nur mit der emulierten Graphikkarte etwas zeigen wird.
Wir fahren also den emulierten Rechner herunter und starten von der realen Festplatte. Diesmal aber mit Netzwerk.
Wir nehmen an, im lokalen Netzwerk gibt es einen DHCP-Server.
also:
Anlegen einer neuen Bridge
brctl addbr br0
Hinzufügen des lokalen Ethernet-Interfaces zur Bridge, damit unsere VM nach draußen kommt.
brctl addif br0 eth0
ifconfig br0 up
Wollen wir selber jetzt noch Netz habem, heißt es die vorhandene IP A.B.C.D von eth0 auf br0
zu übernehmen.
ip addr del A.B.C.D/24 dev eth0
ip addr add A.B.C.D/24 dev br0
jetzt endlich können wir die VM starten:
qemu -hda /dev/sdc -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=/etc/network/qemu_up
xorg auf Trident Cyber 9525?
zunächt öffnen wir die Datei /etc/X11/xorg.conf als root in einem editor.
su -c "vi /etc/X11/xorg.conf"
Die relevante Sektion lautet:
fpit-touchpad und xorg?
Nun werden wir zwar eine graphische Oberfläche haben, aber noch kein Touchpad um diese zu bedienen.
Also brauchen wir noch:
su -c "apt-get update && apt-get install xserver-xorg-input-fpit xvkbd"
Damit der Treiber funktioniert müssen nun noch vorher die folgenden beiden Zeilen in ... eingetragen werden:
su -c "vi /etc/rc.local && ln -s /etc/init.d/rc.local /etc/rc5.d/S98local"
und fügen hier vor dem "exit 0" ein:
setserial /dev/ttyS3 autoconfig
setserial /dev/ttyS3 uart 16450 irq 5 port 0xfd68
Einloggen in KDM ohne Tastatur?
Nun haben wir zwar ein funktionierendes Touchpad als Mouse-Ersatz,
dies wird uns aber nach dem Booten nichts helfen, da wir eine Tastatur
für das Passwort in KDM benötigen.
Diese haben wir vorhin in Form von xvkbd installiert und starten sie mittels:
su -c vi /etc/kde3/kdm/Xsetup
/usr/bin/X11/xvkbd -geometry 480x130 &
(wieder vor "exit 0" oder irgendwo vor dem Ende der Datei einfügen.)
Jetzt endlich können wir das emulierte System mit "su -c poweroff" herunterfahren
und die Festplatte in den Fujitsu Stylistic 3400 einbauen.
Alles so klein hier...
Da der Rechner maximal 192MB Ram hat, sollten wir noch 2 Dinge tun:
eine Swap-Partition oder -Datei anlegen und die Festplatte hierfür in den DMA-Modus
schalten.
Zunächst das letztere:
su -c "vi /etc/hdparm"
und hier die # vor dem Eintrag
/dev/hda
mult_sect_io = 16
write_cache = off
dma = on
entfernen.
Eine Swap-Partition können wir mit "cfdisk" anlegen, eine Datei mit "dd if=/dev/zero of=/DATEI bs=1m count=MEGABYTES".
Anschließend diese mit "mkswap /dev/hda2" bzw "mkswap /DATEI" initialisieren und
su -c "vi /etc/fstab"
eintragen (statt /dev/hda2 evtl den Pfad zur Datei)
Das Sperren des Bildschirms mittels kdesktop_lock zeigt kein OnScreen-Keayboard an.
Hier scheint die Lösung etwas mit dem Setzen der HAL-Eigenschaft
Helfen tut es aber momentan noch nicht. Evtl. ist hier ein neueres KDE nötig.
Hier ist zumindest ein Patch eines SuSE-Entwicklers zu finden.
Anscheinend ist der Patch nur in OpenSuse eingebaut.
...viel Spaß am Gerät!
Quellen:
Das mitgelieferte Windows98 ist zwar ganz nett aber doch heutzutage schon etwas arg eingeschränkt nutzbar.
Nicht so mit Linux.
Diese Anleitung soll zeigen wie wir also ein modernes Linux auf diesen Rechner bekommen.
Benötigte Ausrüstung:
- Ein knoppix-ISO
- Ein 2.5"-Festplatten-Gehäuse für den USB-Port
- Passende Micro- und Normal-Schraubendreher für das USB-Gehäuse und die Festplattenabdeckung des Rechners
Linux-Installation ohne externe Laufwerke?
Als erste Problem stellt sich die Frage, wie man überhaupt Linux auf diese Kiste bekommt?
Immerhin gibt es keinerlei Laufwerke.
Die Lösung: Qemu!
Wir bauen die 2.5"-Festplatte aus und stecken sie in ein billiges USB-Festplatten Gehäuse.
Anschließend laden wir als Quelle ein Knoppix herunter. In diesem Fall das KNOPPIX_V5.1.1CD-2007-01-04-DE.iso .
Nehmen wir an die 2.5"-Platte ist /dev/sdc .
So können wir sie mit einem Knoppix booten mittels:
qemu -hda /dev/sdc -cdrom downloads/KNOPPIX_V5.1.1CD-2007-01-04-DE.iso -boot d
Dies reicht für eine erste Installation durch "sudo knoppix-installer" und der Auswahl "Debian-System".
Nach einer Weile haben wir nun ein System, welches aber nur mit der emulierten Graphikkarte etwas zeigen wird.
Wir fahren also den emulierten Rechner herunter und starten von der realen Festplatte. Diesmal aber mit Netzwerk.
Wir nehmen an, im lokalen Netzwerk gibt es einen DHCP-Server.
also:
Anlegen einer neuen Bridge
brctl addbr br0
Hinzufügen des lokalen Ethernet-Interfaces zur Bridge, damit unsere VM nach draußen kommt.
brctl addif br0 eth0
ifconfig br0 up
Wollen wir selber jetzt noch Netz habem, heißt es die vorhandene IP A.B.C.D von eth0 auf br0
zu übernehmen.
ip addr del A.B.C.D/24 dev eth0
ip addr add A.B.C.D/24 dev br0
jetzt endlich können wir die VM starten:
qemu -hda /dev/sdc -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=/etc/network/qemu_up
xorg auf Trident Cyber 9525?
zunächt öffnen wir die Datei /etc/X11/xorg.conf als root in einem editor.
su -c "vi /etc/X11/xorg.conf"
Die relevante Sektion lautet:
Section "Device"
Identifier "Card0"
Driver "trident"
VendorName "Trident Microsystems"
BoardName "Cyber 9525"
BusID "PCI:0:20:0"
EndSection
fpit-touchpad und xorg?
Nun werden wir zwar eine graphische Oberfläche haben, aber noch kein Touchpad um diese zu bedienen.
Also brauchen wir noch:
Section "InputDevice"Der Treiber fpit gehört aber nicht mehr zur Grundausstattung eines xorg in Knoppix. Deshalb haben wir das Netzwerk so dringend benötigt. Also installieren wir ihn mit:
Identifier "mouse0"
Driver "fpit"
Option "Device" "/dev/ttyS3"
Option "BaudRate" "9600"
Option "MaximumXPosition" "4070"
Option "MaximumYPosition" "4020"
Option "MinimumXPosition" "0"
Option "MinimumYPosition" "0"
Option "Passive"
Option "SendCoreEvents"
EndSection
su -c "apt-get update && apt-get install xserver-xorg-input-fpit xvkbd"
Damit der Treiber funktioniert müssen nun noch vorher die folgenden beiden Zeilen in ... eingetragen werden:
su -c "vi /etc/rc.local && ln -s /etc/init.d/rc.local /etc/rc5.d/S98local"
und fügen hier vor dem "exit 0" ein:
setserial /dev/ttyS3 autoconfig
setserial /dev/ttyS3 uart 16450 irq 5 port 0xfd68
Einloggen in KDM ohne Tastatur?
Nun haben wir zwar ein funktionierendes Touchpad als Mouse-Ersatz,
dies wird uns aber nach dem Booten nichts helfen, da wir eine Tastatur
für das Passwort in KDM benötigen.
Diese haben wir vorhin in Form von xvkbd installiert und starten sie mittels:
su -c vi /etc/kde3/kdm/Xsetup
/usr/bin/X11/xvkbd -geometry 480x130 &
(wieder vor "exit 0" oder irgendwo vor dem Ende der Datei einfügen.)
Jetzt endlich können wir das emulierte System mit "su -c poweroff" herunterfahren
und die Festplatte in den Fujitsu Stylistic 3400 einbauen.
Alles so klein hier...
Da der Rechner maximal 192MB Ram hat, sollten wir noch 2 Dinge tun:
eine Swap-Partition oder -Datei anlegen und die Festplatte hierfür in den DMA-Modus
schalten.
Zunächst das letztere:
su -c "vi /etc/hdparm"
und hier die # vor dem Eintrag
/dev/hda
mult_sect_io = 16
write_cache = off
dma = on
entfernen.
Eine Swap-Partition können wir mit "cfdisk" anlegen, eine Datei mit "dd if=/dev/zero of=/DATEI bs=1m count=MEGABYTES".
Anschließend diese mit "mkswap /dev/hda2" bzw "mkswap /DATEI" initialisieren und
su -c "vi /etc/fstab"
eintragen (statt /dev/hda2 evtl den Pfad zur Datei)
/dev/hda2 none swap swOffene Fragestellungen:
Das Sperren des Bildschirms mittels kdesktop_lock zeigt kein OnScreen-Keayboard an.
Hier scheint die Lösung etwas mit dem Setzen der HAL-Eigenschaft
hal_set_property --udi /org/freedesktop/Hal/devices/computer --key system.formfactor --string laptop
hal_set_property --udi /org/freedesktop/Hal/devices/computer --key system.formfactor.subtype --string tabletpc
Helfen tut es aber momentan noch nicht. Evtl. ist hier ein neueres KDE nötig.
Hier ist zumindest ein Patch eines SuSE-Entwicklers zu finden.
Anscheinend ist der Patch nur in OpenSuse eingebaut.
...viel Spaß am Gerät!
Quellen:
- http://www.x.org/archive/X11R6.8.0/doc/fpit.4.html (X11 und "fpit"-Touchpad)
- http://www.neoseeker.com/forums/529/t267577-fujitsu-stylistic-3400-linux/ (X11-config)
- http://compsoc.dur.ac.uk/~djw/qemu.html (qemu+Bridging)
- http://forums.xbox-scene.com/lofiversion/index.php/t41230.html (KDM und OnSreen-Keyboard)
2007-11-13
Sourceforge -Tracker in Eclipse einbinden
Soeben bin ich über eine wirklich tolle Sache gestoßen,
die ich mir hier mal eben im Blog notiere....
Artikel über das Einbinden der
Sourceforge-Tracker in Eclipse mittels Mylyn.
Zusammen mit Subclipse sollte man also wunderbar gegen die Sourceforge-Dienste arbeiten können ohne Eclipse zu verlassen. (Außer für File-Releases.)
die ich mir hier mal eben im Blog notiere....
Artikel über das Einbinden der
Sourceforge-Tracker in Eclipse mittels Mylyn.
Zusammen mit Subclipse sollte man also wunderbar gegen die Sourceforge-Dienste arbeiten können ohne Eclipse zu verlassen. (Außer für File-Releases.)
2007-11-12
Traveling Salesman V0.6 released
Endlich ist es soweit.
Die Performance-Probleme in Traveling Salesman sind gelöst und es kann endlich seine ersten großen Testfahrten beginnen.
Als primären Datenspeicher habe ich die Datenbanken aufgegeben und mich auf strukturierte Dateien zurückgezogen. Die eingebaute HSQLDB führt lediglich noch einen Index um über Ids oder Namen(oder andere Tag-Werte) an die Elemente zu kommen wärend Abragen nach Koordinaten über eine Tile-ID als Datei laufen.
Die Performance-Probleme in Traveling Salesman sind gelöst und es kann endlich seine ersten großen Testfahrten beginnen.
Als primären Datenspeicher habe ich die Datenbanken aufgegeben und mich auf strukturierte Dateien zurückgezogen. Die eingebaute HSQLDB führt lediglich noch einen Index um über Ids oder Namen(oder andere Tag-Werte) an die Elemente zu kommen wärend Abragen nach Koordinaten über eine Tile-ID als Datei laufen.
Abonnieren
Posts (Atom)