Tag: software

automx howto ergaenzung

damit ich es irgendwann mal wieder finde… als ergΓ€nzung zu dem automx howto:

auf einem debian system werden noch folgende, zusaetzliche python module benoetigt:

apt-get install libapache2-mod-wsgi python-mysqldb python-dateutil python-ipaddr python-lxml python-memcache python-m2crypto python-sqlalchemy

in der apache konfiguration wird ausserdem noch diese option benoetigt:

Options +MultiViews

sprich mir mir

20130916_sprich_mir_mirjo… genau… “mir mir”. so wirds auch funktionieren. aehnlich wie siri πŸ˜‰

ok, die spracherkennnung hat in den letzten jahren ja schon gravierende fortschritte gemacht. aber das ist noch ganz viel potenzial drin.

bis wir so weit sind, dass wir wie in filmen z.b. mit unserem haus reden, wirds noch ein wenig dauern. damits mal dokumentiert ist, hier meine persoenliche schaetzung: 7 jahre.

osx, firefox und “hard reload”

firefox-logo-150x150apple-logo-150x150

wo ich gerade bei komischen tastenkuerzeln unter osx war.. unter windows kann man einen firefox mit “ctrl+f5” dazu bewegen, eine webseite “richtig” neu zu laden. bei einem mac geht das mit “cmd+shift+r”. waere ja sonst zu einfach πŸ˜‰

wheezy, apache2, nscd und die startreihenfolge

in debian ist mittlerweile im header jedes init scriptes eine LSB section zu finden. damit koennen u.a. die abhaengigkeiten zwischen den verschiedenen diensten abgebildet werden.

ich hatte einen fall, in dem die user eines webservers in einer mydsql datenbank stehen und der start des apache nach einem reboot fehlschlaegt, wenn nscd noch nicht gestartet ist. in diesem falle sieht die quick and dirty loesung so aus, dass muss ein “nscd” ans ende der “Required-Start”-Zeile haengt… in der datei /etc/init.d/apache2 …also so:

(scrollen zum zeilenende)

#!/bin/sh
### BEGIN INIT INFO
# Provides:          apache2
# Required-Start:    $local_fs $remote_fs $network $syslog $named nscd
# Required-Stop:     $local_fs $remote_fs $network $syslog $named nscd
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# X-Interactive:     true
# Short-Description: Start/stop apache2 web server
### END INIT INFO

danach muss man noch diesen befehl ausfuehren:

update-rc.d apache2 defaults

und beim naechsten reboot ist alles gut πŸ˜‰

wenn die mysql replikation mal klemmt

wenn die mysql replikation aufgrund eines fehlers in einem statement mal aussteigt, dann muss man dieses statement einfach weg lassen πŸ˜‰

im logfile (bei debian /var/log/daemon.log) steht dann so ein kram:

Query caused different errors on master and slave. Error on 
master: 'Table '%-.64s' already exists' (1050), Error on 
slave: 'You have an error in your SQL syntax; check the manual 
that corresponds to your MySQL server version for the right 
syntax to use near '' at line 1' (1064). 
[...]
[ERROR] Error running query, slave SQL thread aborted. Fix 
the problem, and restart the slave SQL thread with "SLAVE 
START". We stopped at log 'mysql-bin.003535' position 91778974

oder wenn man sich den slave status auf der commandline ansieht:

SHOW SLAVE STATUS \G

was solch einen output liefert.

mysql> SHOW SLAVE STATUS \G
*************************** 1. row ***************************
             Slave_IO_State: Waiting for master to send event
                Master_Host: xxx.xxxxxx.xxx
                Master_User: replication
                Master_Port: 3306
              Connect_Retry: 60
            Master_Log_File: mysql-bin.003535
        Read_Master_Log_Pos: 97111481
             Relay_Log_File: host-relay-bin.007674
              Relay_Log_Pos: 91779321
      Relay_Master_Log_File: mysql-bin.003535
           Slave_IO_Running: Yes
          Slave_SQL_Running: No
                       [...]

wenn da nun “Slave_SQL_Running” auf “No” steht, weiss man, dass die replikation nicht laeuft.

wenn man sich nun sicher ist, dass das naechste statement vom master nicht benoetigt wird (weils wie in diesem falle hier zu einem fehler fuehrt), kann man dieses kommando ausfuehren, um ein statement zu ueberspringen:

SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; 
START SLAVE;

weitere hilfe und bemerkungen dazu auf den mysql development seiten.

schnelldrehende produkte?

