Mit jGnucashLib spare ich mir ja so einiges an langweiliger Arbeit
mit der Fibu.
Bisher musste ich aber z.B. PDF-Rechnungen immer erst speichern
um sie dann mittels pdf2text und einem Plugin für jGnucashLib zu
importieren.
Heute am frühen morgen (noch schnell vor der Arbeit) ist das
neue MailImpoterPlugin fast fertig geworden. :)
Einfach alle paar Tage mal aufrufen und alle bekannten Rechnungs-Emails
werden ohne weiteres Zutun korrekt verbucht.
..ach kann das Leben schön einfach sein. :)
This blog contains the daily technical endeavours of a freelancing software-designer.
2009-06-30
2009-06-18
Router abgeraucht
Was ist noch ärgerlicher als ein Stadt-weiter Stromausfall?
Wenn man dann von der Arbeit kommt und der Linux-Router richt nach Ampere.
Ob wenigstens die Platte überlebt hat ist noch nicht klar.
Wenn man dann von der Arbeit kommt und der Linux-Router richt nach Ampere.
Ob wenigstens die Platte überlebt hat ist noch nicht klar.
2009-06-09
Jugend Forscht hat ein erfreuliches Nachspiel
Lange ist es her.
Damals, im ersten Semester nutze ich noch die letzte
Möglichkeit an Jugend Forscht teilzunehmen.
Ich hatte einen 3D-Scanner mitgebracht der nach dem Zebrascan-Verfahren
(heute weit bekannt unter dem Oberbegriff "strukturiertes Licht") arbeitete.
Statt nur einen zu einer Linie aufgefächerten Laserstrahl auf ein Objekt
zu richten, hatte ich ein Dia mit vielen Streifen scharf auf das Objekt
projeziert.
Letztes wochenende stiess ich nun auf eine ganze Gruppe von Weiterentwicklungen
dieses Verfahrens zu einem Mehrphasigem Scanner.
Hierbei werden nicht nur statische, scharfe Streifen sondern mehrmals, zueinander phasenverschobene Sinus-Wellen projeziert und diese anschliessend wieder kombiniert.
Der Java-Code nutzte das umständliche "processing"-framework mit mehreren Erweiterungen und wollte nur auf Apple und mit vielen Tricks auf sehr alten Quicktime-Versionen für Windows laufen.
Also: Den Code gleich mal genommen und innerhalb von Processing auf das JavaMediaFramework portiert. Jetzt bin ich dabei den alten Code dieser Leute
aufzuräumen und damit ein Plugin für AOI zu bauen, was wesentlich einfacher
einzurichten und zu benutzen sein sollte als processing.
* Von mir auf JavaMediaFramework portiert
update: Das Plugin läuft jetzt ohne Exceptions vom Frame-Frabber bis zum TriangleMesh druch. Muss noch gründlich getestet werden.
Damals, im ersten Semester nutze ich noch die letzte
Möglichkeit an Jugend Forscht teilzunehmen.
Ich hatte einen 3D-Scanner mitgebracht der nach dem Zebrascan-Verfahren
(heute weit bekannt unter dem Oberbegriff "strukturiertes Licht") arbeitete.
Statt nur einen zu einer Linie aufgefächerten Laserstrahl auf ein Objekt
zu richten, hatte ich ein Dia mit vielen Streifen scharf auf das Objekt
projeziert.
Letztes wochenende stiess ich nun auf eine ganze Gruppe von Weiterentwicklungen
dieses Verfahrens zu einem Mehrphasigem Scanner.
Hierbei werden nicht nur statische, scharfe Streifen sondern mehrmals, zueinander phasenverschobene Sinus-Wellen projeziert und diese anschliessend wieder kombiniert.
Der Java-Code nutzte das umständliche "processing"-framework mit mehreren Erweiterungen und wollte nur auf Apple und mit vielen Tricks auf sehr alten Quicktime-Versionen für Windows laufen.
Also: Den Code gleich mal genommen und innerhalb von Processing auf das JavaMediaFramework portiert. Jetzt bin ich dabei den alten Code dieser Leute
aufzuräumen und damit ein Plugin für AOI zu bauen, was wesentlich einfacher
einzurichten und zu benutzen sein sollte als processing.
* Von mir auf JavaMediaFramework portiert
update: Das Plugin läuft jetzt ohne Exceptions vom Frame-Frabber bis zum TriangleMesh druch. Muss noch gründlich getestet werden.
2009-06-07
Heimserver nur bei Bedarf einschalten
Schon vor langer Zeit habe ich hier einen wunderschönen 2-Sockel Dual-Core Opteron
als Heim-Server stehen (in einem doppelwandigen Alu-Gehäuse im Hifi-Look
mit einem Wärmetauscher für die Wasserkühlung ebenfalls im Hifi-Look).
Nur leider verbraucht der halt viel Strom.
Dieses Wochenende bin ich nun endlich dazu gekommen das verkorkste
Perl auf meinem Router (seid einem Platten-Ausfall und Wiederherstellen
von einem unvollständigen Backup) zu reparieren und damit meine FHT100PC
wieder zum Laufen zu bringen.
Also: Heizung (FHT80b) läßt sich wieder vor dem Weg nach Hause per Handy
einschalten und der Server per FS20ST-2 vom Netz trennen aber remote
einschalten.
Use-Case 1:
File-Server remote einschalten und per VPN+SSH oder anderes VPN+Samba oder WEB-Oberfläche "mal schnell" was runterladen, hochladen oder per SVN einchecken
Use-Case 2:
Bei Server-Ausfall die lokale Ersatz-Kiste einschalten, letztes offsite-Backup kopieren, Backup-Kopie modifizieren um lokal in einer VM und mit dem MySQL-Replication-Slave
zu laufen, secondary-DNS als neuen primary mit den IPs der VM umconfigurieren
und in 10min läuft ein lokaler Ersatz-Server (falls der echte Server mal ganz
ausfallen sollte).
config:
script:
Nächster Schritt: IR-Fernbedienungen ersetzen
* FHEM Web-Oberfläche
* CCC-Folien über FS20
als Heim-Server stehen (in einem doppelwandigen Alu-Gehäuse im Hifi-Look
mit einem Wärmetauscher für die Wasserkühlung ebenfalls im Hifi-Look).
Nur leider verbraucht der halt viel Strom.
Dieses Wochenende bin ich nun endlich dazu gekommen das verkorkste
Perl auf meinem Router (seid einem Platten-Ausfall und Wiederherstellen
von einem unvollständigen Backup) zu reparieren und damit meine FHT100PC
wieder zum Laufen zu bringen.
Also: Heizung (FHT80b) läßt sich wieder vor dem Weg nach Hause per Handy
einschalten und der Server per FS20ST-2 vom Netz trennen aber remote
einschalten.
Use-Case 1:
File-Server remote einschalten und per VPN+SSH oder anderes VPN+Samba oder WEB-Oberfläche "mal schnell" was runterladen, hochladen oder per SVN einchecken
Use-Case 2:
Bei Server-Ausfall die lokale Ersatz-Kiste einschalten, letztes offsite-Backup kopieren, Backup-Kopie modifizieren um lokal in einer VM und mit dem MySQL-Replication-Slave
zu laufen, secondary-DNS als neuen primary mit den IPs der VM umconfigurieren
und in 10min läuft ein lokaler Ersatz-Server (falls der echte Server mal ganz
ausfallen sollte).
config:
>cat /etc/fhem.cfg
#
# Minimalistic fhem.pl & pgm2 configfile. Take a look at the other examples for
# more.
#
attr global logfile /var/log/fhem/fhem.log
attr global statefile /var/log/fhem/fhem.save # where to save the state of the devices
attr global verbose 3 # "normal" verbosity (min 1, max 5)
attr global port 7072 # our TCP/IP port (localhost only)
attr global modpath /usr/local/lib # where our FHEM directory is
define WEB FHEMWEB 8083
attr WEB plotmode SVG
define myfhz FHZ /dev/ttyUSB0
setdefaultattr room zimmer
define ZimmerHeizungLog FileLog /var/log/fhem/ZimmerHeizung.log ZimmerHeizung:.*(temp|actuator|desired).*
define ZimmerHeizung FHT 615b
define hifi FS20 8765 01
attr hifi model fs20st
script:
#!/bin/sh
perl /usr/local/bin/fhem.pl 7072 "set hifi on"
Nächster Schritt: IR-Fernbedienungen ersetzen
* FHEM Web-Oberfläche
* CCC-Folien über FS20
Abonnieren
Posts (Atom)