wtf?

20130802_schnelldrehende_produkte

petition gegen verwendung von cookies?

…so dachte ich, als ich das das erste mal bei facebook sah:

20130730_cookies

beim x-ten male musste ich aber doch mal nachschauen, was das soll. die facebook vorschau funktion bekommt halt muell zurueck, wenns eine fuer die epetition seite des bundestages generieren will. scheinbar will die seite ohne cookies ueberhaupt nicht.

aber mal im ernst.. vielleicht sollten wir mal ne petition gegen cookies starten? πŸ˜‰

made my day: opennebula

ein gespraechsfetzen von heute.. .ich sagte:

“ich geh dann mal ein bischen opennebula erforschen”

mein gegenueber daraufhin:

“ich dachte das sei seit dem mittelalter ausgerottet”

manchmal mag ich proxies doch

normalerweise nicht, aber dieser hier ist verdammt schlau. der brachte naemlich diese meldung bei dem versuch, die aktuelle java runtime runterzuladen:

20130709_proxy

πŸ˜‰

apples ping und die sequence number

versehentlich hab ich nen “dauerping” in einem terminal fenster laufen lassen. dabei ist mir folgendes aufgefallen:

die icqm squence number wird ja bekanntermassen immer um eins erhoeht. da das feld im header des netzwerkpaketes nur 16 bits hat (ICMPv4), kann die sequence number auch nur bis 65535 (2 hoch 16) hoch gezaehlt werden und faengt dann wieder bei 0 an. sieht dann auf der kommandozeile so aus:

[...]
64 bytes from xx.xx.xx.xx: icmp_seq=65535 ttl=53 time=27.358 ms
64 bytes from xx.xx.xx.xx: icmp_seq=0 ttl=53 time=26.542 ms
[...]

soweit ok. wenns dann zwischendurch einen timeout gibt, dann schauts so aus:

[...]
64 bytes from xx.xx.xx.xx: icmp_seq=6602 ttl=53 time=32.182 ms
64 bytes from xx.xx.xx.xx: icmp_seq=6603 ttl=53 time=30.298 ms
64 bytes from xx.xx.xx.xx: icmp_seq=6604 ttl=53 time=27.390 ms
Request timeout for icmp_seq 6605
Request timeout for icmp_seq 6606
Request timeout for icmp_seq 6607
[...]
Request timeout for icmp_seq 6645
Request timeout for icmp_seq 6646
Request timeout for icmp_seq 6647
64 bytes from xx.xx.xx.xx: icmp_seq=6648 ttl=53 time=32.965 ms
64 bytes from xx.xx.xx.xx: icmp_seq=6649 ttl=53 time=30.784 ms
64 bytes from xx.xx.xx.xx: icmp_seq=6650 ttl=53 time=43.238 ms
[...]

also beim timeout brav weiter gezaehlt. ist ja schliesslich auch der timeout fuer ein icmp paket mit einer bestimmten sequence number.

komisch wirds dann bei den timeouts, wenn die magischen 65535 ein oder mehrmals ueberschritten sind. da faengt das prograemmchen naemlich nur bei den antworten brav wieder von 0 an und bei den timeouts zaehlts stur weiter.. ohne zu “nullen”. hier ein beispiel, bei dem der zaehler schon ein paar runden hinter sich hat:

[...]
64 bytes from xx.xx.xx.xx: icmp_seq=64162 ttl=53 time=26.932 ms
64 bytes from xx.xx.xx.xx: icmp_seq=64163 ttl=53 time=27.545 ms
64 bytes from xx.xx.xx.xx: icmp_seq=64164 ttl=53 time=27.130 ms
Request timeout for icmp_seq 981669
Request timeout for icmp_seq 981670
Request timeout for icmp_seq 981671
[...]
Request timeout for icmp_seq 981694
Request timeout for icmp_seq 981695
Request timeout for icmp_seq 981696
64 bytes from xx.xx.xx.xx: icmp_seq=64193 ttl=53 time=27.935 ms
64 bytes from xx.xx.xx.xx: icmp_seq=64194 ttl=53 time=27.289 ms
64 bytes from xx.xx.xx.xx: icmp_seq=64195 ttl=53 time=27.292 ms
[...]

ich wuerde einfach mal sagen, dass das ein bug ist. 99,9999999% der nutzer wird das auch nicht interessieren. und stoeren wirds wohl nur die perfektionisten. πŸ˜‰

falls jemand bei apple nen bug melden will: osx 10.8.4