preparesite.py works
authorSabine Engelhardt (Becker) <frosch@atari-frosch.de>
Sun, 9 Apr 2017 22:43:00 +0000 (00:43 +0200)
committerSabine Engelhardt (Becker) <frosch@atari-frosch.de>
Sun, 9 Apr 2017 22:43:00 +0000 (00:43 +0200)
832 files changed:
.gitignore
ToDo
filters/__pycache__/atarifrosch.cpython-34.pyc
filters/atarifrosch.py
preparesite.py
sites/atarifrosch/__init__.py [deleted file]
sites/atarifrosch/computer/__init__.py [new file with mode: 0755]
sites/atarifrosch/computer/atari.htm [new file with mode: 0644]
sites/atarifrosch/computer/atari.py [new file with mode: 0755]
sites/atarifrosch/computer/ccc/18c3.htm [new file with mode: 0644]
sites/atarifrosch/computer/ccc/18c3.py [new file with mode: 0755]
sites/atarifrosch/computer/ccc/19c3.htm [new file with mode: 0644]
sites/atarifrosch/computer/ccc/19c3.py [new file with mode: 0755]
sites/atarifrosch/computer/ccc/20c3.htm [new file with mode: 0644]
sites/atarifrosch/computer/ccc/20c3.py [new file with mode: 0755]
sites/atarifrosch/computer/ccc/20c3rant.htm [new file with mode: 0644]
sites/atarifrosch/computer/ccc/20c3rant.py [new file with mode: 0755]
sites/atarifrosch/computer/ccc/__init__.py [new file with mode: 0755]
sites/atarifrosch/computer/ccc/index.htm [new file with mode: 0644]
sites/atarifrosch/computer/ccc/index.py [new file with mode: 0755]
sites/atarifrosch/computer/ccc/menu.py [new file with mode: 0755]
sites/atarifrosch/computer/ccc/wau.htm [new file with mode: 0644]
sites/atarifrosch/computer/ccc/wau.py [new file with mode: 0755]
sites/atarifrosch/computer/companf.htm [new file with mode: 0644]
sites/atarifrosch/computer/companf.py [new file with mode: 0755]
sites/atarifrosch/computer/doswin.htm [new file with mode: 0644]
sites/atarifrosch/computer/doswin.py [new file with mode: 0755]
sites/atarifrosch/computer/freefax.htm [new file with mode: 0644]
sites/atarifrosch/computer/freefax.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/__init__.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/alex.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/alex.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/anne.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/anne.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/dirk.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/dirk.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/donostia.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/donostia.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/easyline.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/easyline.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/elliott.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/elliott.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/hdcrypt.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/hdcrypt.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/henner.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/henner.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/index.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/index.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/jukebox.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/jukebox.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/kaktus.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/kaktus.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/linkserver.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/linkserver.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/mariam-eee.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/mariam-eee.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/medion.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/medion.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/menu.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/mini.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/mini.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/mischa.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/mischa.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/mononoke.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/mononoke.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/nadim.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/nadim.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/nymbrecht.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/nymbrecht.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/oezkan.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/oezkan.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/openvpn-vista64.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/openvpn-vista64.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/sysiphos.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/sysiphos.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/thinkpad-x100e.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/thinkpad-x100e.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/vincent.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/vincent.py [new file with mode: 0755]
sites/atarifrosch/computer/fremd/wupper1.htm [new file with mode: 0644]
sites/atarifrosch/computer/fremd/wupper1.py [new file with mode: 0755]
sites/atarifrosch/computer/gfabasic.htm [new file with mode: 0644]
sites/atarifrosch/computer/gfabasic.py [new file with mode: 0755]
sites/atarifrosch/computer/havefun/__init__.py [new file with mode: 0755]
sites/atarifrosch/computer/havefun/babel-phishing.htm [new file with mode: 0644]
sites/atarifrosch/computer/havefun/babel-phishing.py [new file with mode: 0755]
sites/atarifrosch/computer/havefun/bosch.htm [new file with mode: 0644]
sites/atarifrosch/computer/havefun/bosch.py [new file with mode: 0755]
sites/atarifrosch/computer/havefun/compback.htm [new file with mode: 0644]
sites/atarifrosch/computer/havefun/compback.py [new file with mode: 0755]
sites/atarifrosch/computer/havefun/compwitz.htm [new file with mode: 0644]
sites/atarifrosch/computer/havefun/compwitz.py [new file with mode: 0755]
sites/atarifrosch/computer/havefun/erlrouter.htm [new file with mode: 0644]
sites/atarifrosch/computer/havefun/erlrouter.py [new file with mode: 0755]
sites/atarifrosch/computer/havefun/frontpage.htm [new file with mode: 0644]
sites/atarifrosch/computer/havefun/frontpage.py [new file with mode: 0755]
sites/atarifrosch/computer/havefun/index.htm [new file with mode: 0644]
sites/atarifrosch/computer/havefun/index.py [new file with mode: 0755]
sites/atarifrosch/computer/havefun/menu.py [new file with mode: 0755]
sites/atarifrosch/computer/havefun/unixzeilen.htm [new file with mode: 0644]
sites/atarifrosch/computer/havefun/unixzeilen.py [new file with mode: 0755]
sites/atarifrosch/computer/index.htm [new file with mode: 0644]
sites/atarifrosch/computer/index.py [new file with mode: 0755]
sites/atarifrosch/computer/linux.htm [new file with mode: 0644]
sites/atarifrosch/computer/linux.py [new file with mode: 0755]
sites/atarifrosch/computer/menu.py [new file with mode: 0755]
sites/atarifrosch/computer/pc-history.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc-history.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/__init__.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/atari-portfolio.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/atari-portfolio.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/hardware-suche.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/hardware-suche.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/hardwarelager.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/hardwarelager.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/index.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/index.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/menu.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seeadler-home.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seeadler-home.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seeadler.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seeadler.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seebaer.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seebaer.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seebuehne.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seebuehne.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seefunk-medion.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seefunk-medion.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seefunk.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seefunk.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seegurke.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seegurke.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seeloewe-acer.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seeloewe-acer.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seemeile.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seemeile.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seemoewe.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seemoewe.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seenot.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seenot.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seeraeuber.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seeraeuber.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seerose-amd1400.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seerose-amd1400.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seerose-athlon.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seerose-athlon.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seerose-dualcore.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seerose-dualcore.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seerose-k6-2-300.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seerose-k6-2-300.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seerose-p4.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seerose-p4.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seerose-piii500.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seerose-piii500.py [new file with mode: 0755]
sites/atarifrosch/computer/pc/seewind.htm [new file with mode: 0644]
sites/atarifrosch/computer/pc/seewind.py [new file with mode: 0755]
sites/atarifrosch/computer/texte/__init__.py [new file with mode: 0755]
sites/atarifrosch/computer/texte/compbuch.htm [new file with mode: 0644]
sites/atarifrosch/computer/texte/compbuch.py [new file with mode: 0755]
sites/atarifrosch/computer/texte/cpus.htm [new file with mode: 0644]
sites/atarifrosch/computer/texte/cpus.py [new file with mode: 0755]
sites/atarifrosch/computer/texte/datenrettung.htm [new file with mode: 0644]
sites/atarifrosch/computer/texte/datenrettung.py [new file with mode: 0755]
sites/atarifrosch/computer/texte/gemkifrau.htm [new file with mode: 0644]
sites/atarifrosch/computer/texte/gemkifrau.py [new file with mode: 0755]
sites/atarifrosch/computer/texte/hardware.htm [new file with mode: 0644]
sites/atarifrosch/computer/texte/hardware.py [new file with mode: 0755]
sites/atarifrosch/computer/texte/index.htm [new file with mode: 0644]
sites/atarifrosch/computer/texte/index.py [new file with mode: 0755]
sites/atarifrosch/computer/texte/irq.htm [new file with mode: 0644]
sites/atarifrosch/computer/texte/irq.py [new file with mode: 0755]
sites/atarifrosch/computer/texte/lharc.htm [new file with mode: 0644]
sites/atarifrosch/computer/texte/lharc.py [new file with mode: 0755]
sites/atarifrosch/computer/texte/mcpcna.htm [new file with mode: 0644]
sites/atarifrosch/computer/texte/mcpcna.py [new file with mode: 0755]
sites/atarifrosch/computer/texte/menu.py [new file with mode: 0755]
sites/atarifrosch/computer/texte/restab.htm [new file with mode: 0644]
sites/atarifrosch/computer/texte/restab.py [new file with mode: 0755]
sites/atarifrosch/computer/texte/tsr.htm [new file with mode: 0644]
sites/atarifrosch/computer/texte/tsr.py [new file with mode: 0755]
sites/atarifrosch/computer/texte/xserver.htm [new file with mode: 0644]
sites/atarifrosch/computer/texte/xserver.py [new file with mode: 0755]
sites/atarifrosch/depression/__init__.py [new file with mode: 0755]
sites/atarifrosch/depression/deprilinks.htm [new file with mode: 0644]
sites/atarifrosch/depression/deprilinks.py [new file with mode: 0755]
sites/atarifrosch/depression/deprilyrics.htm [new file with mode: 0644]
sites/atarifrosch/depression/deprilyrics.py [new file with mode: 0755]
sites/atarifrosch/depression/gedanken.htm [new file with mode: 0644]
sites/atarifrosch/depression/gedanken.py [new file with mode: 0755]
sites/atarifrosch/depression/index.htm [new file with mode: 0644]
sites/atarifrosch/depression/index.py [new file with mode: 0755]
sites/atarifrosch/depression/information.htm [new file with mode: 0644]
sites/atarifrosch/depression/information.py [new file with mode: 0755]
sites/atarifrosch/depression/keinekrankheit.htm [new file with mode: 0644]
sites/atarifrosch/depression/keinekrankheit.py [new file with mode: 0755]
sites/atarifrosch/depression/klinik.htm [new file with mode: 0644]
sites/atarifrosch/depression/klinik.py [new file with mode: 0755]
sites/atarifrosch/depression/medikamente.htm [new file with mode: 0644]
sites/atarifrosch/depression/medikamente.py [new file with mode: 0755]
sites/atarifrosch/depression/menu.py [new file with mode: 0755]
sites/atarifrosch/depression/soviele.htm [new file with mode: 0644]
sites/atarifrosch/depression/soviele.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20081106-sozialamt.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20081106-sozialamt.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20081121-widerspruch.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20081121-widerspruch.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20081222-widerspruchsbegruendung.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20081222-widerspruchsbegruendung.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20081223-lvr.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20081223-lvr.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20081223-sozialamt.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20081223-sozialamt.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20090105-lvr.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20090105-lvr.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20090105-sozialgericht.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20090105-sozialgericht.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20090115-sozialgericht.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20090115-sozialgericht.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20090116-sozialgericht.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20090116-sozialgericht.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20090119-lvr.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20090119-lvr.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20090120-sozialamt.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20090120-sozialamt.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20090123-widerspruch-lvr.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20090123-widerspruch-lvr.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20090125-sozialgericht.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20090125-sozialgericht.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20090129-sozialamt.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20090129-sozialamt.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/20090204-sozialamt.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/20090204-sozialamt.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/__init__.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/index.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/index.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/menu.py [new file with mode: 0755]
sites/atarifrosch/depression/sozialamt/sozialschmarotzer.htm [new file with mode: 0644]
sites/atarifrosch/depression/sozialamt/sozialschmarotzer.py [new file with mode: 0755]
sites/atarifrosch/depression/tms.htm [new file with mode: 0644]
sites/atarifrosch/depression/tms.py [new file with mode: 0755]
sites/atarifrosch/depression/wasistdas.htm [new file with mode: 0644]
sites/atarifrosch/depression/wasistdas.py [new file with mode: 0755]
sites/atarifrosch/flohmarkt/__init__.py [new file with mode: 0755]
sites/atarifrosch/flohmarkt/index.htm [new file with mode: 0644]
sites/atarifrosch/flohmarkt/index.py [new file with mode: 0755]
sites/atarifrosch/flohmarkt/menu.py [new file with mode: 0755]
sites/atarifrosch/flohmarkt/pr-hefte.htm [new file with mode: 0644]
sites/atarifrosch/flohmarkt/pr-hefte.py [new file with mode: 0755]
sites/atarifrosch/flohmarkt/verkauf.htm [new file with mode: 0644]
sites/atarifrosch/flohmarkt/verkauf.py [new file with mode: 0755]
sites/atarifrosch/flohmarkt/wunschliste.htm [new file with mode: 0644]
sites/atarifrosch/flohmarkt/wunschliste.py [new file with mode: 0755]
sites/atarifrosch/fotografie/__init__.py [new file with mode: 0755]
sites/atarifrosch/fotografie/aquazoo.htm [new file with mode: 0644]
sites/atarifrosch/fotografie/aquazoo.py [new file with mode: 0755]
sites/atarifrosch/fotografie/baar.htm [new file with mode: 0644]
sites/atarifrosch/fotografie/baar.py [new file with mode: 0755]
sites/atarifrosch/fotografie/cccberlin2001.htm [new file with mode: 0644]
sites/atarifrosch/fotografie/cccberlin2001.py [new file with mode: 0755]
sites/atarifrosch/fotografie/cccberlin2002.htm [new file with mode: 0644]
sites/atarifrosch/fotografie/cccberlin2002.py [new file with mode: 0755]
sites/atarifrosch/fotografie/cdebschwetzingen.htm [new file with mode: 0644]
sites/atarifrosch/fotografie/cdebschwetzingen.py [new file with mode: 0755]
sites/atarifrosch/fotografie/flughafen2004.htm [new file with mode: 0644]
sites/atarifrosch/fotografie/flughafen2004.py [new file with mode: 0755]
sites/atarifrosch/fotografie/grafenberg.htm [new file with mode: 0644]
sites/atarifrosch/fotografie/grafenberg.py [new file with mode: 0755]
sites/atarifrosch/fotografie/index.htm [new file with mode: 0644]
sites/atarifrosch/fotografie/index.py [new file with mode: 0755]
sites/atarifrosch/fotografie/menu.py [new file with mode: 0755]
sites/atarifrosch/fotografie/schwetzingen.htm [new file with mode: 0644]
sites/atarifrosch/fotografie/schwetzingen.py [new file with mode: 0755]
sites/atarifrosch/fotografie/wildpark.htm [new file with mode: 0644]
sites/atarifrosch/fotografie/wildpark.py [new file with mode: 0755]
sites/atarifrosch/fotografie/wolken0507.htm [new file with mode: 0644]
sites/atarifrosch/fotografie/wolken0507.py [new file with mode: 0755]
sites/atarifrosch/freunde.htm [new file with mode: 0644]
sites/atarifrosch/freunde.py [new file with mode: 0755]
sites/atarifrosch/hist/__init__.py [new file with mode: 0755]
sites/atarifrosch/hist/hist2001.htm [new file with mode: 0644]
sites/atarifrosch/hist/hist2001.py [new file with mode: 0755]
sites/atarifrosch/hist/hist2002.htm [new file with mode: 0644]
sites/atarifrosch/hist/hist2002.py [new file with mode: 0755]
sites/atarifrosch/hist/hist2003.htm [new file with mode: 0644]
sites/atarifrosch/hist/hist2003.py [new file with mode: 0755]
sites/atarifrosch/hist/hist2004.htm [new file with mode: 0644]
sites/atarifrosch/hist/hist2004.py [new file with mode: 0755]
sites/atarifrosch/hist/hist2005.htm [new file with mode: 0644]
sites/atarifrosch/hist/hist2005.py [new file with mode: 0755]
sites/atarifrosch/hist/hist2006.htm [new file with mode: 0644]
sites/atarifrosch/hist/hist2006.py [new file with mode: 0755]
sites/atarifrosch/hist/hist2007.htm [new file with mode: 0644]
sites/atarifrosch/hist/hist2007.py [new file with mode: 0755]
sites/atarifrosch/hist/hist2008.htm [new file with mode: 0644]
sites/atarifrosch/hist/hist2008.py [new file with mode: 0755]
sites/atarifrosch/hist/hist2009.htm [new file with mode: 0644]
sites/atarifrosch/hist/hist2009.py [new file with mode: 0755]
sites/atarifrosch/hist/hist2010.htm [new file with mode: 0644]
sites/atarifrosch/hist/hist2010.py [new file with mode: 0755]
sites/atarifrosch/hist/hist2011.htm [new file with mode: 0644]
sites/atarifrosch/hist/hist2011.py [new file with mode: 0755]
sites/atarifrosch/hist/hist2012.htm [new file with mode: 0644]
sites/atarifrosch/hist/hist2012.py [new file with mode: 0755]
sites/atarifrosch/hist/index.htm [new file with mode: 0644]
sites/atarifrosch/hist/index.py [new file with mode: 0755]
sites/atarifrosch/hist/menu.py [new file with mode: 0755]
sites/atarifrosch/hist/moves.htm [new file with mode: 0644]
sites/atarifrosch/hist/moves.py [new file with mode: 0755]
sites/atarifrosch/hobby/__init__.py [new file with mode: 0755]
sites/atarifrosch/hobby/buecher.htm [new file with mode: 0644]
sites/atarifrosch/hobby/buecher.py [new file with mode: 0755]
sites/atarifrosch/hobby/foto.htm [new file with mode: 0644]
sites/atarifrosch/hobby/foto.py [new file with mode: 0755]
sites/atarifrosch/hobby/froesche.htm [new file with mode: 0644]
sites/atarifrosch/hobby/froesche.py [new file with mode: 0755]
sites/atarifrosch/hobby/index.htm [new file with mode: 0644]
sites/atarifrosch/hobby/index.py [new file with mode: 0755]
sites/atarifrosch/hobby/kochen/__init__.py [new file with mode: 0755]
sites/atarifrosch/hobby/kochen/index.htm [new file with mode: 0644]
sites/atarifrosch/hobby/kochen/index.py [new file with mode: 0755]
sites/atarifrosch/hobby/kochen/menu.py [new file with mode: 0755]
sites/atarifrosch/hobby/kochen/rez000001.htm [new file with mode: 0644]
sites/atarifrosch/hobby/kochen/rez000001.py [new file with mode: 0755]
sites/atarifrosch/hobby/kochen/rez000002.htm [new file with mode: 0644]
sites/atarifrosch/hobby/kochen/rez000002.py [new file with mode: 0755]
sites/atarifrosch/hobby/kochen/rez000003.htm [new file with mode: 0644]
sites/atarifrosch/hobby/kochen/rez000003.py [new file with mode: 0755]
sites/atarifrosch/hobby/kochen/rez000004.htm [new file with mode: 0644]
sites/atarifrosch/hobby/kochen/rez000004.py [new file with mode: 0755]
sites/atarifrosch/hobby/kochen/rezepte-az.htm [new file with mode: 0644]
sites/atarifrosch/hobby/kochen/rezepte-az.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/__init__.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/bilkinfo/__init__.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/bilkinfo/absturz.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/bilkinfo/absturz.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/bilkinfo/index.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/bilkinfo/index.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/bilkinfo/menu.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/bilkinfo/rechner.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/bilkinfo/rechner.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/bilkinfo/server1.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/bilkinfo/server1.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/bilkinfo/serverschrank.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/bilkinfo/serverschrank.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/bilkinfo/tagebuch.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/bilkinfo/tagebuch.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/index.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/index.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/mbhist.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/mbhist.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/mbtechnik.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/mbtechnik.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/menu.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/point.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/point.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/pointsoft.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/pointsoft.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/rainer/__init__.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/seerose/__init__.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/seerose/index.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/seerose/index.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/seerose/menu.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/seerose/srhist.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/seerose/srhist.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/seerose/tb1995.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/seerose/tb1995.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/seerose/tb1996.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/seerose/tb1996.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/seerose/tb1997.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/seerose/tb1997.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/seerose/tb1998.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/seerose/tb1998.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/seerose/tb1999.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/seerose/tb1999.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/seerose/tb2000.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/seerose/tb2000.py [new file with mode: 0755]
sites/atarifrosch/hobby/mailbox/seerose/werbung.htm [new file with mode: 0644]
sites/atarifrosch/hobby/mailbox/seerose/werbung.py [new file with mode: 0755]
sites/atarifrosch/hobby/menu.py [new file with mode: 0755]
sites/atarifrosch/hobby/perry-rhodan.htm [new file with mode: 0644]
sites/atarifrosch/hobby/perry-rhodan.py [new file with mode: 0755]
sites/atarifrosch/hobby/steno.htm [new file with mode: 0644]
sites/atarifrosch/hobby/steno.py [new file with mode: 0755]
sites/atarifrosch/hobby/video.htm [new file with mode: 0644]
sites/atarifrosch/hobby/video.py [new file with mode: 0755]
sites/atarifrosch/impressum.htm [new file with mode: 0644]
sites/atarifrosch/impressum.py [new file with mode: 0755]
sites/atarifrosch/index.htm [new file with mode: 0644]
sites/atarifrosch/index.py [new file with mode: 0755]
sites/atarifrosch/internet/__init__.py [new file with mode: 0755]
sites/atarifrosch/internet/bildklau.htm [new file with mode: 0644]
sites/atarifrosch/internet/bildklau.py [new file with mode: 0755]
sites/atarifrosch/internet/burda.htm [new file with mode: 0644]
sites/atarifrosch/internet/burda.py [new file with mode: 0755]
sites/atarifrosch/internet/dmmv.htm [new file with mode: 0644]
sites/atarifrosch/internet/dmmv.py [new file with mode: 0755]
sites/atarifrosch/internet/dsl.htm [new file with mode: 0644]
sites/atarifrosch/internet/dsl.py [new file with mode: 0755]
sites/atarifrosch/internet/flattr.htm [new file with mode: 0644]
sites/atarifrosch/internet/flattr.py [new file with mode: 0755]
sites/atarifrosch/internet/hommingberger.htm [new file with mode: 0644]
sites/atarifrosch/internet/hommingberger.py [new file with mode: 0755]
sites/atarifrosch/internet/htaccess-blog.htm [new file with mode: 0644]
sites/atarifrosch/internet/htaccess-blog.py [new file with mode: 0755]
sites/atarifrosch/internet/html-richtig.htm [new file with mode: 0644]
sites/atarifrosch/internet/html-richtig.py [new file with mode: 0755]
sites/atarifrosch/internet/index.htm [new file with mode: 0644]
sites/atarifrosch/internet/index.py [new file with mode: 0755]
sites/atarifrosch/internet/internetsperren.htm [new file with mode: 0644]
sites/atarifrosch/internet/internetsperren.py [new file with mode: 0755]
sites/atarifrosch/internet/iptables.htm [new file with mode: 0644]
sites/atarifrosch/internet/iptables.py [new file with mode: 0755]
sites/atarifrosch/internet/menu.py [new file with mode: 0755]
sites/atarifrosch/internet/netzserie.htm [new file with mode: 0644]
sites/atarifrosch/internet/netzserie.py [new file with mode: 0755]
sites/atarifrosch/internet/pgp.htm [new file with mode: 0644]
sites/atarifrosch/internet/pgp.py [new file with mode: 0755]
sites/atarifrosch/internet/spammail.htm [new file with mode: 0644]
sites/atarifrosch/internet/spammail.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200503.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200503.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200504.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200504.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200505.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200505.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200506.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200506.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200507.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200507.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200508.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200508.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200509.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200509.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200510.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200510.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200511.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200511.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200601.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200601.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200602.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200602.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200603.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200603.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200604.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200604.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200605.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200605.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200606.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200606.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/200607.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/200607.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/__init__.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/index.htm [new file with mode: 0644]
sites/atarifrosch/internet/stalking/index.py [new file with mode: 0755]
sites/atarifrosch/internet/stalking/menu.py [new file with mode: 0755]
sites/atarifrosch/internet/stream-mit-linux.htm [new file with mode: 0644]
sites/atarifrosch/internet/stream-mit-linux.py [new file with mode: 0755]
sites/atarifrosch/internet/telekom-post.htm [new file with mode: 0644]
sites/atarifrosch/internet/telekom-post.py [new file with mode: 0755]
sites/atarifrosch/internet/usenet.htm [new file with mode: 0644]
sites/atarifrosch/internet/usenet.py [new file with mode: 0755]
sites/atarifrosch/internet/webseiten.htm [new file with mode: 0644]
sites/atarifrosch/internet/webseiten.py [new file with mode: 0755]
sites/atarifrosch/internet/weihnachtsmail.htm [new file with mode: 0644]
sites/atarifrosch/internet/weihnachtsmail.py [new file with mode: 0755]
sites/atarifrosch/internet/zcheaderfaq.htm [new file with mode: 0644]
sites/atarifrosch/internet/zcheaderfaq.py [new file with mode: 0755]
sites/atarifrosch/menu.py [new file with mode: 0755]
sites/atarifrosch/misc/__init__.py [new file with mode: 0755]
sites/atarifrosch/misc/discord.htm [new file with mode: 0644]
sites/atarifrosch/misc/discord.py [new file with mode: 0755]
sites/atarifrosch/misc/eostelefonterror.htm [new file with mode: 0644]
sites/atarifrosch/misc/eostelefonterror.py [new file with mode: 0755]
sites/atarifrosch/misc/gestohlen.htm [new file with mode: 0644]
sites/atarifrosch/misc/gestohlen.py [new file with mode: 0755]
sites/atarifrosch/misc/hommingberger-gepardenforelle.htm [new file with mode: 0644]
sites/atarifrosch/misc/hommingberger-gepardenforelle.py [new file with mode: 0755]
sites/atarifrosch/misc/index.htm [new file with mode: 0644]
sites/atarifrosch/misc/index.py [new file with mode: 0755]
sites/atarifrosch/misc/lustig/__init__.py [new file with mode: 0755]
sites/atarifrosch/misc/lustig/gesundheit.htm [new file with mode: 0644]
sites/atarifrosch/misc/lustig/gesundheit.py [new file with mode: 0755]
sites/atarifrosch/misc/lustig/heidelberg.htm [new file with mode: 0644]
sites/atarifrosch/misc/lustig/heidelberg.py [new file with mode: 0755]
sites/atarifrosch/misc/lustig/index.htm [new file with mode: 0644]
sites/atarifrosch/misc/lustig/index.py [new file with mode: 0755]
sites/atarifrosch/misc/lustig/kerzen.htm [new file with mode: 0644]
sites/atarifrosch/misc/lustig/kerzen.py [new file with mode: 0755]
sites/atarifrosch/misc/lustig/menu.py [new file with mode: 0755]
sites/atarifrosch/misc/lustig/politisches.htm [new file with mode: 0644]
sites/atarifrosch/misc/lustig/politisches.py [new file with mode: 0755]
sites/atarifrosch/misc/lustig/sprueche.htm [new file with mode: 0644]
sites/atarifrosch/misc/lustig/sprueche.py [new file with mode: 0755]
sites/atarifrosch/misc/mannheim.htm [new file with mode: 0644]
sites/atarifrosch/misc/mannheim.py [new file with mode: 0755]
sites/atarifrosch/misc/menu.py [new file with mode: 0755]
sites/atarifrosch/misc/nachdenk/__init__.py [new file with mode: 0755]
sites/atarifrosch/misc/nachdenk/colored.htm [new file with mode: 0644]
sites/atarifrosch/misc/nachdenk/colored.py [new file with mode: 0755]
sites/atarifrosch/misc/nachdenk/doai.htm [new file with mode: 0644]
sites/atarifrosch/misc/nachdenk/doai.py [new file with mode: 0755]
sites/atarifrosch/misc/nachdenk/index.htm [new file with mode: 0644]
sites/atarifrosch/misc/nachdenk/index.py [new file with mode: 0755]
sites/atarifrosch/misc/nachdenk/menu.py [new file with mode: 0755]
sites/atarifrosch/misc/nachdenk/oil.htm [new file with mode: 0644]
sites/atarifrosch/misc/nachdenk/oil.py [new file with mode: 0755]
sites/atarifrosch/misc/nachdenk/wuensche.htm [new file with mode: 0644]
sites/atarifrosch/misc/nachdenk/wuensche.py [new file with mode: 0755]
sites/atarifrosch/misc/nachdenk/zitate.htm [new file with mode: 0644]
sites/atarifrosch/misc/nachdenk/zitate.py [new file with mode: 0755]
sites/atarifrosch/missing.htm [new file with mode: 0644]
sites/atarifrosch/missing.py [new file with mode: 0755]
sites/atarifrosch/musik/__init__.py [new file with mode: 0755]
sites/atarifrosch/musik/alben.htm [new file with mode: 0644]
sites/atarifrosch/musik/alben.py [new file with mode: 0755]
sites/atarifrosch/musik/cdeb/__init__.py [new file with mode: 0755]
sites/atarifrosch/musik/cdeb/index.htm [new file with mode: 0644]
sites/atarifrosch/musik/cdeb/index.py [new file with mode: 0755]
sites/atarifrosch/musik/cdeb/menu.py [new file with mode: 0755]
sites/atarifrosch/musik/cdeb/schwetzingen.htm [new file with mode: 0644]
sites/atarifrosch/musik/cdeb/schwetzingen.py [new file with mode: 0755]
sites/atarifrosch/musik/gesang.htm [new file with mode: 0644]
sites/atarifrosch/musik/gesang.py [new file with mode: 0755]
sites/atarifrosch/musik/gitarre.htm [new file with mode: 0644]
sites/atarifrosch/musik/gitarre.py [new file with mode: 0755]
sites/atarifrosch/musik/index.htm [new file with mode: 0644]
sites/atarifrosch/musik/index.py [new file with mode: 0755]
sites/atarifrosch/musik/industrie/__init__.py [new file with mode: 0755]
sites/atarifrosch/musik/industrie/copyprotection-cdeb.htm [new file with mode: 0644]
sites/atarifrosch/musik/industrie/copyprotection-cdeb.py [new file with mode: 0755]
sites/atarifrosch/musik/industrie/index.htm [new file with mode: 0644]
sites/atarifrosch/musik/industrie/index.py [new file with mode: 0755]
sites/atarifrosch/musik/industrie/internet-debakel.htm [new file with mode: 0644]
sites/atarifrosch/musik/industrie/internet-debakel.py [new file with mode: 0755]
sites/atarifrosch/musik/industrie/internet-debakel2.htm [new file with mode: 0644]
sites/atarifrosch/musik/industrie/internet-debakel2.py [new file with mode: 0755]
sites/atarifrosch/musik/industrie/menu.py [new file with mode: 0755]
sites/atarifrosch/musik/menu.py [new file with mode: 0755]
sites/atarifrosch/musik/orgel.htm [new file with mode: 0644]
sites/atarifrosch/musik/orgel.py [new file with mode: 0755]
sites/atarifrosch/politik/__init__.py [new file with mode: 0755]
sites/atarifrosch/politik/cdumani.htm [new file with mode: 0644]
sites/atarifrosch/politik/cdumani.py [new file with mode: 0755]
sites/atarifrosch/politik/index.htm [new file with mode: 0644]
sites/atarifrosch/politik/index.py [new file with mode: 0755]
sites/atarifrosch/politik/listenprivileg.htm [new file with mode: 0644]
sites/atarifrosch/politik/listenprivileg.py [new file with mode: 0755]
sites/atarifrosch/politik/menu.py [new file with mode: 0755]
sites/atarifrosch/politik/peace.htm [new file with mode: 0644]
sites/atarifrosch/politik/peace.py [new file with mode: 0755]
sites/atarifrosch/politik/schaeuble.htm [new file with mode: 0644]
sites/atarifrosch/politik/schaeuble.py [new file with mode: 0755]
sites/atarifrosch/politik/soziales/__init__.py [new file with mode: 0755]
sites/atarifrosch/politik/soziales/a-sozialamt.htm [new file with mode: 0644]
sites/atarifrosch/politik/soziales/a-sozialamt.py [new file with mode: 0755]
sites/atarifrosch/politik/soziales/arbeitslos.htm [new file with mode: 0644]
sites/atarifrosch/politik/soziales/arbeitslos.py [new file with mode: 0755]
sites/atarifrosch/politik/soziales/einzelfaelle.htm [new file with mode: 0644]
sites/atarifrosch/politik/soziales/einzelfaelle.py [new file with mode: 0755]
sites/atarifrosch/politik/soziales/gesucht.htm [new file with mode: 0644]
sites/atarifrosch/politik/soziales/gesucht.py [new file with mode: 0755]
sites/atarifrosch/politik/soziales/grundeinkommen.htm [new file with mode: 0644]
sites/atarifrosch/politik/soziales/grundeinkommen.py [new file with mode: 0755]
sites/atarifrosch/politik/soziales/hartz4-links.htm [new file with mode: 0644]
sites/atarifrosch/politik/soziales/hartz4-links.py [new file with mode: 0755]
sites/atarifrosch/politik/soziales/index.htm [new file with mode: 0644]
sites/atarifrosch/politik/soziales/index.py [new file with mode: 0755]
sites/atarifrosch/politik/soziales/menu.py [new file with mode: 0755]
sites/atarifrosch/politik/soziales/sozartikel.htm [new file with mode: 0644]
sites/atarifrosch/politik/soziales/sozartikel.py [new file with mode: 0755]
sites/atarifrosch/politik/soziales/sozialschmarotzer.htm [new file with mode: 0644]
sites/atarifrosch/politik/soziales/sozialschmarotzer.py [new file with mode: 0755]
sites/atarifrosch/politik/soziales/watschn.htm [new file with mode: 0644]
sites/atarifrosch/politik/soziales/watschn.py [new file with mode: 0755]
sites/atarifrosch/politik/verkehr/__init__.py [new file with mode: 0755]
sites/atarifrosch/politik/verkehr/arroganz.htm [new file with mode: 0644]
sites/atarifrosch/politik/verkehr/arroganz.py [new file with mode: 0755]
sites/atarifrosch/politik/verkehr/fama-referat.htm [new file with mode: 0644]
sites/atarifrosch/politik/verkehr/fama-referat.py [new file with mode: 0755]
sites/atarifrosch/politik/verkehr/fliegen.htm [new file with mode: 0644]
sites/atarifrosch/politik/verkehr/fliegen.py [new file with mode: 0755]
sites/atarifrosch/politik/verkehr/index.htm [new file with mode: 0644]
sites/atarifrosch/politik/verkehr/index.py [new file with mode: 0755]
sites/atarifrosch/politik/verkehr/lindenhof.htm [new file with mode: 0644]
sites/atarifrosch/politik/verkehr/lindenhof.py [new file with mode: 0755]
sites/atarifrosch/politik/verkehr/menu.py [new file with mode: 0755]
sites/atarifrosch/politik/verkehr/rq1-13.htm [new file with mode: 0644]
sites/atarifrosch/politik/verkehr/rq1-13.py [new file with mode: 0755]
sites/atarifrosch/politik/verkehr/spdfrau.htm [new file with mode: 0644]
sites/atarifrosch/politik/verkehr/spdfrau.py [new file with mode: 0755]
sites/atarifrosch/politik/verkehr/ubahn.htm [new file with mode: 0644]
sites/atarifrosch/politik/verkehr/ubahn.py [new file with mode: 0755]
sites/atarifrosch/politik/verkehr/verkehr-aktuell.htm [new file with mode: 0644]
sites/atarifrosch/politik/verkehr/verkehr-aktuell.py [new file with mode: 0755]
sites/atarifrosch/politik/verkehr/waldhofstr.htm [new file with mode: 0644]
sites/atarifrosch/politik/verkehr/waldhofstr.py [new file with mode: 0755]
sites/atarifrosch/preparesite.log [new file with mode: 0644]
sites/atarifrosch/pretender/__init__.py [new file with mode: 0755]
sites/atarifrosch/pretender/bluemoon01.htm [new file with mode: 0644]
sites/atarifrosch/pretender/bluemoon01.py [new file with mode: 0755]
sites/atarifrosch/pretender/english-index.htm [new file with mode: 0644]
sites/atarifrosch/pretender/english-index.py [new file with mode: 0755]
sites/atarifrosch/pretender/episoden/__init__.py [new file with mode: 0755]
sites/atarifrosch/pretender/episoden/francais.htm [new file with mode: 0644]
sites/atarifrosch/pretender/episoden/francais.py [new file with mode: 0755]
sites/atarifrosch/pretender/episoden/index.htm [new file with mode: 0644]
sites/atarifrosch/pretender/episoden/index.py [new file with mode: 0755]
sites/atarifrosch/pretender/episoden/italiano.htm [new file with mode: 0644]
sites/atarifrosch/pretender/episoden/italiano.py [new file with mode: 0755]
sites/atarifrosch/pretender/episoden/menu.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/__init__.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/eigene/__init__.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/eigene/index.htm [new file with mode: 0644]
sites/atarifrosch/pretender/fanfic/eigene/index.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/eigene/lights.htm [new file with mode: 0644]
sites/atarifrosch/pretender/fanfic/eigene/lights.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/eigene/menu.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/eigene/shadows.htm [new file with mode: 0644]
sites/atarifrosch/pretender/fanfic/eigene/shadows.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/eigene/twilight.htm [new file with mode: 0644]
sites/atarifrosch/pretender/fanfic/eigene/twilight.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/english-index.htm [new file with mode: 0644]
sites/atarifrosch/pretender/fanfic/english-index.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/index.htm [new file with mode: 0644]
sites/atarifrosch/pretender/fanfic/index.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/julie/.orig/__init__.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/julie/__init__.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/julie/ambition.htm [new file with mode: 0644]
sites/atarifrosch/pretender/fanfic/julie/ambition.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/julie/dauerurlaub.htm [new file with mode: 0644]
sites/atarifrosch/pretender/fanfic/julie/dauerurlaub.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/julie/index.htm [new file with mode: 0644]
sites/atarifrosch/pretender/fanfic/julie/index.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/julie/menu.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/julie/nah.htm [new file with mode: 0644]
sites/atarifrosch/pretender/fanfic/julie/nah.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/julie/nah2.htm [new file with mode: 0644]
sites/atarifrosch/pretender/fanfic/julie/nah2.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/julie/schneesturm.htm [new file with mode: 0644]
sites/atarifrosch/pretender/fanfic/julie/schneesturm.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/julie/traeume.htm [new file with mode: 0644]
sites/atarifrosch/pretender/fanfic/julie/traeume.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/julie/vermaechtnis.htm [new file with mode: 0644]
sites/atarifrosch/pretender/fanfic/julie/vermaechtnis.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/menu.py [new file with mode: 0755]
sites/atarifrosch/pretender/fanfic/verschiedene/__init__.py [new file with mode: 0755]
sites/atarifrosch/pretender/index.htm [new file with mode: 0644]
sites/atarifrosch/pretender/index.py [new file with mode: 0755]
sites/atarifrosch/pretender/menu.py [new file with mode: 0755]
sites/atarifrosch/pretender/pretender-tv.htm [new file with mode: 0644]
sites/atarifrosch/pretender/pretender-tv.py [new file with mode: 0755]
sites/atarifrosch/pretender/timetable.htm [new file with mode: 0644]
sites/atarifrosch/pretender/timetable.py [new file with mode: 0755]
sites/atarifrosch/pretender/zeittafel.htm [new file with mode: 0644]
sites/atarifrosch/pretender/zeittafel.py [new file with mode: 0755]
sites/atarifrosch/probleme.htm [new file with mode: 0644]
sites/atarifrosch/probleme.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1769m.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1769m.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1773m.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1773m.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1804j.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1804j.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1833j.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1833j.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1840a.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1840a.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1847e.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1847e.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1849f.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1849f.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1872j.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1872j.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1878e.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1878e.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1879a.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1879a.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1882m.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1882m.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1908h.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1908h.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1912e.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1912e.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1912h.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1912h.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1912k.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1912k.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1914c.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1914c.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1914m.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1914m.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1934c.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1934c.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1938h.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1938h.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1938j.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1938j.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1939p.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1939p.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1940r.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1940r.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1941i.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1941i.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1943i.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1943i.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1944k.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1944k.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1950g.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1950g.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1951c.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1951c.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1961k.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1961k.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1964t.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1964t.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1966p.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1966p.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1967m.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1967m.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1968s.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1968s.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1969a.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1969a.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1970m.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1970m.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1972c.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1972c.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1973m.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1973m.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1976j.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1976j.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1977k.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1977k.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1978a.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1978a.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1996c.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1996c.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1997c.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1997c.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1998m.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1998m.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/1998r.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/1998r.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/2000l.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/2000l.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/2000n.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/2000n.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/2000s.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/2000s.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/2002j.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/2002j.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/__init__.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/becker-franz.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/becker-franz.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/becker-frieda.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/becker-frieda.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/becker-gertrud.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/becker-gertrud.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/becker-magda.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/becker-magda.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/becker-martha.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/becker-martha.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/becker-otto.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/becker-otto.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/becker-rudolf.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/becker-rudolf.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/beschoner-bernhard.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/beschoner-bernhard.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/beschoner-elly.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/beschoner-elly.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/culmsee-bruno.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/culmsee-bruno.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/culmsee-juliane.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/culmsee-juliane.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/dziuba-jakob.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/dziuba-jakob.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/dzogalla-marianne.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/dzogalla-marianne.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/engelhardt-gertrud.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/engelhardt-gertrud.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/goretzki-johanna.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/goretzki-johanna.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/index.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/index.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/kroh-gustav.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/kroh-gustav.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/kroh-ida.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/kroh-ida.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/laetsch-michael.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/laetsch-michael.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/laetsch-monika.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/laetsch-monika.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/menu.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/pietsch-klara.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/pietsch-klara.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/poppa-johann.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/poppa-johann.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/rohnert-johann.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/rohnert-johann.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/schoeffel-ursula.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/schoeffel-ursula.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/zehn-annerose.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/zehn-annerose.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/zehn-erika.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/zehn-erika.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/zehn-frieda.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/zehn-frieda.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/zehn-hannelore.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/zehn-hannelore.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/zehn-johanna.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/zehn-johanna.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/zehn-martin.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/zehn-martin.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/zehn-otto.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/zehn-otto.py [new file with mode: 0755]
sites/atarifrosch/stammbaum/zuber-jutta.htm [new file with mode: 0644]
sites/atarifrosch/stammbaum/zuber-jutta.py [new file with mode: 0755]
sites/atarifrosch/start.py [deleted file]
sites/atarifrosch/vorstellung/__init__.py [new file with mode: 0755]
sites/atarifrosch/vorstellung/bilder.htm [new file with mode: 0644]
sites/atarifrosch/vorstellung/bilder.py [new file with mode: 0755]
sites/atarifrosch/vorstellung/froschgross.htm [new file with mode: 0644]
sites/atarifrosch/vorstellung/froschgross.py [new file with mode: 0755]
sites/atarifrosch/vorstellung/gruss.htm [new file with mode: 0644]
sites/atarifrosch/vorstellung/gruss.py [new file with mode: 0755]
sites/atarifrosch/vorstellung/index.htm [new file with mode: 0644]
sites/atarifrosch/vorstellung/index.py [new file with mode: 0755]
sites/atarifrosch/vorstellung/leblauf.htm [new file with mode: 0644]
sites/atarifrosch/vorstellung/leblauf.py [new file with mode: 0755]
sites/atarifrosch/vorstellung/menu.py [new file with mode: 0755]
sites/atarifrosch/vorstellung/profil.htm [new file with mode: 0644]
sites/atarifrosch/vorstellung/profil.py [new file with mode: 0755]

index 5ccff1a..8be87d5 100644 (file)
@@ -1 +1,4 @@
+__pycache__/
+*/__pycache/
 html/
+
diff --git a/ToDo b/ToDo
index 8ee1a21..fe59231 100644 (file)
--- a/ToDo
+++ b/ToDo
@@ -1,19 +1,13 @@
+General:
+
+* PROBLEM: fix git push
+
+
 preparesite.py:
 
-* BUG: menu.py gets written to the source dir instead of target dir
 * BUG: addcssfiles adds the wrong line part
 * BUG: favicon also adds wrong line part to $file.py
 
-* FEAT: logging
-
-* FEAT: if sourcefile is iso-encoded, recode to utf8 before processing
-        -> check for .startswith("<?xml")
-        -> read encoding from that line
-        -> close file, recode using subprocess (need status)
-        -> rename recoded file to original file
-        -> open file again
-
-* FEAT: timestamp of last change as comment in first line of $page.py
 * FEAT: timestamp of last change as comment in first line of $page.py
 
 
index 00e594a..f7663ff 100644 (file)
Binary files a/filters/__pycache__/atarifrosch.cpython-34.pyc and b/filters/__pycache__/atarifrosch.cpython-34.pyc differ
index 251b000..8e3644b 100755 (executable)
@@ -4,8 +4,61 @@
 origpath = "/srv/atarifrosch/"
 fileext = ".html"
 targetpath = "/home/frosch/projekte/htmlglue/sites/atarifrosch/"
+logfile = targetpath + "preparesite.log"
+loglevel = 5
+
+ignoredirs = []
+ignoredirs.append("/bilder")
+ignoredirs.append("/bilder/18c3")
+ignoredirs.append("/bilder/19c3")
+ignoredirs.append("/bilder/aquazoo")
+ignoredirs.append("/bilder/baar")
+ignoredirs.append("/bilder/bilk0904")
+ignoredirs.append("/bilder/bilk0904/tn")
+ignoredirs.append("/bilder/bpt11-1")
+ignoredirs.append("/bilder/cdeb")
+ignoredirs.append("/bilder/dieb")
+ignoredirs.append("/bilder/displays")
+ignoredirs.append("/bilder/dus2004")
+ignoredirs.append("/bilder/foto")
+ignoredirs.append("/bilder/frogs")
+ignoredirs.append("/bilder/frosch")
+ignoredirs.append("/bilder/grafenberg")
+ignoredirs.append("/bilder/knips")
+ignoredirs.append("/bilder/knips/thumbs")
+ignoredirs.append("/bilder/maulbronn")
+ignoredirs.append("/bilder/peace")
+ignoredirs.append("/bilder/pretender")
+ignoredirs.append("/bilder/schwetzingen")
+ignoredirs.append("/bilder/server")
+ignoredirs.append("/bilder/tmp")
+ignoredirs.append("/bilder/wildpark")
+ignoredirs.append("/bilder/wolken0309")
+ignoredirs.append("/bilder/wolken0506")
+ignoredirs.append("/bilder/wolken0507")
+ignoredirs.append("/computer/atari")
+ignoredirs.append("/computer/hw")
+ignoredirs.append("/computer/x100e")
+ignoredirs.append("/depression/tagebuch")
+ignoredirs.append("/hist/stats")
+ignoredirs.append("/hist/stats/altlogs")
+ignoredirs.append("/hist/stats/doofe")
+ignoredirs.append("/hist/stats/doofe/2007")
+ignoredirs.append("/hist/stats/doofe/2008")
+ignoredirs.append("/hist/stats/neulogs")
+ignoredirs.append("/hobby/kochen/.rezepte")
+ignoredirs.append("/hobby/kochen/mm")
+ignoredirs.append("/politik/arbeit")
+ignoredirs.append("/pretender/fanfic/verschiedene/")
+ignoredirs.append("/pretender/fanfic/verschiedene/.orig")
+ignoredirs.append("/pretender/fanfic/victoria")
+ignoredirs.append("/pretender/fanfic/victoria/Originale")
+ignoredirs.append("/pretender/fanfic/virtual")
+ignoredirs.append("/pretender/fanfic/virtual/movies")
+ignoredirs.append("/pretender/fanfic/virtual/season5")
+ignoredirs.append("/pretender/fanfic/virtual/season6")
+ignoredirs.append("/tmp")
 
-ignoredirs = ["bilder", "hw", "x100e", "tagebuch"]
 ignorefiles = ["STANDARD.html"]
 
 ignorehtml = []
@@ -22,6 +75,7 @@ ignorehtml.append('<!-- AKVS body start v1.6 --> == <!-- AKVS body end -->')
 
 menustart = '<div id="menu">'
 menuend = '<!-- div#menu -->'
+firstmenuitem = 'menuitem.append(["htm", "home", "/index.html", "Startseite"])\n'
 
 headlinekey = "<h1>"
 
index f041da5..92781b6 100755 (executable)
 # -*- coding: utf8 -*-
 
 import sys, os
+import logging
 from time import strftime, gmtime
 from datetime import datetime
 from subprocess import call
 from defaults import myversion
 
+# functions
+
+def checkenc(curfile):
+    logging.debug('Checking %s for old encoding.', curfile)
+    with open(curfile, 'r', encoding='iso8859-15') as f:
+        firstline = f.readline().strip()
+        # <?xml version='1.0' encoding='ISO-8859-1'?>
+        logging.debug('Found: %s', firstline)
+        if firstline.startswith("<?xml"):
+            logging.debug('%s has old encoding.', curfile)
+            firstlineparts = firstline.split("encoding")
+            enc = firstlineparts[1].replace("=", "")
+            enc = enc.replace("'", "")
+            enc = enc.replace("?>", "")
+            enc = enc.strip()
+            if enc.startswith("ISO-"):
+                enc = enc.replace("ISO-", "iso")
+            logging.debug('Changing encoding of %s from %s to utf8.', curfile, enc)
+            with open(curfile, 'r', encoding=enc) as toconv:
+                cont = toconv.read()
+            with open(curfile, 'w', encoding='utf8') as toconv:
+                toconv.write(cont)
+            logging.debug('Successfully changed encoding of <%s>.', curfile)
+
+def checkfolder(curpath):
+    igndir = False
+    if curpath in flt.ignoredirs:
+        logging.debug('According to filters <%s> will be ignored.', targetdir)
+        igndir = True
+    return igndir
+
+
+# end of functions
+
 sitename = sys.argv[1]
 filterpath = "filters/"
 sys.path.insert(0, filterpath)
 flt = __import__(sitename)
 
+# first we take care for logging, logging is important
+try:
+    flt.logfile
+except NameError:
+    logfile = sitename + ".log"
+else:
+    logfile = flt.logfile
+
+try:
+    flt.loglevel
+except NameError:
+    loglevel = 3
+else:
+    loglevel = flt.loglevel
+
+logformat = "%(asctime)s %(message)s"
+dateformat = "%Y-%m-%d %H:%M:%S"
+if loglevel == 5:
+    logging.basicConfig(format=logformat, datefmt=dateformat, filename=logfile, level=logging.DEBUG)
+    logging.debug('Logfile opened with level DEBUG.')
+elif loglevel == 4:
+    logging.basicConfig(format=logformat, datefmt=dateformat, filename=logfile, level=logging.INFO)
+elif loglevel == 3:
+    logging.basicConfig(format=logformat, datefmt=dateformat, filename=logfile, level=logging.WARNING)
+elif loglevel == 2:
+    logging.basicConfig(format=logformat, datefmt=dateformat, filename=logfile, level=logging.ERROR)
+elif loglevel == 1:
+    logging.basicConfig(format=logformat, datefmt=dateformat, filename=logfile, level=logging.CRITICAL)
+else:
+    logging.basicConfig(format='%(asctime)s %(message)s', datefmt=dateformat, filename=logfile,level=logging.INFO)
+    logging.error('could not identify loglevel, using INFO as default')
+                                                                                                                                                                  
+
 if not flt.origpath.startswith("/"):
-    print("This is no full path. Stop.")
+    print("This is no full path.  Aborted.")
+    logging.critical('<%s> is no full path. Aborted.', flt.origpath)
     exit()
 else:
     origpath = flt.origpath
+    logging.debug('Source path is <%s>.', origpath)
     
 if not flt.fileext.startswith("."):
     fileext = "." + fileext
 else:
     fileext = flt.fileext
+logging.debug('HTML files end with <%s>.', fileext)
 
 if not flt.targetpath.endswith("/"):
     targetpath = flt.targetpath + "/"
 else:
     targetpath = flt.targetpath
+logging.debug('Target path is <%s>.', targetpath)
 
 if not os.path.exists(targetpath):
     os.mkdir(targetpath, "0755")
@@ -41,12 +113,14 @@ if not os.path.exists(targetpath):
     os.mkdir(newdir, "0755")
     print("Please create at least DEFAULTS/settings.py.")
     print("Without a filter the site cannot be prepared for htmlglue.")
+    logging.critical('Please create at least DEFAULTS/settings.py.')
     exit()
 
 settingpath = targetpath + "DEFAULTS/"
+logging.debug('Settings will be searched in <%s>.', settingpath)
 sys.path.insert(1, settingpath)
 import settings
-
+logging.debug('Settings imported.')
 
 if len(flt.ignorehtml) > 0:
     ignorehtml = {}
@@ -55,232 +129,284 @@ if len(flt.ignorehtml) > 0:
         ignorehtml[ignorehtmlparts[0]] = ignorehtmlparts[1]
 
 indexfile = "index" + fileext
+ignfolder = False
 
 for dirpath, dirs, files in os.walk(origpath):
 
     for folder in dirs:
+        if not folder.startswith("/"):
+            folder = "/" + folder
+
+        logging.debug('Currently checking on folder <%s>.', folder)
         curpath = dirpath.replace(origpath, "")
-        targetdir = curpath + "/" + folder
-        mytargetdir = targetpath + curpath + "/" + folder
-        if targetdir not in flt.ignoredirs:
+        if not curpath.startswith("/"):
+            curpath = "/" + curpath
+
+        logging.debug('Current path is <%s>.', curpath)
+        targetdir = curpath + folder
+        targetdir = targetdir.replace("//", "/")
+        logging.debug('Check whether <%s> has to be ignored.', targetdir)
+        igndir = checkfolder(targetdir)
+        if not igndir:
+            mytargetdir = targetpath + curpath + folder
+            mytargetdir = mytargetdir.replace("//", "/")
+            logging.debug('Checking for existence of <%s>.', mytargetdir)
             if not os.path.exists(mytargetdir):
+                logging.debug('%s does not exist.', mytargetdir)
                 os.mkdir(mytargetdir)
+                logging.debug('<%s> created.', mytargetdir)
+                initfile = mytargetdir + "/__init__.py"
+                init = open(initfile, "w")
+                init.close()
+                call(["/bin/chmod", "755", initfile])
+                logging.debug('Successfully created <%s>.', initfile)
 
     for filename in files:
-        curfile = os.path.join(dirpath, filename)
-        if dirpath not in flt.ignoredirs and filename not in flt.ignorefiles and curfile.endswith(fileext):
-            htmlfile = open(curfile, "rt")
-            html = htmlfile.read()
-            htmlfile.close()
-            htmllines = html.split("\n")
-
-            curpath = dirpath.replace(origpath, "")
-            mytargetpath = targetpath + curpath
+        logging.debug('Next file to check is <%s>.', filename)
+        if filename in flt.ignorefiles:
+            logging.debug('According to filters <%s> will be ignored.', filename)
+            continue
+        elif not filename.endswith(fileext):
+            logging.debug('File <%s> is not HTML, will be ignored.', filename)
+            continue
+        else:
+            curpath = dirpath.replace(origpath, "/")
+            igndir = checkfolder(curpath)
+            if not igndir:
+                curfile = os.path.join(dirpath, filename)
+                logging.info('Next file to process is <%s>.', curfile)
+                # first check for an old encoding
+                checkenc(curfile)
+
+                htmlfile = open(curfile, "rt")
+                logging.debug('Successfully opened <%s> for processing.', curfile)
+                html = htmlfile.read()
+                htmlfile.close()
+                htmllines = html.split("\n")
+
+                logging.debug('Current path is <%s>.', curpath)
+                mytargetpath = targetpath[:-1] + curpath
+                logging.debug('Current target path is <%s>.', mytargetpath)
+                if not mytargetpath.endswith("/"):
+                    mytargetpath += "/"
             
-            if not mytargetpath.endswith(curpath):
-                mytargetpath += curpath
-                if not os.path.exists(mytargetpath):
-                    os.mkdir(mytargetpath)
-
-            targethtm = mytargetpath + "/" + filename.replace(fileext, ".htm")
-            targetpy = mytargetpath + "/" + filename.replace(fileext, ".py")
-
-            htm = open(targethtm, "w")
-            pyfile = open(targetpy, "w")
-
-            curtime = datetime.now()
-            curtimestamp = curtime.strftime("%Y-%m-%d %H:%M")
-
-            pyfile = open(targetpy, "w")
-            pyhead = "#!/usr/bin/env python3\n"
-            pyhead += "# -*- coding: utf8 -*-\n\n"
-            pyhead += "######################################################################\n"
-            pyhead += "# THIS FILE WAS GENERATED AUTMATICALLY FROM\n"
-            pyhead += "# " + curfile + "\n"
-            pyhead += "# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM\n"
-            pyhead += "# " + sitename + ", " + curtimestamp + "\n"
-            pyhead += "######################################################################\n\n\n"
-            pyfile.write(pyhead)
-
-            ln = "'\n"
-            addcssfile = []
-            ignorestop = ""
-            menuread = False
-            contentread = False
-
-            for i in range(len(htmllines)):
-                curline = htmllines[i]
-                # ignoring unwanted parts
-                if ignorestop != "":
-                    if ignorestop in curline:
-                        ignorestop = ""
-                    continue
-
-                for ign in ignorehtml:
-                    if ign in curline:
-                        ignorestop = ignorehtml[ign]
-
-                # special case: reading the menu from an index.html
-                if menuread:
-                    origmenu += curline + "\n"
-                    if flt.menuend in curline:
-                        menuread = False
-                    continue
-
-                if flt.menustart in curline:
-                    if curfile.endswith(indexfile):
-                        menuread = True
-                        origmenu = curline + "\n"
-                    else:
-                        ignorestop = flt.menuend
-                    continue
-
-                if contentread:
-                    for item in flt.replacement:
-                        if item in curline:
-                            curline = curline.replace(item, flt.replacement[item])
-                    htm.write(curline + "\n")
+                targethtm = mytargetpath + filename.replace(fileext, ".htm")
+                logging.debug('Current target htm file is <%s>.', targethtm)
+                targetpy = mytargetpath + filename.replace(fileext, ".py")
+                logging.debug('Current target py file is <%s>.', targetpy)
+
+                htm = open(targethtm, "w")
+                pyfile = open(targetpy, "w")
+
+                curtime = datetime.now()
+                curtimestamp = curtime.strftime("%Y-%m-%d %H:%M")
+
+                pyhead = "#!/usr/bin/env python3\n"
+                pyhead += "# -*- coding: utf8 -*-\n\n"
+                pyhead += "######################################################################\n"
+                pyhead += "# THIS FILE WAS GENERATED AUTMATICALLY FROM\n"
+                pyhead += "# " + curfile + "\n"
+                pyhead += "# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM\n"
+                pyhead += "# " + sitename + ", " + curtimestamp + "\n"
+                pyhead += "######################################################################\n\n\n"
+                pyfile.write(pyhead)
+
+                ln = "'\n"
+                addcssfile = []
+                ignorestop = ""
+                menuread = False
+                contentread = False
+
+                for i in range(len(htmllines)):
+                    curline = htmllines[i]
+                    # ignoring unwanted parts
+                    if ignorestop != "":
+                        if ignorestop in curline:
+                            ignorestop = ""
+                        continue
+
+                    for ign in ignorehtml:
+                        if ign in curline:
+                            ignorestop = ignorehtml[ign]
+
+                    # special case: reading the menu from an index.html
+                    if menuread:
+                        origmenu += curline + "\n"
+                        if flt.menuend in curline:
+                            menuread = False
+                        continue
+
+                    if flt.menustart in curline:
+                        if curfile.endswith(indexfile):
+                            logging.debug('Found index file <%s>.', curfile)
+                            menuread = True
+                            origmenu = curline + "\n"
+                        else:
+                            ignorestop = flt.menuend
+                        continue
+
+                    if contentread:
+                        for item in flt.replacement:
+                            if item in curline:
+                                curline = curline.replace(item, flt.replacement[item])
+                        htm.write(curline + "\n")
+
                     if flt.contentend in curline:
+                        logging.debug('Found end of content part.')
                         contentread = False
                         htm.close()
                         call(["/bin/touch", targethtm, "-t", htmtouchtime])
-                    continue
-
-                if flt.contentstart in curline:
-                    contentread = True
-                    htm.write(curline + "\n")
-                    continue
-
-                if curline.startswith('<DOCTYPE'):
-                    if curline != settings.doctype:
-                        outline = "doctype = '" + curline + ln
-                        pyfile.write(outline)
-                elif curline.startswith('<html'):
-                    if curline != settings.htmlver:
-                        outline = "htmlver = '" + curline + ln
-                        pyfile.write(outline)
-                elif "<title>" in curline:
-                    lineparts = curline.split("<title>")
-                    title = lineparts[1].replace("</title>", "")
-                    title = title.strip()
-                    if title != settings.title:
-                        outline = "title = '" + title + ln
-                        pyfile.write(outline)
-                elif "<meta" in curline:
-                    curline = curline.replace(" = ", "=")
-                    lineparts = curline.split('content="')[1]
-                    contentpart = lineparts.replace("/>", "")
-                    contentpart = contentpart.replace('"', '')
-                    contentpart = contentpart.strip()
-                    if 'name="robots"' in curline:
-                        if contentpart != settings.robots:
-                            pyfile.write("robots = '" + contentpart + ln)
-                    elif 'http-equiv="content-language"' in curline or 'DC.Language' in curline:
-                        if contentpart != settings.language:
-                            pyfile.write("language = '" + contentpart + ln)
-                            # might write this line twice into the .py file if both exist!
-                    elif 'name="author"' in curline:
-                        if contentpart != settings.author:
-                            pyfile.write("author = '" + contentpart + ln)
-                    elif 'name="keywords"' in curline:
-                        if contentpart != settings.metakeywords:
-                            pyfile.write("metakeywords = '" + contentpart + ln)
-                    elif "DC.Title" in curline:
-                        if contentpart != settings.dctitle:
-                            pyfile.write("dctitle = '" + contentpart + ln)
-                    elif "DC.Creator" in curline:
-                        if contentpart != settings.dccreator:
-                            pyfile.write("dcreator = '" + contentpart + ln)
-                    elif "DC.Publisher" in curline:
-                        if contentpart != settings.dcpublisher:
-                            pyfile.write("dcpublisher = '" + contentpart + ln)
-                    elif "DC.Coverage" in curline:
-                        if contentpart != settings.dccoverage:
-                            pyfile.write("dccoverage = '" + contentpart + ln)
-                    elif "DC.Rights" in curline:
-                        if contentpart != settings.dcrights:
-                            pyfile.write("dcrights = '" + contentpart + ln)
-                    elif "DC.Date" in curline:
-                        pyfile.write("dcdate = '" + contentpart + ln)
-                        filetime = gmtime(os.path.getmtime(curfile))
-                        fileday = strftime('%Y-%m-%d', filetime)
-                        # this is needed later for touching the .htm file
-                        # after closing it
-                        if contentpart == fileday:
-                            htmtouchtime = strftime("%Y%m%d%H%M.%S", filetime)
-                        else:
-                            htmtouchtime = contentpart.replace("-", "") + "0000"
-                elif '<link rel=' in curline:
-                    lineparts = curline.split('href="')
-                    contentpart = lineparts[1].split('"', 1)[0]
-                    contentpart = contentpart.replace("/", "")
-                    if "favicon" in contentpart:
-                        if contentpart != settings.favicon:
-                            pyfile.write("favicon = '" + contentpart + ln)
-                    elif "stylesheet" in curline:
-                        if contentpart != settings.stylesheet:
-                            media = curline.split('media="')[0]
-                            media = media.split('"', 1)[0]
-                            addcss = contentpart + " " + media
-                            addcssfile.append(addcss)
-
-                elif flt.headlinekey in curline:
-                    headline = curline.split(flt.headlinekey)[1]
-                    headlineend = flt.headlinekey.replace("<h", "</h")
-                    headline = headline.split(headlineend)[0]
-                    headline = headline.strip()
-                    pyfile.write("headline = '" + headline + ln)
-
-                else:
-                    pass
-
-            if len(addcssfile) > 0:
-                addcssitems = '['
-                for i in range(len(addcssfile)):
-                    addcssitems += '"' + addcssfile[i]
-                    if i < len(addcssfile):
-                        addcssitems += '", '
+                        logging.debug('Successfully closed content file <%s>.', targethtm)
+                        continue
+
+                    if flt.contentstart in curline:
+                        logging.debug('Found start of content part.')
+                        contentread = True
+                        htm.write(curline + "\n")
+                        continue
+
+                    if curline.startswith('<DOCTYPE'):
+                        logging.debug('Found DocType.')
+                        if curline != settings.doctype:
+                            outline = "doctype = '" + curline + ln
+                            pyfile.write(outline)
+                    elif curline.startswith('<html'):
+                        logging.debug('Found HTML definition.')
+                        if curline != settings.htmlver:
+                            outline = "htmlver = '" + curline + ln
+                            pyfile.write(outline)
+                    elif "<title>" in curline:
+                        lineparts = curline.split("<title>")
+                        title = lineparts[1].replace("</title>", "")
+                        title = title.strip()
+                        if title != settings.title:
+                            outline = "title = '" + title + ln
+                            pyfile.write(outline)
+
+                    elif "<meta" in curline:
+                        curline = curline.replace(" = ", "=")
+                        lineparts = curline.split('content="')
+                        contentpart = lineparts[1]
+                        contentpart = contentpart.replace("/>", "")
+                        contentpart = contentpart.replace('"', '')
+                        contentpart = contentpart.strip()
+                        if 'name="robots"' in curline:
+                            if contentpart != settings.robots:
+                                pyfile.write("robots = '" + contentpart + ln)
+                        elif 'http-equiv="content-language"' in curline or 'DC.Language' in curline:
+                            if contentpart != settings.language:
+                                pyfile.write("language = '" + contentpart + ln)
+                                # might write this line twice into the .py file if both exist!
+                        elif 'name="author"' in curline:
+                            if contentpart != settings.author:
+                                pyfile.write("author = '" + contentpart + ln)
+                        elif 'name="keywords"' in curline:
+                            if contentpart != settings.metakeywords:
+                                pyfile.write("metakeywords = '" + contentpart + ln)
+                        elif "DC.Title" in curline:
+                            if contentpart != settings.dctitle:
+                                pyfile.write("dctitle = '" + contentpart + ln)
+                        elif "DC.Creator" in curline:
+                            if contentpart != settings.dccreator:
+                                pyfile.write("dcreator = '" + contentpart + ln)
+                        elif "DC.Publisher" in curline:
+                            if contentpart != settings.dcpublisher:
+                                pyfile.write("dcpublisher = '" + contentpart + ln)
+                        elif "DC.Coverage" in curline:
+                            if contentpart != settings.dccoverage:
+                                pyfile.write("dccoverage = '" + contentpart + ln)
+                        elif "DC.Rights" in curline:
+                            if contentpart != settings.dcrights:
+                                pyfile.write("dcrights = '" + contentpart + ln)
+                        elif "DC.Date" in curline:
+                            logging.debug('Found date <%s> in DC.Date"', contentpart)
+                            pyfile.write("dcdate = '" + contentpart + ln)
+                            filetime = gmtime(os.path.getmtime(curfile))
+                            fileday = strftime('%Y-%m-%d', filetime)
+                            logging.debug('Extracted fileday as %s.', fileday)
+                            # this is needed later for touching the .htm file
+                            # after closing it
+                            if contentpart == fileday:
+                                htmtouchtime = strftime('%Y%m%d%H%M.%S', filetime)
+                            else:
+                                htmtouchtime = contentpart.replace("-", "") + "0000.00"
+                            logging.debug('Will touch htm file with timestamp "%s"', htmtouchtime)
+
+                    elif '<link rel=' in curline:
+                        lineparts = curline.split('href="')
+                        contentpart = lineparts[1].split('"', 1)[1]
+                        contentpart = contentpart.replace("/", "")
+                        if "favicon" in contentpart:
+                            if contentpart != settings.favicon:
+                                pyfile.write("favicon = '" + contentpart + ln)
+                        elif "stylesheet" in curline:
+                            if contentpart != settings.stylesheet:
+                                media = curline.split('media="')[1]
+                                media = media.split('"', 1)[1]
+                                addcss = contentpart + " " + media
+                                addcssfile.append(addcss)
+
+                    elif flt.headlinekey in curline:
+                        headline = curline.split(flt.headlinekey)[1]
+                        headlineend = flt.headlinekey.replace("<h", "</h")
+                        headline = headline.split(headlineend)[0]
+                        headline = headline.strip()
+                        logging.debug('Found headline "%s" in <%s>.', headline, curfile)
+                        pyfile.write("headline = '" + headline + ln)
+
                     else:
-                        addcssitems += '"]'
-                pyfile.write("addcssfile = " + addcssitems + ln)
-
-            pyfile.close()
-
-            if curfile.endswith(indexfile):
-                # this tells us the order of the menu items
-                origmenuparts = origmenu.split("\n")
-                # curfilelist = os.dirlist(dirpath)
-                menufile = dirpath + "/menu.py"
-                menu = open(menufile, "w")
-                menu.write("#!/usr/bin/env python3\n")
-                menu.write("# -*- coding: utf8 -*-\n\n\n")
-                menu.write("# Created automatically with htmlglue/preparesite" + myversion + "\n\n")
-                for item in range(len(origmenuparts)):
-                    curitem = origmenuparts[item].strip()
-                    if curitem.startswith("<li"):
-                        if curitem.startswith("<li class="):
-                            menuclass = curitem.split("class=")[1]
-                            menuclass = menuclass.split(">")[0]
-                            menuclass = menuclass.replace('"', '')
+                        pass
+
+                if len(addcssfile) > 0:
+                    addcssitems = '['
+                    for i in range(len(addcssfile)):
+                        addcssitems += '"' + addcssfile[i]
+                        if i < len(addcssfile):
+                            addcssitems += '", '
                         else:
-                            menuclass = ""
-
-                        if "href" in curitem:
-                            menuhref = curitem.split("href=")[1]
-                            menuhref = menuhref.split(">")
-                            filename = menuhref[0]
-                            menuitemname = menuhref[1].replace("</a", "")
-                            menuitemname = menuitemname.replace('"', '')
-                            if filename.endswith("/"):
-                                filetype = "dir"
-                            elif filename.endswith(fileext):
-                                filetype = "htm"
+                            addcssitems += '"]'
+                    pyfile.write("addcssfile = " + addcssitems + ln)
+
+                pyfile.close()
+                call(["/bin/chmod", "755", targetpy])
+                logging.debug('Successfully processed <%s>.', curfile)
+
+                if curfile.endswith(indexfile):
+                    # this tells us the order of the menu items
+                    logging.debug('Reading menu from <%s>.', curfile)
+                    origmenuparts = origmenu.split("\n")
+                    menufile = mytargetpath + "/menu.py"
+                    menu = open(menufile, "w")
+                    menu.write("#!/usr/bin/env python3\n")
+                    menu.write("# -*- coding: utf8 -*-\n\n\n")
+                    menu.write("# Created automatically with htmlglue/preparesite v" + myversion + "\n\n")
+
+                    menu.write(flt.firstmenuitem)
+                    for item in range(len(origmenuparts)):
+                        curitem = origmenuparts[item].strip()
+                        if curitem.startswith("<li"):
+                            if curitem.startswith("<li class="):
+                                menuclass = curitem.split("class=")[1]
+                                menuclass = menuclass.split(">")[0]
+                                menuclass = menuclass.replace('"', '')
                             else:
-                                filetype = "???"
-                            menufilename = filename.replace("/", "")
-                            outline = 'menuitem.append(["' + filetype + '", "' + menuclass + '", "'
-                            outline += menufilename + '", "' + menuitemname + '"])\n'
-                            menu.write(outline)
-
-                menu.close()
-                call(["/bin/chmod", "755", menufile])
+                                menuclass = ""
+
+                            if "href" in curitem:
+                                menuhref = curitem.split('href="')[1]
+                                menuhrefparts = menuhref.split('">')
+                                menufilename = menuhrefparts[0]
+                                menuitemname = menuhrefparts[1].replace("</a></li>", "")
+                                menuitemname = menuitemname.replace("</ul>", "")
+                                if menufilename.endswith(fileext):
+                                    filetype = "htm"
+                                else:
+                                    filetype = "dir"
+
+                                outline = 'menuitem.append(["' + filetype + '", "' + menuclass + '", "'
+                                outline += menufilename + '", "' + menuitemname + '"])\n'
+                                menu.write(outline)
+
+                    menu.close()
+                    call(["/bin/chmod", "755", menufile])
+                    logging.debug('Successfully created menu.py for <%s>.', curpath)
diff --git a/sites/atarifrosch/__init__.py b/sites/atarifrosch/__init__.py
deleted file mode 100755 (executable)
index e69de29..0000000
diff --git a/sites/atarifrosch/computer/__init__.py b/sites/atarifrosch/computer/__init__.py
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/sites/atarifrosch/computer/atari.htm b/sites/atarifrosch/computer/atari.htm
new file mode 100644 (file)
index 0000000..964e872
--- /dev/null
@@ -0,0 +1,264 @@
+      <div id="content">
+        <p>Das erste Mal sah ich einen Atari&nbsp;ST<a
+            href="/computer/atari.html#fn1">[1]</a> bei einem Bekannten
+            stehen und staunte nicht schlecht, was das Ding so alles konnte. 
+            Zu dieser Zeit arbeitete („arbeitete?“ –
+            naja&nbsp;;-)) ich ja noch mit dem
+          <a href="/computer/companf.html#c64">C=64</a>. Schließlich legten
+            mein damaliger Freund und ich zusammen und kauften uns selbst so
+            ein Teil.</p>
+        <p>Atari brachte im Laufe der Jahre eine ganze Reihe von Computern
+            auf den Markt <a href="/computer/atari.html#fn2">[2]</a>:</p>
+        <ul><li>1985: 260ST und 520ST, 512&nbsp;kB RAM, Disketten-TOS 1.0,
+               externes einseitige Floppy mit 360&nbsp;kB Kapazität, Monitor
+               SM124 (12&quot;, s/w)</li>
+          <li>1985: 520ST+, 1&nbsp;MB RAM, TOS 1.0</li>
+          <li>1985: 260STM, gleiche Spezifikationen wie 520ST, aber mit
+               eingebautem HF-Modulator für den Betrieb an Fernsehgeräten</li>
+          <li>1986: 1040ST, 1&nbsp;MB RAM, seitlich eingebaute
+               doppelseitige Floppy (720&nbsp;kB Kapazität), TOS&nbsp;1.02
+               (oft fälschlicherweise als TOS&nbsp;1.2 bezeichnet)</li>
+          <li>1987: Mega ST2, 2&nbsp;MB RAM, interne Floppy, abgesetzte
+               Cherry-Tastatur, Blitter/DMA, TOS&nbsp;1.04
+               („Blitter-TOS“, oft fälschlicherweise als
+               TOS&nbsp;1.4 bezeichnet), Lüfter</li>
+          <li>1987: Mega ST4, 4&nbsp;MB RAM, sonst wie Mega&nbsp;ST2</li>
+          <li>1988: Mega ST1, 1&nbsp;MB RAM, ohne Lüfter, sonst wie
+               Mega&nbsp;ST2</li>
+          <li>1989: 1040STE mit Stereosound und 4096 Farben, HF-Modulator,
+               Anschlußmöglichkeit für 6&nbsp;Joysticks, TOS&nbsp;2.06
+               („Rainbow-TOS“)</li>
+          <li>1990: TT030, MC68030-Prozessor, 32bit interner und 32bit
+               externer Bus, 2&nbsp;bis 8&nbsp;MB RAM (dabei je maximal
+               4&nbsp;MB ST-RAM und 4&nbsp;MB FastRAM), Designer-Gehäuse,
+               VME-Schnittstelle, 4&nbsp;x seriell, 1&nbsp;x parallel (aber
+               immer noch nicht ohne Umbau bidirektional), sechs
+               verschiedene Bildschirmauflösungen mit verschiedenen
+               Farbtiefen bis 1280&nbsp;x&nbsp;960 s/w, TOS&nbsp;030; in der
+               ersten Ausgabe mit 720&nbsp;kB-Floppy, ab 1992 mit
+               1,44&nbsp;MB-Floppy.</li>
+          <li>1991: Mega STE, MC68000 mit 16&nbsp;MHz und 16&nbsp;kB Cache,
+               Designer-Gehäuse wie TT, Farben und Sound wie 1040STE, mit
+               einem, 2 oder 4&nbsp;MB RAM.</li>
+          <li>1991: ST-Book, MC68000, LCD, keine interne Floppy, aber
+               Anschlußmöglichkeit für eine spezielle 1,44&nbsp;MB-Floppy,
+               Vector-Pad statt Maus, Maße: 215 x 290 x 37&nbsp;mm. Der Akku
+               soll bis zu 8&nbsp;Stunden lang bei aktiver Arbeit gehalten
+               haben; das wäre für diese Zeit absoluter Rekord, denn die
+               Akkus von PC-Notebooks lagen bei maximal 2&nbsp;Stunden.
+         </li></ul>
+        <p>Diese Auflistung ist leider noch unvollständig. Insbesondere
+            fehlen noch der STacy, der Vorläufer des ST-Book, und der Atari
+            Portfolio.  Außerdem fehlen die 8088-er- und 80286-er-PCs, die
+            Atari mal – warum auch immer – gebaut hat.</p>
+        <hr />
+        <p>2500&nbsp;Mark kostete er 1986 – unser 260ST mit dem
+            Disketten-TOS&nbsp;1.0, 512&nbsp;kB RAM, einer externen
+            3,5&quot;-Floppy, Maus und dem 12&quot;-Monitor SM&nbsp;124.
+            Wenn das TOS geladen war, war im Speicher kaum noch Platz für
+            mehr als ein kleines Progrämmchen – das Image des
+            Betriebssystems mit grafischer Benutzeroberfläche (GEM) war etwa
+            350&nbsp;kB „groß“ (zum Vergleich: Eine
+            Standard-Installation von MS-DOS 6.x braucht 5&nbsp;MB!).</p>
+        <p>Deshalb dauerte es auch nicht lange, bis wir unsere letzten
+            Kröten zusammenkratzten, um dem Gerät ein ROM-TOS und eine
+            Speichererweiterung auf 1&nbsp;MB zu spendieren, damit wir
+            überhaupt richtig was damit anfangen konnten. Das TOS nannte
+            sich jetzt auch gleich Version&nbsp;1.2 (eigentlich:&nbsp;1.02)
+            und stürzte längst nicht mehr so häufig ab wie das
+            Disketten-TOS, das man wohl eher in die Kategorie
+            „Beta-Version“ einstufen mußte.</p>
+        <p>Mit dem mitgelieferten ST-Basic wußte ich nicht so recht was
+            anzufangen. Überhaupt: Die Umstellung von einer reinen
+            Textoberfläche auf eine grafische Oberfläche empfand ich
+            zunächst als schwierig. Da konnte ich ja gar nix
+            eingeben&nbsp;…? Heute geht es den meisten AnwenderInnen wohl
+            eher umgekehrt&nbsp;…</p>
+        <p>Aber als mir einige Zeit später
+          <a href="/computer/gfabasic.html">GfA-Basic</a> in die Hände fiel,
+            war ich nicht mehr zu bremsen. Das war – und ist bis heute
+            – für mich <em>die</em> Sprache. 1987 war ich zwar erst
+            mal durch Prüfungsvorbereitung und -abnahme und danach mit
+            Bewerbungschreiben vom Programmieren „abgelenkt“,
+            aber 1988 hatte ich dann mein erstes größeres Projekt fertig:
+            Ein
+          <a href="/computer/gfabasic.html#hangman">Hangman</a> mit einer
+            eigenen, wenn auch auflösungsabhängigen, grafischen Oberfläche.</p>
+        <p>Zu dieser Zeit war der 260ST allerdings keineswegs mehr allein.
+            Auf meinem Schreibtisch türmten sich ein MegaST&nbsp;2 mit
+            PC-Speed, eine Megafile&nbsp;30, eine Megafile&nbsp;44
+            (=&nbsp;Syquest-Wechselplatte) und eine Megafile&nbsp;60. Auf
+            diesem Turm thronte aber nach wie vor der SM&nbsp;124. Nein, ich
+            habe keine Genickstarre bekommen.&nbsp;;-) – Der ganze
+            Aufbau war im vollen Betrieb ziemlich laut; nicht umsonst wurden
+            die Megafiles auch als „Megadröhn“ oder
+            „Megafön“ bezeichnet.</p>
+        <p>Der PC-Speed ist übrigens ein Hardware-PC-Emulator, der auf
+            einem
+          <a href="/computer/texte/cpus.html#v30">NEC V30</a> basiert und
+            einen
+          <a href="/computer/texte/cpus.html#8086">8086</a> emuliert.
+  
+            Wir haben damals darauf DOS&nbsp;4.01 zum Laufen gebracht und
+            wollten darauf wiederum dBase&nbsp;III+ installieren. Zu diesem
+            Zweck hatte jemand ein atari-fähiges 5&nbsp;1/4&quot;-Laufwerk
+            angeschleppt, das sich von 40 auf 80 Tracks umschalten
+            ließ&nbsp;– oder besser: lassen sollte. So ganz hat das
+            nämlich nie funktioniert. Deswegen ging wohl auch der Versuch
+            der dBase-Installation gründlich in die Hose&nbsp;– die
+            Disketten konnten nicht gelesen werden, obwohl sich das Programm
+            auf einem „richtigen“ PC einwandfrei installieren
+            ließ. Der Versuch, die Disketten auf 3,5&quot; umzukopieren,
+            scheiterte an den unterschiedlichen Diskettenkapazitäten –
+            eine 5&nbsp;1/4&quot;-HD-Diskette faßt nur 1,2&nbsp;MB, damit
+            war eine sektorweise durchgeführte 1:1-Kopie nicht möglich, und
+            eine nicht-sektorweise Kopie wollte dBase nicht anerkennen und
+            behauptete, es sei raubkopiert worden (was natürlich
+          <em>nicht</em> der Fall war!).</p>
+        <p>Den Rechner haben wir dann auch bald wieder verkauft, weil es
+            mittlerweile den MegaST&nbsp;4 gab. 4&nbsp;MB&nbsp;RAM, das war
+            zu dieser Zeit der reine Wahnsinn! Dieser Rechner bekam dann
+            auch bald heftig was zu tun: Ab 1990 fing ich an, mir etwas dazu
+            zu verdienen, indem ich für StudentInnen tippte. Oft genug kamen
+            welche, denen auf den klobigen, langsamen PCs das
+            „Wört“ abgeschmiert war, weil sie es mit großen
+            Texten mit richtig langen Fußnoten gefüttert hatten. Ich schrieb
+            zu dieser Zeit mit 1st&nbsp;Word Plus und bald darauf mit That's
+            Write und kannte solche Probleme überhaupt nicht.</p>
+        <p>Ein Jahr später wurde daraus sogar mal ein richtiges Schreibbüro
+            – leider brachte es mir nicht genug ein, um es weiter
+            vollzeitig zu betreiben. Aber die Zeit war wirklich lustig. Der
+            Atari produzierte (fast) ohne Mucken, dafür mit WYSIWYG (what
+            you see is what you get) – meist mit That's Write 3.x
+            – schön formatierte Dissertationen, Diplomarbeiten,
+            Hausarbeiten und sogar ein Buch (mit Signum!2), während mir
+            PC-Besitzer einerseits ständig etwas vorjaulten, daß ihre Kisten
+            ihnen nicht gehorchten und mir andererseits erzählen wollten,
+            ich hätte ja nur einen „Spiel-Computer“.</p>
+        <p>Dieser „Spiel-Computer“ wanderte noch 1991 in ein
+            Tower-Gehäuse, bekam einen Host-Adapter und eine
+            105-MB-IDE-Festplatte, ein HD-Diskettenlaufwerk (bei Ataris
+            nicht selbstverständlich, die meisten haben DD-Laufwerke),
+            durfte aber die Wechselplatte behalten – ich tauschte
+            meine Megafile&nbsp;44 einfach gegen ein Syquest-Einbaulaufwerk.
+            Die anderen Megafiles habe ich zu diesem Zeitpunkt verkauft,
+            dafür gönnte ich mir einen 19&quot;-s/w-Bildschirm, den Atari
+            SM&nbsp;194.</p>
+        <p>Den 260ST dagegen schenkte ich etwa zu dieser Zeit meiner
+            – geistig schwer behinderten – Freundin Kathi, die
+            darauf mit Begeisterung schreiben und lesen übte, nachdem ich
+            ein für sie passendes
+          <a href="/computer/gfabasic.html#schreibe">Programm</a> –
+            natürlich in GfA-Basic – geschrieben hatte. Nur
+            5&nbsp;Jahre nach dem Kauf, der uns so viel Geld gekostet hatte,
+            war der 260ST auf dem Markt nichts mehr wert. Zudem hatte sich
+            die Weide-Speichererweiterung nach einiger Zeit mit unerwarteten
+            Punkten auf Bildschirm und Ausdrucken und mit unkontrollierten
+            Abstürzen (drei Bomben = ungerade Wortadresse) verabschiedet und
+            mußte ausgebaut werden.</p>
+        <p>Im November 1991 hatte ich mit dem Layout des
+            „Oskar“ angefangen, der etwa vierteljährlich
+            erscheinenden Zeitung der Jusos Mannheim. Dafür setzte ich
+            erstmals Calamus&nbsp;1.09N ein, ein DTP-Programm, das sich in
+            seiner späteren Profi-Version als absoluter Renner herausstellen
+            sollte. 1992 habe ich mir diese Profi-Version gekauft, und
+            plötzlich erschien mir der MegaST&nbsp;4 seeeehr langsam. Ich
+            mußte mich erneut entscheiden, wie ich weiterarbeiten wollte.</p>
+        <a name="tt">&nbsp;</a><hr />
+        <h2>Atari TT</h2><hr />
+        <p>Schließlich kaufte ich mir im Sommer 1992 für 3500&nbsp;Mark
+            – per Ratenzahlung – einen neuen
+          <a href="/computer/atari.html#fn3">Atari TT</a>, der versprach, die
+            nächste Generation <em>power without the price</em> zu sein.</p>
+        <p>Er bekam eine 500-MB-SCSI-Festplatte von Conner, für die ich
+            nochmal 2000&nbsp;Mark berappen mußte. Außerdem wählte ich die
+            Version mit der ohne Löten größtmöglichen Menge an RAM, nämlich
+            8&nbsp;MB (4&nbsp;MB ST-Ram, 4&nbsp;MB FastRam). Um das Geld
+            aufbringen zu können, trennte ich mich wieder von dem
+            19&quot;-Monitor und verkaufte schließlich auch den
+            MegaST4-Tower. Zum Arbeiten blieb mir nur ein NEC
+            MultiSync&nbsp;3D (14&quot;), einer der ersten Monitore, die
+            – abgesehen von den Atari-eigenen – überhaupt in der
+            Lage waren, die untypischen Frequenzen der Atari-Computer zu
+            verarbeiten.</p>
+        <p>Der TT war zu seiner Zeit mit 32 MHz Takt und echten 32&nbsp;bit
+            ein wahres Arbeitspferd. 8&nbsp;MB linear adressierbaren
+            Speicher boten damals die PCs noch nicht, 1&nbsp;MB war normal
+            – mehr konnte das meist darauf eingesetzte DOS ja doch
+            nicht sinnvoll adressieren.</p>
+        <p>Neben dem „Oskar“ gestaltete ich 1993 auch die
+            Zeitung „Rotes Quadrat“ der SPD Mannheim –
+            leider nur für zwei Ausgaben. In dieser Zeit hatte ich auch
+            wieder – leihweise – einen 19&quot;-Monitor, nämlich
+            den zum TT passenden TTM194. Dieser hatte allerdings immer
+            wieder „Flacker-Anfälle“, und zwar nicht nur bei
+            mir, sondern sozusagen serienmäßig. Deshalb hatte Atari auch
+            einige Zeit später den TTM195 als Nachfolger auf den Markt
+            gebracht (der leider den vom Fehler des TTM194 Betroffenen nicht
+            günstiger angeboten worden war). – Als
+            „Verleihgebühr“ für den TTM194 machte ich Betatest
+            für das Bildbearbeitungsprogramm Repro Studio STpro, da ich eine
+            für die Programmierer günstige Hardware-Kombination hatte,
+            nämlich den Parallel-Scanner Epson GT-6000 an einem&nbsp;TT.</p>
+        <p>Das fertige Layout des „Roten Quadrats“ gab ich zum
+            Ausbelichten (mit 1200&nbsp;dpi), und die Folien kamen danach
+            zur Druckerei. Das Ergebnis war „umwerfend“ –
+            vor allem, weil mir bei der ersten Ausgabe (Null-Nummer,
+            sozusagen Beta-Version) auch noch ein Fehler unterlaufen war.
+            Ich mußte das Dokument wegen seiner Größe auf drei Disketten
+            verteilen. Dafür speicherte ich es seitenweise ab, vergaß
+            jedoch, die Texte vor allem der mehrseitigen Artikel zu
+            splitten. Calamus interpretierte das so, daß der Text jeweils
+            auf jeder Seite neu anfangen sollte, statt weiterzugehen. Ich
+            habe dann zerknirscht einen Tag in der Mannheimer
+            SPD-Parteizentrale verbracht, um in jedes der 4000 Hefte ein
+            Beiblatt mit den Fortsetzungen einzulegen. Daß die Druckfarben
+            auf der Titelseite von der Druckerei vertauscht worden waren,
+            fiel dann schon fast nicht mehr auf. Nun ja, Fehler sind dazu
+            da, um daraus zu lernen&nbsp;;-)</p>
+        <p>Aber Druck mit 1200&nbsp;dpi, das hat was. Insbesondere bei
+            Bildern muß schon vorher klar sein, ob das Dokument –
+            jeweils auf einer Offset-Druckmaschine – von einer Vorlage
+            aus dem Laserdrucker mit 300&nbsp;dpi oder von einer Folie mit
+            1200&nbsp;dpi herunter reproduziert wird. Bereits beim
+            Einscannen kann man darauf Einfluß nehmen, wie das Bild am
+            Ende aussieht. Anfangs war mir das nicht bewußt gewesen, daß
+            ein mit 300&nbsp;dpi eingescanntes Bild in einer Endauflösung
+            von 1200&nbsp;dpi viel heller erscheint, als wenn es wieder mit
+            300&nbsp;dpi gedruckt wird – der „Oskar“ wurde
+            ja für die Reproduktion von Laserausdruck auf Offset-Drucker
+            hergestellt. Auch hier gab's also einiges zu lernen.</p>
+        <p>Auf Dauer unangenehmer und durch Lerneffekte nicht zu beseitigen
+            war die Tatsache, daß auf dem TT viele ST-Programme nicht mehr
+            liefen.  Das betraf primär die meisten Spiele, aber auch mein
+            geliebtes Signum!2 verweigerte den Dienst. Ein Update kam nicht
+            in Frage, ich knabberte ja noch an den Raten für den TT. Meist
+            lag die Ursache schlicht in der unsauberen Programmierung; so
+            verwendeten viele Autoren Funktionen, die nicht offiziell
+            dokumentiert waren, oder griffen direkt auf die Hardware zu, die
+            beim TT eben ein wenig anders aussieht als beim&nbsp;ST.</p>
+        <p>Aber das TOS 3.06 im TT war stabiler als je zuvor, und mit dem
+            zusätzlich installierten NVDI (alternative, schnelle
+            VDI-Treiber, die diejenigen des TOS überschreiben) rannte das
+            Teil in ungeahnten Geschwindigkeiten, sodaß manchem PC-Besitzer
+            schwindlig wurde.</p>
+        <p>Der größte Feind des Atari TT war jedoch nicht die schneller
+            werdende PC-Konkurrenz, sondern die Firma Atari selbst. Das
+            Marketing für diese Maschine war unter aller Kanone, der Preis
+            relativ hoch, und zu allem Überfluß änderte sich auch noch die
+            Firmenpolitik: Man wollte eigentlich gar keine professionellen
+            Rechner anbieten, sondern sehe seine Zukunft – „back
+            to the roots“ – wieder im Spielekonsolen-Markt.
+            Damit wurden die ernsthaften Atari-User verraten und verkauft.</p>
+        <hr /><h4>Fußnoten:</h4>
+        <ul><li><a name="fn1">ST</a> = sixteen thirty-two. Der Prozessor, ein
+               Motorola <a href="/computer/texte/cpus.html#68000">MC68000</a>,
+               hat nach außen einen 16&nbsp;Bit und intern einen 32&nbsp;Bit
+               breiten Bus.</li>
+          <li><a name="fn2">Quelle:</a>, Achterblad, Holger: Das Nonplusultra
+               für Atari-User. Eichborn-Verlag, 1992, ISBN 3-8218-2452-2.</li>
+          <li><a name="fn3">TT</a> = thirty-two thirty-two. Der Prozessor ist
+                ein Motorola <a href="/computer/texte/cpus.html#68030">MC68030</a>
+                und hat sowohl intern als auch nach extern einen 32&nbsp;Bit
+                breiten Bus.</li></ul>
+      </div><!-- div#content -->
diff --git a/sites/atarifrosch/computer/atari.py b/sites/atarifrosch/computer/atari.py
new file mode 100755 (executable)
index 0000000..22d2680
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+######################################################################
+# THIS FILE WAS GENERATED AUTMATICALLY FROM
+# /srv/atarifrosch/computer/atari.html
+# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM
+# atarifrosch, 2017-04-10 00:34
+######################################################################
+
+
+title = 'Atari-Froschs Ataris :-)'
+dctitle = 'Atari-Computer'
+dcreator = 'Sabine Engelhardt'
+dcpublisher = 'Sabine Engelhardt'
+dcdate = '2006-03-16'
+dcrights = 'Sabine Engelhardt'
+headline = 'Atari'
+addcssfile = [" type="textcss" >  href="/frosch.css" type="text/css" />", '
diff --git a/sites/atarifrosch/computer/ccc/18c3.htm b/sites/atarifrosch/computer/ccc/18c3.htm
new file mode 100644 (file)
index 0000000..2c55011
--- /dev/null
@@ -0,0 +1,134 @@
+      <div id="content">
+        <p>Vom 27. bis 29. Dezember 2001 fand unter dem Motto <em>Hacking
+            Is Not A Crime</em> der 18.&nbsp;Chaos Communication Congress
+          <a href="http://www.ccc.de/congress/2001/">(18C3)</a> des
+          <a href="http://www.ccc.de/">Chaos Computer Clubs</a>
+            in Berlin statt, und ich war natürlich dabei.</p>
+        <blockquote> Die Bilder dieser Reise finden sich im Bereich
+            Fotografie unter
+          <a href="/fotografie/cccberlin2001.html">CCC Berlin 2001</a>.
+        </blockquote>
+        <p>Der Mensch, der mich eigentlich im Auto mitnehmen wollte, teilte
+            mir extrem kurzfristig – nämlich am Abend des
+            24.&nbsp;Dezember&nbsp;–, mit, daß das nun doch nicht
+            klappen werde. Also suchte ich mir eine Bahnverbindung von
+            Düsseldorf nach Berlin heraus:</p>
+        <table>
+          <tr><td> Düsseldorf Hbf </td><td> ab 03:36 Uhr </td><td> S&nbsp;1 </td></tr>
+          <tr><td> Dortmund Hbf </td><td> an 05:06 Uhr </td><td>&nbsp;</td></tr>
+          <tr><td>&nbsp;</td><td> ab 05:47 Uhr </td><td> RE 10003 </td></tr>
+          <tr><td> Bielefeld </td><td> an 06:55 Uhr </td><td>&nbsp;</td></tr>
+          <tr><td>&nbsp;</td><td> ab 07:23 Uhr </td><td> RE 24203 </td></tr>
+          <tr><td> Braunschweig </td><td> an 09:41 Uhr </td><td>&nbsp;</td></tr>
+          <tr><td>&nbsp;</td><td> ab 10:13 Uhr </td><td> RB 37017 </td></tr>
+          <tr><td> Magdeburg </td><td> an 11:31 Uhr </td><td>&nbsp;</td></tr>
+          <tr><td>&nbsp;</td><td> ab 11:41 Uhr </td><td> RE 38017 </td></tr>
+          <tr><td> Berlin Ostbahnhof </td><td> an 13:27 Uhr </td><td>&nbsp;</td></tr>
+        </table>
+        <p>Diese Verbindung klappte auch, es bedeutete „nur“,
+            daß ich in dieser Nacht keinen Schlaf bekam. Und daß ich mit dem
+            Taxi zum Düsseldorfer Hauptbahnhof fahren mußte, weil die
+            Rheinbahn zu dieser Zeit nicht fuhr. Ein netter Mensch dort am
+            Schalter versuchte noch, mir eine bessere oder günstigere Route
+            heraus zu suchen – nett gemeint, aber nicht möglich. 
+            Fahrpreis für das zehnstündige Regionalbahn-Hopping:
+            136&nbsp;DM.</p>
+        <p>Ab Hannover lag Schnee. Bei Magdeburg war das Schneegestöber so
+            heftig, daß ich Bilder machen wollte. Meine Kamera wollte jedoch
+            nicht – die Batterie versagte mir prompt an diesem Tag den
+            Dienst. Am Ostbahnhof in Berlin gab es jedoch ein Fotogeschäft,
+            das mir die benötigte Spezialbatterie für knapp 25&nbsp;Mark
+            verkaufen konnte.</p>
+        <p>Nach der Ankunft half ich mit, einen Teil der Lampen im HaKP zu
+            dekorieren.</p>
+        <p>Mein erster Zeitplan, den ich mir dann aufstellte, war aufgrund
+            von Übermüdung nicht zu halten. Schließlich sah der Plan so aus:</p>
+        <table>
+          <tr><td> von - bis </td><td> was </td><td> wo </td></tr>
+          <tr><th colspan="3"> Dienstag, 25. Dezember </th></tr>
+          <tr><td> 15:00 - 17:00 Uhr </td><td> Lampen dekorieren </td>
+            <td> vor art &amp; beauty </td></tr>
+          <tr><th colspan="3"> Mittwoch, 26. Dezember </th></tr>
+          <tr><td>20:00&nbsp;-&nbsp;22:00&nbsp;Uhr </td>
+            <td> Kassen-Engel </td><td> Eingang </td></tr>
+          <tr><th colspan="3"> Donnerstag, 27. Dezember </th></tr>
+          <tr><td> 10:00 - 12:00 Uhr </td>
+            <td> Kassen-Engel </td><td> Eingang </td></tr>
+          <tr><td> 12:00 - 12:30 Uhr </td>
+            <td> Engelbesprechung </td><td> Himmel </td></tr>
+          <tr><td> 15:00 - 16:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2001/fahrplan/event/234.de.html">Voice over IP</a>
+            </td><td> Saal 3 </td></tr>
+          <tr><td> 16:00 - 17:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2001/fahrplan/event/311.de.html">DNS und ICANN – ein technopolitischer Blick auf die Ressourcenverwaltung des Internet</a>
+            </td><td> Saal 1 </td></tr>
+          <tr><td> 17:00 - 19:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2001/fahrplan/event/246.de.html">Die Wau-Holland-Stiftung stellt sich vor</a>
+            </td><td> Saal 1 </td></tr>
+          <tr><td> 19:00 - 20:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2001/fahrplan/event/299.de.html">Chaos Rückblick 2001</a>
+            </td><td> Saal 1 </td></tr>
+          <tr><td> 20:00 - 21:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2001/fahrplan/event/319.de.html">Das Ende der Wahrheit</a>
+            </td><td> Saal 1 </td></tr>
+          <tr><td> 22:00 - 00:00 Uhr </td>
+            <td> Kassen-Engel </td><td> Eingang </td></tr>
+          <tr><th colspan="3"> Freitag, 28. Dezember </th></tr>
+          <tr><td> 11:00 - 12:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2001/fahrplan/event/306.de.html">Die schleichende Einführung von Zensur im Internet</a>
+            </td><td> Saal 3 </td></tr>
+          <tr><td> 14:30 - 15:30 Uhr </td>
+            <td> Wau-Holland-Stiftung </td><td> Saal 5 </td></tr>
+          <tr><td> 16:00 - 18:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2001/fahrplan/event/309.de.html">Terrorismusbekämpfung: Datenschutz ade?</a>
+            </td><td> Saal 1 </td></tr>
+          <tr><td> 18:00 - 19:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2001/fahrplan/event/250.de.html">Telekommunikationsüberwachung im Internet nach dem TKG</a>
+              <br /><small> (vorzeitig verlassen, weil uninteressant 
+                präsentiert) </small></td><td> Saal 2 </td></tr>
+          <tr><td> 19:00 - 20:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2001/fahrplan/event/337.de.html">Tron</a>
+              <br /><small> (war zu voll, daher konnte ich diesen Vortrag dann
+                  doch nicht besuchen) </small></td>
+            <td> Saal 3 </td></tr>
+          <tr><td> 20:00 - 21:00 Uhr </td>
+            <td> Engelbesprechung </td><td> Himmel </td></tr>
+          <tr><td> 22:00 - 00:00 Uhr </td>
+            <td> Kassen-Engel </td><td> Eingang </td></tr>
+          <tr><th colspan="3"> Samstag 29. Dezember </th></tr>
+          <tr><td> 12:00 - 14:00 Uhr </td>
+            <td> Kassen-Engel </td><td> Eingang </td></tr>
+          <tr><td> 17:00 - 18:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2001/fahrplan/event/301.de.html">Upcoming Security Nightmares&nbsp;II</a>
+            </td><td> Saal 1 </td></tr>
+          <tr><td> 18:00 - 20:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2001/fahrplan/event/343.de.html">Hacker Jeopardy</a>
+            </td><td> Saal 1 </td></tr>
+          <tr><td> 20:00 - 21:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2001/fahrplan/event/336.de.html">Abschlussveranstaltung</a>
+            </td><td> Saal 1 </td></tr>
+        </table><hr />
+        <h2>Congress-Splitter</h2>
+        <p><em class="write"> In den USA macht man erst große Scheiße und
+            diskutiert dann drüber, in Europa diskutiert man erst und macht
+            dann große Scheiße. </em><br /> [Andy Müller-Maguhn im Vortrag
+            über die ICANN]</p>
+        <p><em class="write"> Ich war zu einer Veranstaltung in München
+            eingeladen – was ja schon allein ein Grund dafür ist,
+            schlechte Laune zu haben&nbsp;–,&nbsp;… </em><br />
+            [Jens Ohlig beim Chaos-Rückblick&nbsp;2001]</p>
+        <p><em class="write"> Der ist schon abgereist. </em><br /> [Ein
+            Engel nach der Frage, wer vorzeitig abreist, über einen anderen,
+            der vor Übermüdung im Sitzen eingeschlafen war und nicht auf
+            Ansprache reagierte.]</p><hr />
+        <div class="picleft">
+          <a class="FlattrButton" style="display:none;"
+             href="http://www.atari-frosch.de/computer/ccc/18c3.html"></a>
+          <noscript>
+            <a class="graflink" target="_blank"
+               href="http://flattr.com/thing/58940/18-Chaos-Communication-Congress-Tagebuch">
+            <img src="http://api.flattr.com/button/flattr-badge-large.png"
+                 alt="Flattr this" title="Flattr this" /></a></noscript>
+        </div>
+        <h1><a href="/computer/ccc/19c3.html">CU@19C3!</a></h1>
+      </div><!-- div#content -->
diff --git a/sites/atarifrosch/computer/ccc/18c3.py b/sites/atarifrosch/computer/ccc/18c3.py
new file mode 100755 (executable)
index 0000000..e207d1a
--- /dev/null
@@ -0,0 +1,20 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+######################################################################
+# THIS FILE WAS GENERATED AUTMATICALLY FROM
+# /srv/atarifrosch/computer/ccc/18c3.html
+# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM
+# atarifrosch, 2017-04-10 00:34
+######################################################################
+
+
+title = '18. Chaos Communication Congress - Tagebuch'
+dctitle = 'Tagebuch vom 18C3'
+dcreator = 'Sabine Engelhardt'
+dcpublisher = 'Sabine Engelhardt'
+dcdate = '2003-03-02'
+dcrights = 'Sabine Engelhardt'
+headline = '18C3 - Tagebuch eines Engels'
+headline = '<a href="/computer/ccc/19c3.html">CU@19C3!</a>'
+addcssfile = [" type="textcss" >  href="/frosch.css" type="text/css" />", '
diff --git a/sites/atarifrosch/computer/ccc/19c3.htm b/sites/atarifrosch/computer/ccc/19c3.htm
new file mode 100644 (file)
index 0000000..46c8344
--- /dev/null
@@ -0,0 +1,304 @@
+      <div id="content">
+        <h2>Mein Zeitplan</h2>
+        <table>
+          <tr><td> von - bis </td><td> was </td><td> wo </td></tr>
+          <tr><th colspan="3"> Mittwoch, 25. Dezember </th></tr>
+            <tr><td> 16:00&nbsp;-&nbsp;18:00&nbsp;Uhr </td>
+              <td> Engelraum einrichten </td><td> Engelraum </td></tr>
+          <tr><th colspan="3"> Donnerstag, 26. Dezember </th></tr>
+          <tr><td> 11:00 - 12:00&nbsp;Uhr </td>
+            <td> Engelbesprechung </td><td> Saal&nbsp;1 </td></tr>
+          <tr><td> 12:00 - 14:00 Uhr </td>
+            <td> Kasse&nbsp;1 </td><td> Eingang </td></tr>
+          <tr><td> 18:00 - 20:00 Uhr </td>
+            <td> Kasse&nbsp;1 </td><td> Eingang </td></tr>
+          <tr><th colspan="3"> Freitag, 27. Dezember </th></tr>
+          <tr><td> 00:00 - 04:00 Uhr </td>
+            <td> Kasse&nbsp;1 </td><td> Eingang </td></tr>
+          <tr><td> 12:00 - 13:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2002/fahrplan/event/391.de.html">Wikipedia,
+                 die freie Enzyklopädie</a></td><td> Saal&nbsp;3 </td></tr>
+          <tr><td> 14:00 - 16:00 Uhr </td>
+            <td> Kasse&nbsp;1 </td><td> Eingang </td></tr>
+          <tr><td> 16:00 - 18:00 Uhr </td>
+            <td> Archiv </td><td> Archiv </td></tr>
+          <tr><td> 18:00 - 20:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2002/fahrplan/event/435.de.html">Jahresrückblick:
+                 Netzzensur und andere Ereignisse des Chaos-Jahres 2002</a></td>
+            <td> Saal&nbsp;1 </td></tr>
+          <tr><td> 20:00 - 22:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2002/fahrplan/event/517.de.html">EU
+                 data retention – Europas Daten für die amerikanischen
+                 Geheimdienste</a></td><td> Saal&nbsp;1 </td></tr>
+          <tr><th colspan="3"> Samstag, 28. Dezember </th></tr>
+          <tr><td> 00:00 - 04:00 Uhr </td>
+            <td> „Kino“ </td><td> Saal&nbsp;1 </td></tr>
+          <tr><td> 12:00 - 13:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2002/fahrplan/event/409.de.html">Call
+                Center – Risiken und Nebenwirkungen</a></td>
+            <td> Saal&nbsp;3 </td></tr>
+          <tr><td> 15:00 - 16:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2002/fahrplan/event/513.de.html">Stand,
+                Über- und Ausblick zur Videoüberwachung</a></td>
+            <td> Saal&nbsp;5 </td></tr>
+          <tr><td> 16:00 - 18:00 Uhr </td>
+            <td> Kasse&nbsp;1 </td><td> Eingang </td></tr>
+          <tr><td> 19:00 - 20:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2002/fahrplan/event/432.de.html">Die
+                 zeitliche Dimension von Sicherheit</a></td><td> Saal&nbsp;3 </td></tr>
+          <tr><th colspan="3"> Sonntag, 29. Dezember </th></tr>
+          <tr><td> 12:00 - 13:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2002/fahrplan/event/479.de.html">EU-Urheberrechtsrichtlinie,
+                 deutsche Implementierung und Auswirkungen auf die
+                 Informationsfreiheit</a></td><td> Saal&nbsp;3 </td></tr>
+          <tr><td> 16:00 - 17:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2002/fahrplan/event/434.de.html">Security
+                 Nightmares&nbsp;III: Worüber wir nächstes Jahr lachen werden</a></td>
+            <td> Saal&nbsp;1 </td></tr>
+          <tr><td> 17:00 - 19:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2002/fahrplan/event/424.de.html">Hacker-Jeopardy</a></td>
+            <td> Saal&nbsp;1 </td></tr>
+          <tr><td> 19:00 - 20:00 Uhr </td>
+            <td><a href="http://www.ccc.de/congress/2002/fahrplan/event/429.de.html">Abschlussveranstaltung</a></td>
+            <td> Saal&nbsp;1 </td></tr>
+        </table><hr />
+        <div style="float: right; background-color: #FFFFCF; color: #000000;
+                    border: 2px #00CC00 solid; padding: .5em;">
+          <p class="noindent">
+            <a href="/fotografie/cccberlin2002.html">Bilder vom 19C3</a></p>
+        </div>
+        <h2>Tagebuch</h2>
+        <h3>25.12.2002</h3>
+        <p>Hinfahrt: ICE&nbsp;847, 09:53&nbsp;Uhr ab Düsseldorf über
+            Düsseldorf Flughafen, Duisburg, Essen, Bochum, Dortmund, Hamm
+            (Westf), Bielefeld, Hannover, Wolfsburg, Berlin Zoo nach Berlin
+            Ostbahnhof, offizielle Ankunft 14:17&nbsp;Uhr.</p>
+        <p>Der Zug hat erst fünf Minuten Verspätung, holt bis Bielefeld
+            auf, darf dann aber ab Hannover nur noch mit 100&nbsp;km/h
+            weiterfahren, weil das Wetter nicht mitspielt. Alles, was
+            nördlich von Hannover liegt, hält der Winter fest im Griff.
+            Verspätung bis Berlin: fast 50&nbsp;Minuten. Ich bin dann mit
+            dem Taxi zum HaKP gefahren, 6&nbsp;&euro;.</p>
+        <p>Meine Sitznachbarin im Zug – von Bochum bis Hannover
+            – erzählte was von Eisregen in Berlin und 10&nbsp;cm
+            Neuschnee. Der Taxifahrer meinte dann aber, stimmt gar nicht, es
+            sei zwar kalt, aber trocken gewesen. Scheint soweit auch zu
+            stimmen.</p>
+        <p>Bereits um 18:00&nbsp;Uhr ist der Engelraum zur Hälfte fertig,
+            und es werden schon fleißig Schlafräume eingerichtet. So
+            nebenbei bekomme ich mit, daß das NOC schon die ersten Probleme
+            hat. Naja, ist ja nichts wirklich Neues.</p>
+        <p>Ich habe schonmal eine Suchmeldung für ext2-Spezialisten an
+            einer der Tafeln aufgehängt, vielleicht findet sich ja jemand,
+            der meine 20-GB-Platte reparieren kann. Starbug meinte, ich
+            müsse den ext2-fsck mal mit anderen Superblocks laufen lassen,
+            aber das hatte ich schon probiert.</p>
+        <p>Ansonsten hoffe ich, daß mir ein wenig Geld leiht, denn ich kann
+            nicht mal den Eintritt bezahlen. Daizy meint zwar, das sei kein
+            Problem, weil ich ja „fleißig mitarbeite“, aber ich
+            mag das trotzdem nicht.</p>
+        <p>Zwischendurch ein Anruf von zu Hause: Ein DAU kommt nicht klar,
+            weil bei einem Rechner im Bilkinfo-LAN der Bildschirmschoner
+            aktiv war und der Monitor &quot;no signal&quot; zeigte. Seufz.</p>
+        <p>20:10 Uhr: Ich habe meinen Vortragsplan fertig und plane meine
+            Kassenschichten. Sokrates verwechselt die ganze Zeit meine
+          <a href="/hobby/steno.html">Stenografie</a> mit Steganografie –
+             und ich habe mich schon gefragt, was er dauernd mit
+             „crypten“ meint&nbsp;…</p>
+        <p>Spät abends noch ein interessantes Gespräch über Filesysteme
+            (hab leider den Namen dieses Engels vergessen). Möglicherweise
+            ist es interessant, nicht mehr oder nicht mehr ausschließlich
+            ext2 zu verwenden, sondern auch ext3, reiserfs oder xfs.
+            Jedenfalls sollte ich sie mir ansehen, bevor ich neue Rechner
+            aufsetze.</p>
+        <p>23:10 Uhr: Noch ein Anruf von jemandem, der mir ein Programm zur
+            Reparatur der WD181 nennt. Danach habe ich das Handy doch noch
+            ans Stromnetz gehängt, damit morgen der Wecker funktioniert.</p>
+        <h3>26.12.2002</h3>
+        <p>07:43 Uhr: Viel Schlaf war nicht, eine Stunde in der Galerie auf
+            einem Sofa und knapp zwei Stunden im Engelraum auf einem Stuhl. 
+            Jetzt sitze ich neben einer röhrenden Cisco – eine Atari
+            Megafile ist nichts dagegen – im vorderen Engelraum, komme
+            nicht an mein Messer, meinen Geldbeutel und meinen anderen Kram,
+            ohne die beiden anderen Engel zu wecken, die noch hinten liegen. 
+            Oder mal sehen, vielleicht schaffe ich es ja doch noch.</p>
+        <p>Die Rechner, die hier im Engelraum rumstehen, sind ausgeschaltet
+            oder gesperrt. Ich kann also auch nicht mal eben ins Netz. Den
+            Geldbeutel habe ich mir doch noch geholt. Jetzt habe ich Kaffee
+            und Waffeln und kann wenigstens meinen Magen beruhigen.</p>
+        <p>Letzte Nacht habe ich das Buch von Linus Torvalds, „Just
+            For Fun“, hier im Engelraum gefunden und gelesen.
+            Interessant geschrieben und interessanter Inhalt. Irgendwann
+            zwischen zwei und drei Uhr haben mich Leute aus Berlin, die mich
+            gestern Abend wegen der Festplatte angerufen hatten, noch
+            besucht und die Platte abgeholt. Angeblich können sie sie
+            reparieren. Bin mal gespannt, ob und wann ich sie wieder
+            kriege.</p>
+        <p>Wo meine Armbanduhr abgeblieben ist, weiß ich grade auch
+            nicht&nbsp;…</p>
+        <p>08:05 Uhr: Grade heimatliche Klänge gehört, einer der Engel
+            kommt aus Heidelberg. Nicht zu überhören.</p>
+        <p>14:53 Uhr: Die erste Kassenschicht war recht locker, abgesehen
+            davon, daß die Quittungen und die Trouble-Tickets fehlten.</p>
+        <p>17:10 Uhr: Ein wenig in der Galerie gedöst. Art &amp; Beauty
+            bauen dort eine Art Lichtinstallation auf, orangefarbene,
+            verzerrte Quadrate.</p>
+        <p>Die Nachtschichten für die Kasse sind immer noch leer, bis auf
+            meine Einträge. Ich bin echt mal gespannt, wer heute Nacht mit
+            mir zusammen Wache schiebt. Vielleicht bin ich ja außer den
+            Schutzengeln auch alleine. Immerhin scheint die Essensversorgung
+            jetzt zu funktionieren. Hier liegen jedenfalls Brot, Wurst und
+            Käse rum, es stehen auch schon Tassen und Suppentassen da, aber
+            es gibt noch keinen Wasserkocher oder eine Kaffeemaschine.</p>
+        <p>20:10 Uhr: Die zweite Kassenschicht war schon ganz schön
+            stressig.  Dafür wird die heute Nacht wohl eher ruhig. Obwohl
+            ich wohl alleine bleiben werde. In der Galerie laufen
+            Lichtspielereien, ich werde versuchen, einige Bilder zu machen.</p>
+        <p>23:20 Uhr: Die Ankunft des Hacktrain verzögert sich, und das
+            heißt, die 200 Leute fallen genau in meine Kassenschicht. Die
+            Schicht vorher ist doppelt besetzt, aber das nützt nichts. Die
+            zweite Kasse ist noch nicht vollständig. Und entgegen dem, was
+            man mir vorher gesagt hat, haben die Zug-Hacker doch noch keine
+            Badges. Da stürmen dann also 200 Leute auf eimal rein und wollen
+            Eintrittskarten und Labels für ihre Hardware.</p>
+        <p>Ich bin eigentlich schon übermüdet. Gut, das ist nichts Neues
+            auf dem Congress. Ich mache jetzt Kasse bis max. 4&nbsp;Uhr,
+            dann suche ich mir einen Platz zum Schlafen. Vielleicht wieder,
+            wie schon vorher, im Saal&nbsp;1, denn um 11&nbsp;Uhr will ich
+            morgen in einen Vortrag. Nachdem der Archivplan ausgehängt
+            wurde, habe ich mich für morgen Nachmittag und für Sonntag
+            Morgen auch noch fürs Archiv eingetragen. Bin mal gespannt, ob
+            ich meinen Plan halten kann.</p>
+        <h3>27.12.2002</h3>
+        <p>08:00 Uhr: Die Nachtschicht bis vier war dann noch ganz schön
+            anstrengend. Vor allem, weil uns die Eintrittskarten für die
+            Übernachtung in der Turnhalle ausgingen und Tim meinte, eine
+            halbe Stunde damit verbringen zu müssen, neue zu produzieren.
+            Die durften wir dann auch erst ausgeben, nachdem er sich eine
+            weitere halbe Stunde damit Zeit gelassen hatte, eine neue Kasse
+            zu bauen.  Wir hatten fast 20&nbsp;Leute vor der Kasse stehen,
+            die Pennkarten kaufen wollten, und Tim kam mit dem Kram nicht
+            bei. Da lobt uns Gerriet noch für das gute Funktionieren der
+            Kasse. Denn die Kasse heute bekommt heute auch noch den Verkauf
+            dieser Pennkarten aufgedrückt – weil der Infotresen damit
+            überlastet sei. Ja toll, die Kassen sind damit genauso
+            überlastet! Auf die Idee, für die Pennkarten eine Extra-Kasse
+            aufzumachen, ist er nicht gekommen.</p>
+        <p>Beim Versuch, im Saal&nbsp;1 zu schlafen, ist es dann auch
+            geblieben. Na gut, 2,5&nbsp;Stunden sind rumgekommen. Ich bin
+            wohl so gegen fünf drin verschwunden. Aber um sieben rum kamen
+            so ein paar Labertaschen, die sich für ihr dummes Gelaber
+            ausgerechnet den einzigen Raum suchen mußten, der – und
+            auch nur in dieser Nacht – ruhig und rauchfrei ist. In den
+            nächsten Nächten werden im großen Saal wohl wieder Filme
+            abgespielt. Nichts dagegen.</p>
+        <p>21:37 Uhr: Der Wikipedia-Vortrag war nichts, der Junge hat
+            ziemlich vor sich hin gestottert, das wollte ich mir denn doch
+            nicht geben. Der Vortrag über Videoüberwachung fand gar nicht
+            erst statt, der ist jetzt neu für morgen Mittag angesetzt. Also
+            habe ich mir 50&nbsp;&euro; geliehen und gemütlich was zu Essen
+            geholt, bevor ich an die Kasse gegangen bin. Dort lief mal
+            wieder ziemlich viel quer. Ich war diesmal am Laminator, war
+            aber mehr damit befasst, irgendwelche Leute per Funk zu rufen,
+            als Karten zu laminieren.</p>
+        <p>Der Job im Archiv war auch Schrott. Die wollen gar keine
+            Erfasser, sondern bloß Aufpasser, Kopierer und Verkäufer. Der
+            Jahresrückblick war ganz interessant, obwohl er von einem
+            Stromausfall auf der Bühne unterbrochen wurde.</p>
+        <p>Der Vortrag danach, Europäische Daten für den amerikanischen
+            Geheimdienst, war katastrophal. Der Typ hatte überhaupt keine
+            Struktur drin, nur massenhaft Dateien, und sprang ständig in den
+            Inhalten herum.</p>
+        <h3>28.12.2002</h3>
+        <p>21:37 Uhr (ist echt Zufall): Das ist bereits der Versuch einer
+            Rekonstruktion. Ab 23:10&nbsp;Uhr hatte ich mich gestern Abend
+            in Saal&nbsp;1 zurückgezogen, wo dann ab Mitternacht DVD-Filme
+            gezeigt wurden. Irgendwann wollten sie einen brutalen Manga
+            spielen, also habe ich mich gegen 4&nbsp;Uhr in den Engelraum
+            verzogen, wo ich tatsächlich bis 7&nbsp;Uhr auf dem Boden
+            schlafen konnte.</p>
+        <p>Mit dem Frühstücken habe ich mir viel Zeit gelassen und mir dann
+            den Call-Center-Vortrag von der Häckse angehört. Auf die
+          <a href="http://www.ccc.de/congress/2002/fahrplan/event/471.de.html">Call-Center-Anekdoten</a>
+            mußte ich verzichten, weil der dafür geplante Raum viel zu klein
+            für den Andrang war.</p>
+        <p>Dafür kam der Vortrag von padeluun über Videoüberwachung heute
+            Nachmittag doch noch. Ich mußte dafür zwar auf einen Vortrag
+            verzichten, aber der hatte bei mir sowieso nur geringe Prio. 
+            Danach war mal wieder Kasse angesagt.</p>
+        <p>Schließlich habe ich mir den Vortrag über die zeitliche
+            Dimension von Sicherheit angehört, den Ron und Frank Rieger sehr
+            aufgelockert vorgetragen haben. Jetzt komme ich gerade vom
+            Chinesen um die Ecke, wo es für 2,50&nbsp;&euro; ein billiges,
+            aber immerhin sättigendes Essen gab. Ach ja, und vorher rief
+            auch noch jemand aus Düsseldorf an, um mitzuteilen, daß eine
+            Überweisung nicht geklappt hätte. Aber ich kriege hier keine
+            Kontoauszüge, der Automat rückt nicht mal mehr den Kontostand
+            raus.</p>
+        <p>Dann hatte ich noch meinen Terminzettel verloren gehabt, aber
+            nicht im Saal&nbsp;3, wie ich dachte, sondern im Engelraum.
+            Jetzt isser wieder da.</p>
+        <h3>29.12.2002</h3>
+        <p>12:34 Uhr: Im großen Saal lief spät abends erstmal noch eine
+            Veranstaltung zu Computerspielen und Autoren für solche,
+            begleitet von Filmen. Das ging bis nach halb zwei! Danach kam
+            der Arcade-Film, die Doku zu
+          <a href="http://www.blinkenlights.de/">Blinkenlights</a> in Paris.
+            Dann gab's wieder Kino.</p>
+        <p>Um 5:00&nbsp;Uhr wollte ich im Engelschlafraum pennen gehen,
+            aber es war alles voll. Nach einem Aufenthalt im Engelraum mit
+            Frühstück (oder wie man diese Mahlzeit bezeichnen mag) habe ich
+            mich wieder in den großen Saal gesetzt, wo gerade wieder ein
+            Film gezeigt wurde. Es war dann schon nach 8:00&nbsp;Uhr, als
+            ich es nochmal im Schlafraum probierte. Immerhin habe ich dann
+            mit Unterbrechung noch etwa zwei Stunden einigermaßen
+            geschlafen. Wirklich erholsam war es aber nicht.</p>
+        <p>Die Urheberrechtsveranstaltung habe ich gerade wieder verlassen,
+            weil das keinen Sinn macht, wenn ich ständig mit dem Kopf nach
+            vorne kippe&nbsp;…</p>
+        <p>Ich stelle – nicht zum ersten Mal – fest, daß
+            Luftmatratze, Schlafsack, Laptop und mindestens 10&nbsp;&euro;
+            pro Tag plus Eintritts- und Fahrgeld zur Grundausstattung eines
+            Engels gehören&nbsp;…</p>
+        <p>20:03 Uhr: Den Big Brother Award habe ich mir geschenkt, dafür
+            beim Hacker-Jeopardy mitgemacht. Es kam nur ein Trostpreis raus. 
+            Irgendwie war ich ziemlich langsam im Denken. Außerdem saß Fefe
+            mit in der Mannschaft. Aber angefangen habe ich mit einem
+            Donnerschlag: Das erste Feld unter „Bösewichte“
+            fragte nach demjenigen, den Murdoc töten will. Nun ja –
+            damit darf man einem MacGyver-Fan nicht kommen&nbsp;;-)</p>
+        <p>Lustig waren auch vorher die &quot;Security Nightmares&quot;,
+            ich habe mir gar nicht alle Zitate gemerkt. Statt der Kamera
+            hätte ich wohl doch besser was zum Schreiben mitgenommen.
+            Hoffentlich kann ich mir diese Veranstaltung bald nochmal als
+            digitalen Mitschnitt ansehen und dann mitschreiben. Auch aus dem
+            Publikum kamen interessante Sachen.</p>
+        <p>Den Anfang der Abschlußveranstaltung habe ich sausen lassen
+            zugunsten eines warmen Abendessens in der Cafeteria. War
+            dringend nötig. Mein Kreislauf war nicht im besten Zustand.</p><hr />
+        <h2>Congress-Splitter</h2>
+        <p><em class="write"> Beim Parken auf Verbotenen oder als Verboten
+            Markierten Plätzen ist mit herumgetragenen Auto nicht unter
+            30&nbsp;Metern oder gepickten Türen zu rechnen. </em><br />
+            [Andreas V. Meier am 18.12.2002 auf der Engel-Mailingliste]</p>
+        <p><em class="write"> Ich hoffe, ich bin jetzt niemandem aufs
+            Wave-LAN-Kabel getreten.</em><br /> [padeluun nach seiner
+            Aufforderung, während seines Vortrags keine Notebooks zu
+            benutzen, Tag&nbsp;2]</p>
+        <p><em class="write"> Call Center Agent klingt einfach besser als
+            Telefonistin.</em><br /> [Fanny Pittack in &quot;Call Center,
+            Risiken und Nebenwirkungen, Tag&nbsp;2]</p>
+        <p><em class="write"> Ein Handy-Exploit kann auch nur auf einem
+            Handy funktionieren, das nicht gerade abgestürzt ist. </em>
+            <br /> [Ron in &quot;Security Nightmares&nbsp;III&quot;,
+            Tag&nbsp;3]</p>
+        <div class="picleft">
+          <a class="FlattrButton" style="display:none;"
+             href="http://www.atari-frosch.de/computer/ccc/19c3.html"></a>
+          <noscript>
+            <a class="graflink" target="_blank"
+               href="http://flattr.com/thing/458942/Tagebuch-vom-19c3">
+            <img src="http://api.flattr.com/button/flattr-badge-large.png"
+                 alt="Flattr this" title="Flattr this" /></a>
+        </div>
+      </div><!-- div#content -->
diff --git a/sites/atarifrosch/computer/ccc/19c3.py b/sites/atarifrosch/computer/ccc/19c3.py
new file mode 100755 (executable)
index 0000000..99538b8
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+######################################################################
+# THIS FILE WAS GENERATED AUTMATICALLY FROM
+# /srv/atarifrosch/computer/ccc/19c3.html
+# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM
+# atarifrosch, 2017-04-10 00:34
+######################################################################
+
+
+title = 'Engel-Tagebuch 19C3'
+dctitle = 'Tagebuch vom 19C3'
+dcreator = 'Sabine Engelhardt'
+dcpublisher = 'Sabine Engelhardt'
+dcdate = '2003-03-03'
+dcrights = 'Sabine Engelhardt'
+headline = '19C3 – Tagebuch eines Engels'
+addcssfile = [" type="textcss" >  href="/frosch.css" type="text/css" />", '
diff --git a/sites/atarifrosch/computer/ccc/20c3.htm b/sites/atarifrosch/computer/ccc/20c3.htm
new file mode 100644 (file)
index 0000000..5c519d8
--- /dev/null
@@ -0,0 +1,130 @@
+      <div id="content">
+        <h2>Mein persönlicher Fahrplan (Planung)</h2>
+        <table>
+          <tr><td> von - bis </td><td> was </td><td> wo </td></tr>
+          <tr><th colspan="3"> 27. Dezember 2003 </th></tr>
+          <tr><td> 13:00&nbsp;-&nbsp;14:00&nbsp;Uhr </td>
+            <td> 560 Software-Patente - Es ist noch nicht vorbei </td>
+            <td> Saal 1 </td></tr>
+          <tr><td> 13:00 - 15:00 Uhr </td><td> 599 Soziale Software - Trolls,
+                 Karma, Freedom of Speech und vernetzte Gruppe </td>
+            <td> Saal 3 </td></tr>
+          <tr><td> 15:00 - 17:00 Uhr </td><td> 613 Firewalls </td>
+            <td> Haecksen </td></tr>
+          <tr><td> 20:00 - 21:00 Uhr </td><td> 633 Fnord-Jahresrückschau, oder:
+                 was die Tagesschau euch nicht gesagt hat. </td>
+            <td> Saal 1 </td></tr>
+          <tr><td> 21:00 - 22:00 Uhr </td><td> 581 Chaos-Jahresrückblick 2003 </td>
+            <td> Saal 1 </td></tr>
+          <tr><th colspan="3"> 28. Dezember 2003 </th></tr>
+          <tr><td> 10:00 - 11:00 Uhr </td><td> 575 Das neue Urheberrecht und die
+                 gesellschaftlichen Folgen </td><td> Saal 3 </td></tr>
+          <tr><td> 10:00 - 13:00 Uhr </td><td> 616 Presseworkshop (women
+                 only) </td><td> Haecksen </td></tr>
+          <tr><td> 15:00 - 17:00 Uhr </td><td> 590 Bürgernetze - Spielball von
+                 Staats- und Wirtschaftsinteressen oder Machtfaktor? </td>
+            <td> Workshop </td></tr>
+          <tr><td> 22:00 - 23:00 Uhr </td><td> 583 Hacktivity </td>
+            <td> Saal 1 </td></tr>
+          <tr><th colspan="3"> 29. Dezember 2003 </th></tr>
+          <tr><td> 10:00 - 11:00 Uhr </td><td> 562 Psychologische Aspekte von
+                 Computersicherheit in Organisationen </td><td> Saal 3 </td></tr>
+          <tr><td> 12:00 - 13:00 Uhr </td><td> 536 Buchvorstellung: Krieg und
+                 Internet - Ausweg aus der Propaganda? </td><td> Saal 3 </td></tr>
+          <tr><td> 15:00 - 17:00 Uhr </td><td> 609 Security Nightmares IV –
+                 Worüber wir nächstes Jahr lachen werden </td>
+            <td> Saal 1 </td></tr>
+          <tr><td> 17:00 - 19:00 Uhr </td><td> 611 Hacker-Jeopardy </td>
+            <td> Saal 1 </td></tr>
+          <tr><td> 19:00 - 20:00 Uhr </td><td> 610 Abschlussveranstaltung </td>
+            <td> Saal 1 </td></tr>
+        </table><hr />
+        <h2>Tagebuch</h2>
+        <h3>26. Dezember</h3>
+        <h4>22:37 Uhr</h4>
+        <p>Was ein Chaos. Gestern die Zugfahrt war schon schlimm mit dem PC
+            in dem großen Brötchenkorb; den Muskelkater habe ich immer noch. 
+            Dann geht hier das Organisationschaos grad weiter. Natürlich
+            habe ich – bis jetzt – keinen Bildschirm bekommen.
+            Ich schreibe im Moment von einem ausgeliehenen Mac-Notebook mit
+            amerikanischer Tastaturbelegung aus, den ich auf die seerose per
+            ssh eingeloggt habe.</p>
+        <p>Heute nachmittag habe ich mich in den Eingangsbereich gestellt,
+            um auf Alex zu warten. Ich hab ihn dann erst mal in den
+            Engelraum gebracht, wo wir ein wenig geredet haben, dann wollten
+            wir eigentlich nur einen Kaffee trinken gehen. Sarah hat sich
+            dann dafür entschieden, mitzukommen, und schließlich sind wir in
+            einem Bistro drüben am Alexanderplatz gelandet, wo wir dann doch
+            richtig warm gegessen haben.</p>
+        <p>Nach dem Essen sind wir zurück in den Engelraum und wollten
+            seinen Notebook, den er nun doch dabei hat, unter Debian Linux
+            Woody einrichten. Die meiste Zeit haben wir aber dann damit
+            verbraten, seine sehr eigenartig partitionierte Festplatte zu
+            bändigen. Er meinte, eine fehlgeschlagene Red-Hat-Installation
+            habe ihm die so zerschossen, bestand aber darauf, die
+            Gesamtinstallation (WinXP, SuSE Linux) beizubehalten. Ich wäre
+            eher für eine komplette Neupartitionierung gewesen, aber er
+            wollte ja nicht. Also hat es halt länger gedauert.</p>
+        <p>Was die Orga angeht, bin ich ganz schön sauer!</p>
+        <h3>27. Dezember</h3>
+        <h4>03:24 Uhr</h4>
+        <p>Alex kam pünktlich zum Ende meiner Kassenschicht von einem
+            Besuch zurück. Danach haben wir uns nochmal mit der
+            Debian-Installation befaßt bzw. mit der Frage, wie wir das
+            vorher installierte SuSE-Linux auch wieder booten können. Das
+            Problem hat schließlich ein lilo-erfahrener Engel gelöst.</p>
+        <p>Und jetzt habe ich zumindest für diese Nacht auch einen Monitor
+            vom Chaosdorf bekommen, einen einfachen 14-Zöller. Bevor ich in
+            die nächste Kassenschicht um 9&nbsp;Uhr gehe, muß ich den aber
+            wieder zurück stellen. Alex ist gegangen, er will sich für ein
+            paar Stunden hinlegen und dann um 10 die Eröffnungsveranstaltung
+            besuchen.</p>
+        <h4>06:20 Uhr</h4>
+        <p>Im Engelraum wird es immer kühler, die haben die Klimaanlage
+            runtergedreht. Vorher war es zu warm, jetzt ist es zu
+            kalt&nbsp;:-/</p>
+        <p>Ich HTMLisiere einige Dateien aus dem alten Crosspoint, bis um 9
+            meine nächste Kassenschicht beginnt. Diesmal nehme ich mir
+            allerdings meine Decke mit, da unten ist es nämlich noch kälter
+            als hier. – In dieser Zeit müßte auch Alex wieder kommen. 
+            Heute Nachmittag wollen wir an einen Kernelbau auf seinem
+            Notebook gehen, das er hier im Engelraum gelassen hat.</p>
+        <h3>28. Dezember</h3>
+        <h4>11:18 Uhr</h4>
+        <p>Wieder einen Monitor ergattert, diesmal ein
+            14&quot;-Servermonitor. Zumindest heute über den Tag bin ich
+            damit versorgt.</p>
+        <p>Danach haben wir uns mit dem Kernelbau auf Alex' Notebook
+            versucht. menuconfig für den 2.4er-Kernel hat eine Menge
+            Neuerungen, da mußte ich selbst oft erst mal die Hilfe lesen, um
+            zu wissen, ob eine Option für das Gerät sinnvoll ist oder nicht. 
+            Als wir schließlich durch waren, gab es ganz zum Schluss des
+            Compilerlaufs einen Fehler, und ich war dann zu müde, um der
+            Sache auf den Grund zu gehen. Die fehlende Nacht hing mir da
+            schon heftig nach.</p>
+        <p>Diese Nacht war ich wieder bei Ina in Köpenick. Ich hab jetzt
+            auch eine Wochenkarte. Bei Ina im Regal habe ich
+            „Nell“ gefunden und mußte das
+            „natürlich“ unbedingt noch lesen, bevor ich schlafen
+            ging, sonst hätte ich nicht 6, sondern sogar 8&nbsp;Stunden
+            Schlaf abgekriegt.</p>
+        <p>Nun komme ich eben aus einem interessanten Vortrag eines
+            Rechtsanwalts über das neue Urheberrecht, der leider von der
+            Orga von zwei Stunden auf eine Stunde zusammengekürzt worden
+            war.  Veranstalter des Vortrags war die Wau-Holland-Stiftung,
+            und ich hab danach noch mit Ursel (von der Stiftung) gesprochen. 
+            Eigentlich wollten sie zwei Stunden für den Vortrag plus noch
+            eine Stunde für Diskussionen, und es wäre bestimmt nicht
+            langweilig geworden. Der Saal war voll gewesen, und es standen
+            noch Leute am Rand. Da der Referent aber heute Abend schon
+            wieder abreisen muß, ist auch keine Zusatzveranstaltung möglich.</p>
+        <p>Während Alex jetzt in einem anderen Vortrag sitzt, kann ich noch
+            ein wenig Nervositätsbekämpfung betreiben. Unser eigener Vortrag
+            ist um 17:00&nbsp;Uhr im Saal&nbsp;3, da passen so
+            200&nbsp;Leute rein, und er hat vor allem keine hochgesetzte
+            Bühne. Da hatten wir nämlich schon Sorge, daß Alex nicht auf
+            diese hohen Bühnen raufkommt. – Heute nachmittag gibt es
+            außerdem einen Workshop zum Thema Hackerethik, den wollen wir
+            zusammen besuchen.</p>
+<!-- 29.12. und Vortrag an sich fehlen noch! -->
+      </div><!-- div#content -->
diff --git a/sites/atarifrosch/computer/ccc/20c3.py b/sites/atarifrosch/computer/ccc/20c3.py
new file mode 100755 (executable)
index 0000000..1ce566f
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+######################################################################
+# THIS FILE WAS GENERATED AUTMATICALLY FROM
+# /srv/atarifrosch/computer/ccc/20c3.html
+# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM
+# atarifrosch, 2017-04-10 00:34
+######################################################################
+
+
+title = 'Frosch auf dem 20C3'
+dctitle = 'Tagebuch vom 20C3'
+dcreator = 'Sabine Engelhardt'
+dcpublisher = 'Sabine Engelhardt'
+dcdate = '2005-02-14'
+dcrights = 'Sabine Engelhardt'
+headline = '20C3 – Tagebuch'
+addcssfile = [" type="textcss" >  href="/frosch.css" type="text/css" />", '
diff --git a/sites/atarifrosch/computer/ccc/20c3rant.htm b/sites/atarifrosch/computer/ccc/20c3rant.htm
new file mode 100644 (file)
index 0000000..db92e71
--- /dev/null
@@ -0,0 +1,36 @@
+      <div id="content"><hr />
+        <p>Nachdem man mir am 26. ohne viel Aufhebens meine erste
+            Kassenschicht sozusagen weggenommen hat, fühle ich mich nicht
+            nur als Referentin, sondern auch als Engel ganz schön verarscht.
+            <em>So</em> will ich mir mein Essen hier nicht verdienen
+            müssen.</p>
+        <p>Die zweite Kassenschicht von 26.12. 23:00 Uhr bis 27.12. um
+            01:00&nbsp;Uhr hab ich zwar bekommen, durfte mir aber erst einen
+            sehr kruden Vortrag von HonkHase anhören von wegen Sicherheit
+            und da wären Kassenengel bedroht worden von aggressiven
+            Besuchern. Er meinte, ich sollte doch auf die Schicht verzichten
+            und statt dessen um halb neun morgens beim Catering mithelfen.
+            Irgendwie hat da wohl jemand verpeilt, daß ich auch sowas wie
+            'ne Zeitplanung habe. Die Kassenschicht verlief dann wie
+            erwartet völlig ruhig und problemlos.</p>
+        <p>Der Zusammenstoß mit Honkhase hatte am 28.12. noch ein
+            Nachspiel. Erst sprach mich Nadim an, ob ich mich denn nicht mal
+            mit Honkhase unterhalten wollte, weil er es nicht mag, daß es da
+            Differenzen gibt. Ich war von der Idee schon nicht begeistert,
+            zumal er damit während unseres Mittagessens in der Cafeteria
+            ankam. Aber man soll mir ja nicht vorwerfen, ich sei
+            unkommunikativ, auch nicht beim „No Communication
+            Congress“, wie ich den Congress für mich inzwischen
+            zeitweise umbenannt habe. Dann kam Honkhase und erzählte wieder
+            den selben Sch*** wie in der letzten Nacht; er sei doch für die
+            Sicherheit aller verantwortlich, juristisch und menschlich
+            – wobei ersteres nicht stimmt und zweiteres bedeutet, daß
+            er am falschen Platz ist, IMHO. Alex saß daneben und war
+            letztendlich mit mir einer Meinung. Ende vom Lied war, daß ich
+            meinen Engel-Aufkleber abgezogen habe und mir gut überlege, ob
+            ich mir das im nächsten Jahr nochmal antun will oder mich lieber
+            auf Vorträge beschränke.</p>
+        <p>Die Engel waren bisher immer autonom, und eine Koordination mit
+            Verantwortung kann nicht heißen, daß wir uns wie kleine Kinder
+            behandeln lassen müssen.</p>
+      </div><!-- div#content -->
diff --git a/sites/atarifrosch/computer/ccc/20c3rant.py b/sites/atarifrosch/computer/ccc/20c3rant.py
new file mode 100755 (executable)
index 0000000..46bc7fa
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+######################################################################
+# THIS FILE WAS GENERATED AUTMATICALLY FROM
+# /srv/atarifrosch/computer/ccc/20c3rant.html
+# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM
+# atarifrosch, 2017-04-10 00:34
+######################################################################
+
+
+title = 'Rant über den 20C3'
+dctitle = 'Rant zum 20C3'
+dcreator = 'Sabine Engelhardt'
+dcpublisher = 'Sabine Engelhardt'
+dcdate = '2005-02-14'
+dcrights = 'Sabine Engelhardt'
+headline = 'Rant über den 20C3'
+addcssfile = [" type="textcss" >  href="/frosch.css" type="text/css" />", '
diff --git a/sites/atarifrosch/computer/ccc/__init__.py b/sites/atarifrosch/computer/ccc/__init__.py
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/sites/atarifrosch/computer/ccc/index.htm b/sites/atarifrosch/computer/ccc/index.htm
new file mode 100644 (file)
index 0000000..4ed4a6a
--- /dev/null
@@ -0,0 +1,29 @@
+      <div id="content">
+        <div class="picright">
+          <a class="graflink"><img src="/bilder/chaosdorf.jpg"
+               width="135" height="90" alt="Chaosdorf" /></a>
+        </div><!-- div.picright -->
+        <p>Meine Aktivitäten im
+          <a href="http://www.chaosdorf.de/">Chaosdorf</a> beschränken sich
+            aus gesundheitlichen und Zeit-Gründen hauptsächlich auf die
+            Kongresse des <a href="http://www.ccc.de/">CCC</a>. Beim ersten
+            Congress, bei dem ich dabei war (17C3, Dezember&nbsp;2000), habe
+            ich weder mitgeschrieben noch fotografiert, da blieb nur der
+            Bericht über meine erste (und leider einzige) Begegnung mit
+          <a href="/computer/ccc/wau.html">Wau Holland</a> von übrig.</p>
+        <p>Bei den nächsten Kongressen war ich schon fleißiger:</p>
+        <ul><li><a href="/computer/ccc/18c3.html">18C3</a> – Tagebuch
+               eines Engels</li>
+          <li><a href="/computer/ccc/19c3.html">19C3</a> – Tagebuch
+               eines Engels</li>
+          <li><a href="/computer/ccc/20c3.html">Bericht vom 20C3</a></li>
+        </ul><hr />
+        <div class="picleft">
+          <a class="graflink"><img src="/bilder/ccchd-logo.jpg"
+               width="250" height="87" alt="[LOGO] CCC-HD No-Name e.V."
+               title="NoName e.V." /></a></div><!-- div.picleft -->
+        <p>Gelegentlich, das heißt, wenn ich mal wieder in meine „Alte
+            Heimat“ fahre, schlage ich auch mal beim wöchentlichen
+            Treffen des
+          <a href="http://www.noname-ev.de/">Chaostreff Heidelberg</a> auf.</p>
+      </div><!-- div#content -->
diff --git a/sites/atarifrosch/computer/ccc/index.py b/sites/atarifrosch/computer/ccc/index.py
new file mode 100755 (executable)
index 0000000..34e5797
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+######################################################################
+# THIS FILE WAS GENERATED AUTMATICALLY FROM
+# /srv/atarifrosch/computer/ccc/index.html
+# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM
+# atarifrosch, 2017-04-10 00:34
+######################################################################
+
+
+title = 'CCC-Aktivitäten'
+dctitle = 'CCC-Aktivitäten'
+dcreator = 'Sabine Engelhardt'
+dcpublisher = 'Sabine Engelhardt'
+dcdate = '2007-04-19'
+dcrights = 'Sabine Engelhardt'
+headline = 'CCC-Aktivitäten'
+addcssfile = [" type="textcss" >  href="/frosch.css" type="text/css" />", '
diff --git a/sites/atarifrosch/computer/ccc/menu.py b/sites/atarifrosch/computer/ccc/menu.py
new file mode 100755 (executable)
index 0000000..1469ed1
--- /dev/null
@@ -0,0 +1,24 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+
+# Created automatically with htmlglue/preparesite v0.0
+
+menuitem.append(["htm", "home", "/index.html", "Startseite"])menuitem.append(["dir", "close", "/vorstellung/", "Vorstellung"])
+menuitem.append(["dir", "close", "http://blog.atari-frosch.de/", "Blog"])
+menuitem.append(["dir", "open", "/computer/", "Computer"])
+menuitem.append(["htm", "file2", "/computer/ccc/20c3.html", "20C3&nbsp;Tagebuch"])
+menuitem.append(["htm", "file2", "/computer/ccc/19c3.html", "19C3 Tagebuch"])
+menuitem.append(["htm", "file2", "/computer/ccc/18c3.html", "18C3 Tagebuch"])
+menuitem.append(["htm", "file2", "/computer/ccc/wau.html", "Wau Holland&nbsp;+"])
+menuitem.append(["dir", "close", "/internet/", "Internet"])
+menuitem.append(["dir", "close", "/politik/", "Politik"])
+menuitem.append(["dir", "close", "/depression/", "Depression"])
+menuitem.append(["dir", "close", "/hobby/", "Hobbies"])
+menuitem.append(["dir", "close", "/musik/", "Musik"])
+menuitem.append(["dir", "close", "/fotografie/", "Fotografie"])
+menuitem.append(["dir", "close", "/pretender/", "The&nbsp;Pretender"])
+menuitem.append(["dir", "close", "/flohmarkt/", "Flohmarkt"])
+menuitem.append(["dir", "close", "/misc/", "Vermischtes"])
+menuitem.append(["htm", "file", "/impressum.html", "Impressum</ul>"])
+menuitem.append(["htm", "file", "/impressum.html", "Impressum"])
diff --git a/sites/atarifrosch/computer/ccc/wau.htm b/sites/atarifrosch/computer/ccc/wau.htm
new file mode 100644 (file)
index 0000000..07c6849
--- /dev/null
@@ -0,0 +1,86 @@
+      <div id="content">
+        <p>Ich traf Wau Holland am 25.&nbsp;Dezember 2000 beim
+            17.&nbsp;Chaos Communication Congress (17C3) in Berlin. Dort
+            hatte ich mich freiwillig als Chaos-Engel verpflichtet, also als
+            Kongresshelferin. Für die Engel war ein zweigeteilter
+            Aufenthaltsraum – einer mit Computern, einer ohne –
+            und ein separater Schlafraum vorgesehen. Die Aufenthaltsräume
+            – Engelraum oder einfach Himmel genannt – waren ein
+            wenig von den Veranstaltungsräumen abgetrennt, sodaß wir auch
+            mal unter uns sein konnten und Ruhe hatten.</p>
+        <p>Als ich dann so vorm Engelraum stand, sah ich einen
+            Zwei-Platten-Kocher mit einem riesigen Topf drauf, und die
+            Platte, auf der der Topf stand, war auf volle Leistung
+            geschaltet. Es war aber niemand da. Also bin ich einfach mal
+            daneben stehen geblieben, um abzuschalten, falls das Wasser im
+            Topf anfängt zu kochen. Der Herd war allerdings recht schwach.
+            Nach ein paar Minuten kam ein älterer Mann, ziemlich klein,
+            rundlich, aber nicht wirklich dick, mit Karl-Marx-Frisur incl.
+            Vollbart und 'ner ziemlichen Platte – und untersuchte den
+            Topf.</p>
+        <p>Das war Wau Holland, der Alterspräsident und Mitgründer des
+            Chaos Computer Club, und er wollte für die Engel
+            kochen&nbsp;:-)</p>
+        <p>Ich fragte, ob ich beim Kochen helfen kann. Daraufhin meinte er,
+            klar, ich solle doch einfach mal mitkommen. Zielstrebig
+            marschierte er zur – Herrentoilette. Ich stutzte doch erst
+            mal etwas&nbsp;… In Ermangelung einer Küche hatte er dort
+            einen Tisch aufgestellt, weil das – neben der
+            Damentoilette – der einzige Ort in der Nähe des Engelraums
+            war, in dem es fließendes Wasser gab. Dort schnippelte er Salat
+            und Karotten und bereitete seine „Wau-Holland-Sauce“
+            zu.</p>
+        <p>Wau Holland gab es nicht in der Version &quot;schweigend&quot;.
+            Am Stück erzählte er Histörchen und Anekdoten, von seinen ersten
+            Computern, dem legendären BTX-Hack und den Gründertagen des CCC. 
+            Aber Wau war niemand, der nur erzählte, weil er sich gern reden
+            hörte, sondern es machte ihm Spaß, Wissen und Erfahrungen
+            weiterzugeben, er konnte sich immer wieder selbst über solche
+            alten Geschichten amüsieren – und er freute sich darüber,
+            wenn sie auch anderen Freude machten. Ich schnippelte derweil
+            Eisbergsalat.</p>
+        <p>Meine Frage, warum denn der 17C3 in Berlin stattfindet, obwohl
+            der CCC doch seinen Sitz in Hamburg hat, beantwortete Wau mit
+            einem lauten Seufzen: „Hach, der alte
+            Streit&nbsp;…“. Ich hab dann lieber nicht weiter
+            nachgefragt&nbsp;…</p>
+        <p>Es war aber abzusehen, daß die Nudeln, die er dann in dem Topf
+            kochte, nicht für alle über 160 Engel reichen würden. Aber Wau
+            wußte Abhilfe: „Wenn die Nudeln zu wenig sind, erzählen
+            wir den Leuten, daß wir sie in Ermangelung eines Kochlöffels mit
+            der Klobürste umgerührt haben!“</p>
+        <p>Natürlich stellte ich auch die Frage, ob Wau sein richtiger Name
+            sei. Diese Geschichte mußte er anscheinend schon hunderte von
+            Malen erzählen. Eigentlich hieß er Herwart. Den Namen mochte er
+            aber verständlicherweise nicht. Bei den Pfadfindern nannte man
+            ihn aus wohl naheliegenden Gründen Maulwurf, und als er anfing,
+            zu Programmieren, wurde daraus irgendwie Wau, und das ist dann
+            hängen geblieben.</p>
+        <p>Auf dem ganzen 17C3 kümmerte sich Wau zusammen mit Hasi rührend
+            um die Futterbeschaffung für die Engelschar. Da das Budget
+            äußerst knapp war, legte er auch aus seinem eigenen Geldbeutel
+            was mit drauf. Hungern mußten wir wahrlich nicht: Es gab zwar
+            nicht immer etwas für jeden Geschmack, aber es war immer etwas
+            da. Wau schleppte seinen Brotbackautomaten an und buk leckeres
+            Brot.</p>
+        <p>Als wir einmal abends zusammensaßen und Wau wieder einmal aus
+            seinem schier unerschöpflichen Geschichten-Fundus erzählte,
+            fragte ich, wann er seine Memoiren schreiben würde. Er
+            antwortete, daß er damit bereits angefangen habe. Daraufhin bot
+            ich an, für ihn zu tippen und auch Satz und Layout zu machen. Er
+            fand das Angebot gut und meinte, darüber könnten wir nach dem
+            Congress reden, wenn wieder mehr Luft ist. Leider wurde dann
+            nichts mehr draus.</p>
+        <p>Als ich dann Ende Mai 2001 erfuhr, daß er im Koma liegt, war ich
+            fassungslos. Man macht sich ja kaum Gedanken darüber, daß ein
+            Mensch plötzlich nicht mehr da sein könnte. Ich dachte oft an
+            ihn, dachte auch daran, hinzufahren und bei der
+            Rund-um-die-Uhr-Betreuung, die Freunde organisiert hatten,
+            mitzuhelfen – wenn auch nur mal für ein paar Tage. Nun las
+            ich heute (29.07.2001), daß er früh morgens den letzten großen
+            Server gehackt hat.</p>
+        <p>Gute Reise, Wau&nbsp;…</p>
+        <p>Die Kondolenzliste und schöne Zitate gibt es auf
+          <a href="http://www.wauland.de/">wauland.de</a>, dort soll auf
+            Dauer auch Waus Leben und Wirken dokumentiert werden.</p>
+      </div><!-- div#content -->
diff --git a/sites/atarifrosch/computer/ccc/wau.py b/sites/atarifrosch/computer/ccc/wau.py
new file mode 100755 (executable)
index 0000000..e79bf0f
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+######################################################################
+# THIS FILE WAS GENERATED AUTMATICALLY FROM
+# /srv/atarifrosch/computer/ccc/wau.html
+# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM
+# atarifrosch, 2017-04-10 00:34
+######################################################################
+
+
+title = 'Wau Holland Memorial'
+dctitle = 'Wau Holland Memorial'
+dcreator = 'Sabine Engelhardt'
+dcpublisher = 'Sabine Engelhardt'
+dcdate = '2004-06-16'
+dcrights = 'Sabine Engelhardt'
+addcssfile = [" type="textcss" >  href="/frosch.css" type="text/css" />", '
diff --git a/sites/atarifrosch/computer/companf.htm b/sites/atarifrosch/computer/companf.htm
new file mode 100644 (file)
index 0000000..1bd9577
--- /dev/null
@@ -0,0 +1,81 @@
+      <div id="content">
+        <p>Ich muß ungefähr 12 oder 13 Jahre alt gewesen sein, als mein
+            etwas älterer Cousin mir seine Spielekonsole überließ. Damit
+            spielte ich eine ganze Weile Squash und Ping-Pong.</p>
+        <p>Etwa 1983/84 zogen mich die Schneider CPCs und C64-er in einem
+          <a href="/misc/mannheim.html">Mannheimer</a> Kaufhaus magisch an.
+            Ich guckte den Buben, die daran herumspielten – ja, das
+            durfte man damals noch! – über die Schulter und stellte
+            fest, daß die Befehle, die sie da eingaben, eigentlich ganz
+            einfach waren. Mein Interesse war geweckt.</p>
+        <p>Ein VHS-Programm schrieb Ende 1984 etwas von einem Basic-Kurs,
+            es wurden aber Hochschulabschluß und/oder Berufserfahrung
+            verlangt – und ich kam gerade aus der Realschule. Also
+            flugs angerufen und nachgefragt. Denen fielen aber alle
+            möglichen Ausflüchte ein, und als ihnen nichts mehr einfiel,
+            meinte mein damaliger Gesprächspartner, „…&nbsp;aber Sie
+            würden ja dort als junge Frau so ganz allein zwischen lauter
+            gestandenen Männern so ab 40 in Anzügen sitzen&nbsp;…“
+            Das ist natürlich ein schlagendes Argument.</p>
+        <p><a name="c64"></a> Dann kam aber alles ganz anders. Ich lernte im
+            Sommer 1985 meinen ersten Freund kennen, und der hatte einen
+            C64. Damit war der Kurs nicht mehr nötig&nbsp;;-)</p>
+        <h3><em> Commodore Basic V2.0 <br /> 38911 Basic Bytes free </em></h3>
+        <p>…&nbsp;leuchtete mir in den Monaten danach fast täglich
+            entgegen. Die 20 Befehle, die dieses Basic hatte, waren bald
+            ausgelutscht. Aber auch die ersten Hardware-Tücken lernten wir
+            kennen – zum Beispiel, daß die Warnung, man solle den
+            Monitor nicht im laufenden Betrieb umstöpseln, ernst zu nehmen
+            ist. Nein, ich war's nicht. Uns hat es damals den Soundchip, den
+            SID, zerrissen. Das war besonders ärgerlich, weil ich kurz zuvor
+            das legendäre Musikstück „Shades“ von Chris Hülsbeck
+            abgetippt hatte.</p>
+        <p>Das war auch so eine Story: Das MSE-Listing war in der 64er
+            abgedruckt. Als Maschineschreiberin benötigte ich für das
+            Abtippen dreieinhalb Stunden. Dann Save, Run – nichts. In
+            der nächsten 64er stand dann drin, daß sie das Listing
+            versehentlich mit dem eines Spieles gemixt hatten. Also nochmal
+            das Ganze – aber dieses Mal war ich vorher im Copy-Shop
+            und hatte mir die Vorlagen zusammenkopiert und vor allem
+            vergrößert – mir taten noch vom ersten Versuch die Augen
+            weh, das muß so Schriftgröße&nbsp;4 gewesen sein. Ich hatte das
+            Listing dann also vollständig drin und wählte beim Speichern
+            versehentlich die Datasette statt der Floppy. Das wäre ja an
+            sich noch nicht so schlimm gewesen, aber es hing nun mal keine
+            Datasette dran – und das nahm mir der MSE übel&nbsp;…
+            und ja, ich habe alles noch ein drittes Mal abgetippt. Aber dann
+            lief es! Und zwar ziemlich oft&nbsp;;-)</p>
+        <p>Wie gesagt, das Grund-Basic war schnell ausgelutscht. Also mußte
+            eine Erweiterung her. Von einem Bekannten kauften wir ein
+            kleines schwarzes Kästchen mit einem roten Knopf, das 200
+            zusätzliche Basic-Befehle versprach: Omikron-Basic für den
+            Rom-Port. Der rote Knopf war ein Reset-Knopf – der C64 hat
+            von Haus aus keinen. Den hab ich dann aber auch ziemlich häufig
+            gebraucht, wenn ich mich bei <em>poke</em>s und <em>peek</em>s
+            vertippt hatte&nbsp;;-)</p>
+        <p>Aber auch damit kam ich schnell an die Grenzen. Die
+            Omikron-Befehle waren teilweise Vereinfachungen von vorhandenen
+            Befehlen, zum Beispiel wurden die umständlichen Kommandos für
+            die Floppy (1541) in verständlichere umbenannt, und statt einem
+            Befehl mit vielen verschiedenen Parametern gab es viele
+            verschiedene, aber leichter zu merkende Einzelbefehle.</p>
+        <h2>Ein neuer Computer soll her - welcher?</h2>
+        <p>Diese Frage stellte sich uns 1986. In den Schaufenstern der
+            „professionellen“ Büromaschinenanbieter standen
+            IBM-PCs – 8088-er, 286-er und die ersten 386/12-er –
+            zu Preisen, die für zwei Azubis völlig außerhalb aller
+            Diskussion standen. Unter 5000&nbsp;Mark war da nichts zu
+            bekommen, und ein 386/12 sollte sogar je nach Ausstattung
+            zwischen 10.000 und 15.000&nbsp;Mark kosten. Heute wollen die
+            meisten Leute diese Rechner nicht mal mehr geschenkt&nbsp;…</p>
+        <p>Also hieß die Frage nur noch: Atari oder Amiga? Wir haben uns
+            damals für den <a href="atari.html">Atari&nbsp;ST</a>
+            entschieden. Der Hauptgrund war der Bildschirm: Denn während die
+            Amigas zu dieser Zeit noch mit ziemlich niedrigen Frequenzen
+            bzw. im interlaced-mode gearbeitet haben (wurde später durch den
+            „Flickerfixer“ behoben), brachte der Atari einen
+            Schwarz-Weiß-Monitor mit der für diese Zeit fantastischen
+            Bildwiederholfrequenz von 72&nbsp;Hz mit (bei einem PC-Monitor
+            durfte man schon froh sein, wenn er 50&nbsp;Hz erreichte, oft
+            war's weniger).</p>
+      </div><!-- div#content -->
diff --git a/sites/atarifrosch/computer/companf.py b/sites/atarifrosch/computer/companf.py
new file mode 100755 (executable)
index 0000000..6afd4f8
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+######################################################################
+# THIS FILE WAS GENERATED AUTMATICALLY FROM
+# /srv/atarifrosch/computer/companf.html
+# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM
+# atarifrosch, 2017-04-10 00:34
+######################################################################
+
+
+title = 'Commodore C64'
+dctitle = 'Meine Anfänge am Computer, C64'
+dcreator = 'Sabine Engelhardt'
+dcpublisher = 'Sabine Engelhardt'
+dcdate = '2005-02-08'
+dcrights = 'Sabine Engelhardt'
+headline = 'Wie alles anfing&nbsp;…'
+addcssfile = [" type="textcss" >  href="/frosch.css" type="text/css" />", '
diff --git a/sites/atarifrosch/computer/doswin.htm b/sites/atarifrosch/computer/doswin.htm
new file mode 100644 (file)
index 0000000..1a1af29
--- /dev/null
@@ -0,0 +1,121 @@
+      <div id="content">
+        <p>Den ersten Kontakt mit PCs hatte ich 1989 – ein
+          <a href="/computer/texte/cpus.html#8088">8088er</a> unter DOS (was
+            sonst) mit der Textverarbeitung IBM PC-Text&nbsp;4. Punktbefehle
+            am Zeilenanfang – ziemlich unrecovery für einen
+            WYSIWYG-verwöhnten Menschen wie mich. – Im selben Jahr
+            besuchte ich einen C-Programmier-Kurs der VHS Mannheim. Der
+            Dozent konnte zwar sicher gut programmieren, aber er war –
+            so die überwiegende Meinung der TeilnehmerInnen – nicht in
+            der Lage, es sinnvoll rüberzubringen. Viel mehr als die
+            prinzipielle Funktionsweise ist bei mir damals nicht hängen
+            geblieben.</p>
+        <p>1990 wollte mich mein damaliger Arbeitgeber in Word&nbsp;4
+            schulen. Die auf einen vollen Tag angesetzte Schulung endete
+            bereits zur Halbzeit, weil mir die Referentin nichts mehr
+            erzählen konnte und ihr auf meine Fragen keine Antworten mehr
+            einfielen: Ich fragte nach Funktionen, die für
+            Atari-Textverarbeitungsprogramme dieser Zeit normal waren
+            – MS-Word war damit offensichtlich überfordert.</p>
+        <p>Bei einem Einsatz in einer Firma meinte doch tatsächlich mein
+            dortiger Vorgesetzter mal, „Wenn Sie nochmal Atari sagen,
+            fliegen Sie raus.“ Dabei saß ich dort vor einem
+          <a href="/computer/texte/cpus.html#386SX">386/12</a> unter
+            DOS&nbsp;3.3 mit MS-Word&nbsp;4.0, und das Teil konnte mit
+            meiner Schreibgeschwindigkeit (350&nbsp;Anschläge pro Minute)
+            schon im Textmodus kaum mithalten, und im Grafikmodus hatte es
+            dann gar keine Chance mehr. Ich brauche wohl kaum zu erwähnen,
+            daß weder der C64 (1&nbsp;MHz) noch der kleinste Atari, der
+            260ST (8&nbsp;MHz) je Probleme mit meiner Schreibgeschwindigkeit
+            hatten.</p>
+        <p>Meine ersten PC-Erfahrungen waren also eher negativer Art, und
+            ich fragte mich damals, wie Firmen PCs überhaupt für sinnvoll
+            erachten konnten, wenn sie doch so viel weniger konnten als mein
+            „Spielcomputer“.</p>
+        <p>1993 kaufte das Landesarbeitsgericht, bei dem ich zu dieser Zeit
+            arbeitete, seine ersten PCs. Vorher lief alles auf
+            Schreibmaschinen. Zwischen Ausschreibung (mit festen
+            Hardware-Bezeichnungen bei Prozessor etc. und festen
+            Versionsnummern bei den Programmen) und der tatsächlichen
+            Anschaffung lagen aber mehrere Monate, sodaß die Geräte wie auch
+            die darauf installierte Software schon veraltet waren, als sie
+            dann endlich geliefert wurden. Auf den Intel 486DLC50
+            (eigentlich: intern 50, extern aber nur 25&nbsp;MHz) mit
+            16&nbsp;MB Speicher liefen OS/2&nbsp;2.1 und Lotus AmiPro für
+            Windows (obwohl OS/2 Warp&nbsp;3 und AmiPro für OS/2 bereits
+            raus waren). Immerhin lief AmiPro auf diesen Maschinen in einer
+            (noch) angenehmen Geschwindigkeit.</p>
+        <p>AmiPro gefiel mir daran dann auch am besten: Einfach zu
+            bedienen, einfach zu erlernen, und doch mächtig durch die
+            Möglichkeit, sich eigene Makros zu bauen. Außerdem ist es schon
+            mit einigem Aufwand verbunden, AmiPro abstürzen zu lassen,
+            selbst mit großen Texten und bei groben Bedienfehlern. Diese
+            Stabilität kann MS-Word bis heute nicht nachmachen.</p>
+        <p>„Erst“ 1995 hatte ich dann meinen ersten eigenen PC
+            auf dem Tisch stehen. Der
+          <a href="/computer/texte/cpus.html#i486DX">i486/50</a> (8&nbsp;MB)
+            teilte sich mittels Umschalter den Monitor mit dem
+          <a href="/computer/atari.html#tt">Atari&nbsp;TT</a> und war zuerst
+             – unter DOS 6.22 – nur für die Pointsoftware
+          <a href="/hobby/mailbox/pointsoft.html#xp">Crosspoint</a>
+            zuständig; alles weitere lief weiterhin auf dem Atari. Der
+            Vorteil: Ich mußte nun nicht mehr mit dem Modem via
+            Telefonanlage (Istec&nbsp;1008) an der
+          <a href="/hobby/mailbox/seerose/"><em>Seerose</em></a> pollen,
+            sondern konnte direkt über unser lokales Netzwerk (10&nbsp;MBit,
+            BNC) gehen. Es macht schon einen Unterschied, ob mit
+            1880&nbsp;cps oder 10&nbsp;Mbit/sec (ca. 400.000&nbsp;cps bei
+            den Nutzdaten) übertragen wird&nbsp;… Der 486/50 wich dann
+            bald einem
+          <a href="/computer/texte/cpus.html#pentium1">P90</a> mit
+            16&nbsp;MB, aber mehr Programme als Crosspoint und AmiPro liefen
+            darauf nur selten, denn die &quot;größeren&quot; Sachen machte
+            ich weiterhin mit dem Atari&nbsp;TT.</p>
+        <p>Während meiner
+          <a href="/computer/texte/mcpcna.html">Umschulung</a> bei der Dekra
+            in Mannheim 1997/98 stand mir aber auch kein leistungsfähigerer
+            Rechner zur Verfügung, auch dort standen P90 mit 16&nbsp;MB
+            Speicher. Das wurde dann lustig, als Windows&nbsp;95 installiert
+            wurde. Ich habe vorher noch nie erlebt, daß ein Rechner so oft
+            am Tag die Grätsche macht – und einmal pro Woche war
+            Neuinstallation angesagt.</p>
+        <p>Unter NT4Srv wurde es dann extrem. Eine Datei zu kopieren,
+            während ein User von einem anderen Rechner aus eingeloggt war,
+            genügte, um die Maschine zu „töten“. Die Frequenz
+            der Neuinstallationen ging dafür um etwa 60&nbsp;Prozent zurück
+            – „nur“ noch einmal alle zwei bis drei Wochen
+            statt wöchentlich. Naja, nicht wirklich recovery&nbsp;…
+            Diejenigen, die einen Server statt einer Workstation betrieben,
+            bekamen dann immerhin etwas besser ausgestattete Maschinen.</p>
+        <p><a name="auf">Als</a> ich dann im Herbst 1998 einen Auftrag
+            bekam, für den ich den (vom Kurs übrig gebliebenen) NT4Srv
+            installieren mußte, entschied ich mich deshalb dafür, meinen P90
+            in Rente zu schicken und mein System neu aufzubauen. Der Neue
+            war ein
+          <a href="/computer/pc/seerose-k6-2-300.html">AMD&nbsp;K6/II&nbsp;300</a>
+            mit 64&nbsp;MB SD-RAM auf einem entsprechenden DFI-Mainboard mit
+            einer 4,3&nbsp;GB Festplatte (Western Digital). Darauf
+            installierte ich erst MS-DOS&nbsp;6.22, dessen
+            autoexec.bat-/config.sys-Kombination mir als Bootmanager diente.
+            Dann kam Linux drauf, und zwar die Beta-Version einer
+            Linux-Distribution, die mein Mann aufgebaut hatte, mit Kernel
+            2.2.6, und schließlich der NT4Srv. Diese Reihenfolge ist
+            übrigens wichtig, denn wenn man erst NT und dann Linux
+            installiert, kann NT unter Umständen nicht mehr booten.</p>
+        <p>Als dieser Rechner später ein internes IDE-ZIP-Laufwerk dazu
+            bekam, führte NT einen regelrechten Eiertanz auf, denn plötzlich
+            wähnte es sich nicht mehr auf Laufwerk D: (C: ist die
+            DOS-Partition), sondern auf E:. Das Geheimnis ist eine sehr
+            eigenartige Art von Windows, mit Partitionen umzugehen: Die
+            Buchstaben werden erst für die ersten Partitionen aller
+            IDE-Geräte vergeben, dann für die restlichen primären
+            Partitionen und schließlich der Reihe nach für die erweiterten
+            Partitionen. Dadurch, daß ich das ZIP-Laufwerk zusätzlich an den
+            secondary master gehängt hatte, verschoben sich daher die
+            Laufwerksbuchstaben, und Windows fand sich sozusagen selbst
+            nicht wieder. Ich mußte, da ich auf eine Reinstallation keine
+            Lust hatte, die gesamte Registry manuell überarbeiten, damit
+            alles wieder gefunden wurde, und trotzdem machten einige
+            Programme insbesondere bei der Deinstallation massiv
+            Probleme.</p>
+      </div><!-- div#content -->
diff --git a/sites/atarifrosch/computer/doswin.py b/sites/atarifrosch/computer/doswin.py
new file mode 100755 (executable)
index 0000000..8310c1d
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+######################################################################
+# THIS FILE WAS GENERATED AUTMATICALLY FROM
+# /srv/atarifrosch/computer/doswin.html
+# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM
+# atarifrosch, 2017-04-10 00:34
+######################################################################
+
+
+title = 'Atari-Frosch: DOS/Windows'
+dctitle = 'DOS und Windows'
+dcreator = 'Sabine Engelhardt'
+dcpublisher = 'Sabine Engelhardt'
+dcdate = '2002-10-30'
+dcrights = 'Sabine Engelhardt'
+headline = 'Personal Computer'
+addcssfile = [" type="textcss" >  href="/frosch.css" type="text/css" />", '
diff --git a/sites/atarifrosch/computer/freefax.htm b/sites/atarifrosch/computer/freefax.htm
new file mode 100644 (file)
index 0000000..0ee9b4d
--- /dev/null
@@ -0,0 +1,120 @@
+      <div id="content">
+        <h2>Ein freier und (teil-)anonymer Faxdienst</h2>
+        <h3>Anwendung</h3>
+        <ul><li>Anonymer Faxversand an deutsche Festnetznummern</li>
+          <li>Halb-anonymer Faxversand („prepaid“) an beliebige
+               Nummern</li>
+          <li>günstiger bis kostenloser Faxversand nach .de für Menschen
+               außerhalb .de</li>
+          <li>Betreiber des Faxservers bestimmt über den Grad der
+               Anonymität</li>
+          <li>Internationale Vernetzung, um auch international kostenfrei
+               senden zu können</li>
+        </ul>
+        <h3>Hardware</h3>
+        <ul><li>PC mit Netzwerkkarte</li>
+          <li>faxfähiges Modem</li>
+          <li>Telefonanschluß mit Flat-Tarif</li>
+          <li>Internetanschluß</li>
+        </ul>
+        <h3>Software</h3>
+        <ul><li>GNU/Linux oder *BSD</li>
+          <li>Festplatte verschlüsselt</li>
+          <li>Steuerungssoftware FreeFax</li>
+        </ul>
+        <h3>Ablauf generell</h3>
+        <p>Benutzer schickt eine E-Mail an eine spezielle Adresse.  Im
+            Subject steht die Empfängernummer (evtl. auch mehrere).
+            Optimalerweise sind die E-Mails (auch die Rückmeldungen)
+            verschlüsselt.</p>
+        <p>Für spätere Versionen: Im Mailtext können weitere
+            (formalisierte) Anweisungen stehen, z.&nbsp;B. für
+            zeitversetzten Versand, weitere Nummern,&nbsp;…</p>
+        <p>Alternative: Zwei Mails, von denen eine nur das Fax enthält und
+            das andere die Steueranweisungen.</p>
+        <p>Im Anhang (bzw. in der zweiten Mail) befindet sich das
+            eigentliche Dokument in einem verarbeitbaren Format (G3-Fax,
+            .txt, .odt, .pdf, .doc, … weitere? Grafikformate?).</p>
+        <p>Zunächst wird überprüft, ob der Absender eine registrierte
+            Mailadresse ist. Nicht registrierte Mailadressen können nur eine
+            begrenzte Anzahl Faxe pro 24h versenden und auch nur mit einer
+            begrenzten Seitenzahl.  Registrierte Mailadressen ohne Guthaben
+            können mehr versenden oder haben gar keine Einschränkungen.
+            Registrierte Mailadressen mit Guthaben können auch an
+            kostenpflichtige Nummern faxen (Mehrwertdienste,
+            Auslandsnummern).</p>
+        <p>Als nächstes wird das Subject (die Steuermail) ausgewertet:</p>
+        <ul><li>ist die Nummer formal korrekt? - fail: Absender
+               informieren.</li>
+          <li>Darf der Absender an diese Nummer faxen?</li>
+          <li>bei kostenpflichtigen Nummern Prepaid-Datei des Absenders
+               prüfen - fail: Absender informieren, optional Admin
+               informieren</li>
+        </ul>
+        <p>Falls nötig, Konvertierung des Anhangs ins G3-Faxformat:</p>
+        <ul><li>Ist das Format als konvertierbar bekannt? - fail: Absender
+               informieren</li>
+          <li>Läuft die Konvertierung durch? - fail: Absender und Admin
+               informieren</li>
+          <li>Seitenzahl feststellen</li>
+          <li>zu hoch für Absender: Absender informieren</li>
+        </ul>
+        <h4>Fax senden</h4>
+        <ul><li>Fax um den Hinweis ergänzen, daß von einem (teil-)anonymen
+               Faxdienst aus gesendet wird und der Inhaber des Anschlusses
+               nicht zwingend etwas mit dem Absender des Faxes zu tun haben
+               muß; Kontaktinformationen des Faxdienst-Betreibers</li>
+          <li>drei Versuche mit einem festen Zeitabstand pro Empfänger
+               - fail: Absender informieren</li>
+          <li>bei kostenpflichtigen Nummern Kosten berechnen, Prepaid-Datei des
+               Nutzers updaten, auch wenn Versand nicht erfolgreich</li>
+          <li>Erfolgreich versandt: Versandbericht an Absender, ggf. mit
+               Kosteninformation</li>
+        </ul>
+        <h4>Komplett anonym</h4>
+        <ul><li>jeder darf senden (Sperrung von
+               Adressen/Domains/IP-Blöcken möglich)</li>
+          <li>nur an Nummern, die von der eigenen Flatrate erfaßt werden</li>
+          <li>explizit nicht an Mehrwertnummern und ins Ausland</li>
+          <li>Maximalwerte bei Anzahl und Seitenzahl</li>
+        </ul>
+        <h4>Teil-anonym/Prepaid</h4>
+        <p>Prepaid-Guthaben können über PayPal einbezahlt werden; die
+            Einzahler-Mailadresse muß gleich der Absende-Adresse für Faxe
+            sein. In diesem Fall könnten Nutzer über den PayPal-Account
+            identifiziert werden, aber nur durch Ermittlungsbehörden, nicht
+            durch Faxdienst-Betreiber.</p>
+        <h4>Logging</h4>
+        <ul><li>Zur Einhaltung der Regeln (n Faxe pro 24h) wird für 24h geloggt,
+               welche Mailadresse gefaxt hat (nicht: wohin).</li>
+          <li>Prepaid-Dateien enthalten zur Nachvollziehbarkeit durch den
+               Auftraggeber auch die Buchungen und die (verkürzten)
+               Empfängernummern.</li>
+          <li>Prepaid-Dateien können jederzeit vom Absender per formalisierter
+               Mail angefordert oder verkürzt werden.</li>
+          <li>Bei Stand 0 können Prepaid-Dateien ganz gelöscht werden
+               (konfigurierbar), evtl. nach einer bestimmten Zeit.</li>
+        </ul>
+        <h4>Alternativer Ablauf</h4>
+        <p>Für den Fall, daß der Faxserver mit der Konvertierung
+            überfordert wäre, aber der annehmende Mailserver genug
+            Kapazitäten hat und dort entsprechender root- oder Shellzugriff
+            besteht: Mailserver trennt bereits den Anhang von der Mail,
+            konvertiert und schreibt nur noch den Namen der konvertierten
+            Datei in die Mail zurück. Faxserver holt sich nach Mailempfang
+            diese Datei per scp und setzt eine Markierung, damit der
+            Mailserver sie wieder löscht.</p>
+         <h3>Offene Fragen</h3>
+         <p>Welche CPU-Leistung ist mindestens nötig, um den Faxserver auch
+             bei höherem Durchsatz (etwa 20 Faxe pro Stunde sollten
+             technisch möglich sein) nicht zu überlasten? Zu bedenken sind
+             insbesondere Konvertierung der Dateien, Ver- und
+             Entschlüsselung von E-Mails.</p>
+         <p>Wieviel Plattenplatz ist als Puffer für Dokumente notwendig,
+             selbst wenn versandte Dokumente (sowie die, die nicht versandt
+             werden konnten) sofort oder mit geringer Zeitverzögerung
+             gelöscht werden?</p>
+         <p>Wieviel RAM ist nötig (kein GUI)?</p>
+         <p>Preisfrage: Wie könnte dieser Server für registrierte
+             Mailadressen Faxe empfangen?&nbsp;;-)</p>
+      </div><!-- div#content -->
diff --git a/sites/atarifrosch/computer/freefax.py b/sites/atarifrosch/computer/freefax.py
new file mode 100755 (executable)
index 0000000..848628a
--- /dev/null
@@ -0,0 +1,20 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+######################################################################
+# THIS FILE WAS GENERATED AUTMATICALLY FROM
+# /srv/atarifrosch/computer/freefax.html
+# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM
+# atarifrosch, 2017-04-10 00:34
+######################################################################
+
+
+title = 'Projekt FreeFax'
+robots = 'noindex,follow'
+dctitle = 'Projekt FreeFax'
+dcreator = 'Sabine Engelhardt'
+dcpublisher = 'Sabine Engelhardt'
+dcdate = '2009-11-01'
+dcrights = 'Sabine Engelhardt'
+headline = 'FreeFax'
+addcssfile = [" type="textcss" >  href="/frosch.css" type="text/css" />", '
diff --git a/sites/atarifrosch/computer/fremd/__init__.py b/sites/atarifrosch/computer/fremd/__init__.py
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/sites/atarifrosch/computer/fremd/alex.htm b/sites/atarifrosch/computer/fremd/alex.htm
new file mode 100644 (file)
index 0000000..152ca4a
--- /dev/null
@@ -0,0 +1,72 @@
+      <div id="content">
+        <p class="center"> Dezember 2003/Januar 2004</p>
+        <h2>Systembeschreibung</h2>
+        <ul><li>Gericom Notebook Pentium IV 2,4&nbsp;GHz</li>
+          <li>256 MB RAM (vermutlich)</li><li>20 GB HDD (?)</li>
+          <li>Windows XP Home Edition</li><li>SuSE Linux 9.0</li></ul>
+        <h2>Änderungen</h2>
+        <p>Wir wollen das Notebook zusätzlich mit Debian Linux Woody
+            einrichten. Die meiste Zeit verbraten wir aber dann damit, seine
+            sehr eigenartig partitionierte Festplatte zu bändigen. 
+            $Eigentümer meint, eine fehlgeschlagene Red-Hat-Installation
+            habe ihm die so zerschossen, besteht aber darauf, die
+            Gesamtinstallation beizubehalten. Ich bin eher für eine
+            komplette Neupartitionierung, aber er will nicht. Also dauert es
+            halt länger.</p>
+        <p>Später am Tag befassen wir uns nochmals mit der
+            Debian-Installation bzw. mit der Frage, wie wir das vorher
+            installierte SuSE-Linux auch wieder booten können. lilo hatte
+            nämlich diese Bootpartition aus uns unbekannten Gründen nicht
+            mit eingebunden. Das Problem löst schließlich ein
+            lilo-erfahrener Mensch, der grade greifbar ist.</p>
+        <p>Einen Tag später versuchen wir uns am Kernelbau. menuconfig für
+            den 2.4er-Kernel hat eine Menge Neuerungen, da muß ich selbst
+            oft erst mal die Hilfe lesen, um zu wissen, ob eine Option für
+            das Gerät sinnvoll ist oder nicht. Als wir schließlich durch
+            sind, gibt es ganz zum Schluß des Compilerlaufs einen Fehler,
+            und ich bin zu müde, um der Sache auf den Grund zu gehen.</p>
+        <p>Nach einer Pause versuchen wir uns nochmal dran. Der Compile
+            läuft problemlos durch, aber danach haben wir entweder eine
+            4fache bunte, unlesbare Textconsole oder eine, die nur
+            schwarz/schwarz kennt. Eingaben werden akzeptiert und
+            ausgeführt, aber arbeiten kann man so natürlich nicht. Ein neuer
+            Versuch bringt uns dann den zweiten „blinden“
+            Kernel, also Textconsole ohne Anzeige. Ich rate zu einer
+            Neuinstallation, mir fällt nichts mehr ein. OK, ich geb's zu,
+            ich hätte den ersten Kernel, den Woody mitgebracht hat, über die
+            /etc/lilo.conf sichern sollen&nbsp;…</p>
+        <h4>Ab jetzt auf Distanz (Telefon und IRC)</h4>
+        <p>$Eigentümer ruft an: Sein Notebook sagt nix mehr. Nach dem
+            Einschalten geht nur die Plattenlampe an, der Bildschirm bleibt
+            dunkel, und er piepst nicht mal. In der folgenden Stunde haben
+            wir mehrere Telefonate deswegen, aber ich kann ihm nichts weiter
+            sagen, als daß er damit wohl zur Werkstatt muß. Wir vermuten,
+            daß sich die CD mit dem Kernel-Source, die ich ihm gebrannt
+            hatte, während des Transports im Laufwerk verkeilt hat.</p>
+        <p>Die CD kann $Eigentümer später rausbasteln; das Boot-Verhalten
+            ändert sich jedoch nicht. Notebook wandert in die Werkstatt.</p>
+        <p>Eine Woche nach dem Einsenden des Notebooks kommt es zurück: Die
+            CPU saß locker. Deshalb hatten wir auch die ganze Zeit über ein
+            heftiges Hitzeproblem mit der Kiste, das wir dadurch umgangen
+            hatten, daß wir CD-Schachteln druntergelegt hatten, um dem
+            Lüfter mehr Luft zu verschaffen.</p>
+        <h4>Telefonsession am nächsten folgenden Sonntag (für irgendwas
+             muß XXL ja gut sein&nbsp;…)</h4>
+        <p>Drei Stunden Telefonat mit dem Eigentümer,  um sein
+            Debian-System zu reparieren. Nachdem eine Kernel-Rekonfiguration
+            schief geht, lasse ich ihn neu installieren. Dabei zerhaut es
+            dann irgendwie den MBR. $Eigentümer steht am Rande einer kernel
+            panic, weil die Kiste nun überhaupt nicht mehr booten will,
+            zunächst mal auch von der DVD nicht. Dann geht das auf einmal
+            wieder, und eine zweite Neuinstallation funktioniert erst mal
+            einwandfrei. Session-Unterbrechung zur Nerven-Erholung.</p>
+        <p>Am selben Abend probieren wir nochmal fast zwei Stunden lang
+            dran herum. Ohne Erfolg, am Ende ist die Debian-Installation
+            wieder kaputt. menuconfig will nicht, weil angeblich ncurses
+            fehlt, obwohl die libncurses5 eindeutig installiert ist. Es
+            fehlt wohl die libncurses5-dev, die er als „broken
+            package“ anzeigt. Ich lasse $Eigentümer die beiden Pakete
+            von einer vorhandenen Knoppix kopieren, aber die Installation
+            schlägt fehl. Danach geht gar nichts mehr, vom vi bis zum
+            shutdown. Installation tot. Feierabend für den Tag.</p>
+      </div><!-- div#content -->
diff --git a/sites/atarifrosch/computer/fremd/alex.py b/sites/atarifrosch/computer/fremd/alex.py
new file mode 100755 (executable)
index 0000000..56e683a
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+######################################################################
+# THIS FILE WAS GENERATED AUTMATICALLY FROM
+# /srv/atarifrosch/computer/fremd/alex.html
+# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM
+# atarifrosch, 2017-04-10 00:34
+######################################################################
+
+
+title = 'Computerumbauten und -reparaturen'
+dctitle = 'Arbeiten an Fremdrechnern: Alex'
+dcreator = 'Sabine Engelhardt'
+dcpublisher = 'Sabine Engelhardt'
+dcdate = '2007-10-03'
+dcrights = 'Sabine Engelhardt'
+headline = 'alex'
+addcssfile = [" type="textcss" >  href="/frosch.css" type="text/css" />", '
diff --git a/sites/atarifrosch/computer/fremd/anne.htm b/sites/atarifrosch/computer/fremd/anne.htm
new file mode 100644 (file)
index 0000000..03b4ec6
--- /dev/null
@@ -0,0 +1,50 @@
+      <div id="content">
+        <p class="center"> Juli 2002 bis Juli 2005</p>
+        <h2>Systembeschreibung</h2>
+        <ul><li>Intel Pentium, 233 MHz, 32&nbsp;MB RAM</li>
+          <li>1,2 GB (?) Harddisk</li>
+          <li>Windows ME</li>
+        </ul><hr />
+        <h4>Juli/August 2002</h4>
+        <p>$Eigentümerin (ansässig in Wuppertal) hat von ihrer Kiste
+            absolut keine Ahnung. Jemand hat ihr einen Druckertreiber mit
+            tausenden von Zusatzprogrammen installiert, und der haut ihr
+            wohl den RAM voll bis zum Anschlag, sodaß die Kiste fast
+            einschläft.</p>
+        <p>Nur noch aus der Erinnerung: Der Drucker war ein Kombi-Gerät
+            Drucker/Fax, ein Billig-Teil vom MediaMarkt. Ein alternativer
+            Treiber war nicht auffindbar, und das Ende vom Lied war, daß
+            $Eigentümerin das Gerät zurückbrachte, weil es an diesem PC
+            nicht benutzbar war.</p><hr />
+        <h4>Februar 2004</h4>
+        <p>$Eigentümerin erzählt mir am Telefon, sie könne kein
+            Online-Banking mehr machen, der Browser sei
+            „retouchiert“. Ich versteh nur Bahnhof und sage zu,
+            mir das mal direkt vor Ort anzusehen. Nun ja. Die
+            Sparkassen-Website machte beim Klick auf Login ein neues
+            IE-Fenster auf, das ca. 200 Pixel weiter rechts und damit ein
+            Stück weit über den sichtbaren Bildschirmbereich hinaus aufging. 
+            Im dann nicht mehr sichtbaren Teil waren die Login-Felder. Sie
+            hätte also nur den Browser-Rand mit der Maus nehmen und das
+            Fenster ein Stück weit nach links schieben müssen. Und dafür
+            fahr ich nach Wuppertal&nbsp;…</p><hr />
+        <h4>März 2004</h4>
+        <p>$Eigentümerin ruft mal wieder an und fragt, ob ich einen NTBA
+            anbringen bzw. ob sie das selbst kann (wie wär's mit
+            Ausprobieren?). Und ob ich einen Cardreader anschließen könnte
+            (Anschlusstyp? Treiber? Keine Ahnung). Beides ist noch nicht vor
+            Ort; sie will sich wieder melden, wenn es soweit ist.</p><hr />
+        <h4>April 2004</h4>
+        <p>$Eigentümerin beleidigt mich am Telefon und darf daher auf meine
+            Hilfe bei der Neueinrichtung ihres Internet-Zugangs
+            verzichten.</p><hr />
+        <h4>Juni 2005</h4>
+        <p>$Eigentümerin kaut mir drei Stunden lang am Telefon ein Ohr ab. 
+            Quintessenz: Ich soll IE6 installieren, weil IE5.5 bei der
+            Verschlüsselungsstärke der Stadtsparkassen nicht mitmacht.
+            Später geänderter Auftrag: Win98SE besorgen, weil ME sowieso nur
+            Probleme macht.</p><hr />
+        <h4>Juli 2005</h4>
+        <p>$Eigentümerin reißt mich morgens um neun aus dem Schlaf, und ich
+            reagiere entsprechend gereizt. Seitdem nix mehr gehört.</p>
+      </div><!-- div#content -->
diff --git a/sites/atarifrosch/computer/fremd/anne.py b/sites/atarifrosch/computer/fremd/anne.py
new file mode 100755 (executable)
index 0000000..19a7ff2
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+######################################################################
+# THIS FILE WAS GENERATED AUTMATICALLY FROM
+# /srv/atarifrosch/computer/fremd/anne.html
+# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM
+# atarifrosch, 2017-04-10 00:34
+######################################################################
+
+
+title = 'Computerumbauten und -reparaturen'
+dctitle = 'Arbeiten an Fremdrechnern: Anne'
+dcreator = 'Sabine Engelhardt'
+dcpublisher = 'Sabine Engelhardt'
+dcdate = '2006-03-16'
+dcrights = 'Sabine Engelhardt'
+headline = 'Anne'
+addcssfile = [" type="textcss" >  href="/frosch.css" type="text/css" />", '
diff --git a/sites/atarifrosch/computer/fremd/dirk.htm b/sites/atarifrosch/computer/fremd/dirk.htm
new file mode 100644 (file)
index 0000000..a2ed906
--- /dev/null
@@ -0,0 +1,71 @@
+      <div id="content">
+        <p class="center"> Dezember 2003/Januar 2004</p>
+        <h2>Compaq-Notebook</h2>
+        <h4>19. Dezember 2003</h4>
+        <p>Schon wieder Windows <em>&lt;seufz&gt;&nbsp;…</em> das heißt,
+            eigentlich das von mir, aber auf $Eigentümers gebraucht
+            gekauftem Notebook. Ursprünglich war ein Win98 drauf, zwar mit
+            Lizenz, aber weder mit Original- noch mit Recovery-CD. Das nach
+            drei Wochen verspätet gelieferte Handbuch war in Englisch, und
+            nicht von Compaq.</p>
+        <p>Die Basisinstallation von NT4 war erst mal kein Problem. Naja,
+            kein wirkliches. Ein wenig seltsam die Plattenaufteilung: Vorn
+            7&nbsp;MB angeblich ungenutzt, dann gut 200&nbsp;MB, die als
+            Systempartition markiert waren, dann erst 5,5 GB Win95-FAT. Ich
+            wußte nicht, was ich von den 7 und den 200&nbsp;MB halten
+            sollte.  Compaq hat immer noch gewisse Eigenheiten bezüglich des
+            BIOS; ein Teil davon steht nämlich auf der Platte, nicht im ROM.
+            Ich hab die beiden Partitionen dann einfach stehen gelassen und
+            den Rest in C: und D: geteilt.</p>
+        <p>Das SP6, das ich von M$ gezogen hatte, wollte er dann allerdings
+            nicht akzeptieren: Falsche Sprache. Die NT4WS ist deutsch, das
+            SP war englisch. Eine CD umsonst gebrannt.</p>
+        <p>Beim nächsten Mal hab ich nicht nur das deutsche SP6, sondern
+            auch gleich noch den passenden Grafikkartentreiber, OpenOffice
+            1.1 und The-Gimp mit runtergezogen und auf eine CD gebrannt. SP6
+            ließ sich genauso brav einspielen wie der Grafiktreiber, nur die
+            OOo-Installation blieb zweimal an verschiedenen Stellen
+            mittendrin stehen. Da es schon auf halb zwölf (abends) zuging,
+            haben wir dann abgebrochen. $Eigentümer hat das Notebook
+            allerdings dagelassen, damit ich evtl. vor Weihnachten noch
+            weitermachen kann. Der nächste Schritt wäre jedenfalls ein
+            RAM-Test und ein nochmaliges Brennen der CD.</p>
+        <p>Völlig hoffnungslos scheint es zu sein, für dieses Notebook
+            einen Modemtreiber zu finden. Ich konnte nicht einmal
+            herausfinden, was für ein Modem das genau ist, nur daß der
+            Hersteller Askey heißt. Auch in verschiedenen CCC-Channeln im
+            IRCNet wußte niemand was davon. Natürlich hat auch keiner die
+            passende Original-Treiber-CD von dem Gerät. Auf einer
+            OpenBSD-Site war nur zu erfahren, daß es ein Winmodem ist, also
+            eines, das die Soundkarte mitbenutzt, weil es keine eigene
+            Tonerzeugung hat.</p><hr />
+        <h4>6. Januar 2004</h4>
+        <p>$Eigentümer ruft an: Er hatte dem Verkäufer eine SMS geschickt,
+            aber natürlich keine Antwort bekommen. Nun soll ich mich nach
+            dem Preis für eine neue Notebook-Festplatte erkundigen. Der
+            Punkt ist, daß es hier nicht nur um die Platte selbst geht,
+            sondern um die beiden Spezial-Partitionen, die ich mit einem
+            fdisk eventuell nicht einfach wieder anlegen kann. Aber er will
+            es trotzdem versuchen, und den Notebook erst zurück geben, wenn
+            es sich als zu viel Frickelei herausstellt.</p><hr />
+        <h4>23. Januar 2004</h4>
+        <p>$Eigentümer holte sein Notebook ab. Bei der Gelegenheit hat er
+            sich von mir noch zwei CDs brennen lassen.</p><hr />
+        <h4>12. Februar 2004</h4>
+        <p>$Eigentümer rief an: Der Verkäufer hat ihm jetzt wohl doch nach
+            längerem Hin und Her eine neue Platte eingebaut; er will mir das
+            Teil bringen, ich soll nochmal testen. Bin mal gespannt, ob der
+            Verkäufer es fertiggebracht hat, die beiden Systempartitionen
+            wieder anzulegen, ohne die der Compaq vermutlich nicht
+            funktionieren wird.</p>
+        <h4>19. Februar 2004</h4>
+        <p>$Eigentümer hat sich noch nicht entschieden, ob er auf dem
+            Notebook OpenOffice (für Windows) haben möchte. Eventuell möchte
+            er es statt dessen auf einen zweiten PC haben, den er
+            mittlerweile erworben hat.</p>
+        <p>67 Seiten Notebook-Handbuch gedruckt, zwei CDs gebrannt,
+            OpenOffice doch noch installiert, einen Druckertreiber auch
+            gleich noch mit dazu. Die serielle Maus, die er dann noch haben
+            wollte, wurde allerdings nicht erkannt. Aus den geplanten
+            10&nbsp;Minuten wurden nochmal drei Stunden.</p>
+      </div><!-- div#content -->
diff --git a/sites/atarifrosch/computer/fremd/dirk.py b/sites/atarifrosch/computer/fremd/dirk.py
new file mode 100755 (executable)
index 0000000..69feba8
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+######################################################################
+# THIS FILE WAS GENERATED AUTMATICALLY FROM
+# /srv/atarifrosch/computer/fremd/dirk.html
+# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM
+# atarifrosch, 2017-04-10 00:34
+######################################################################
+
+
+title = 'Computerumbauten und -reparaturen'
+dctitle = 'Computer-Umbauten und -Reparaturen'
+dcreator = 'Sabine Engelhardt'
+dcpublisher = 'Sabine Engelhardt'
+dcdate = '2006-03-16'
+dcrights = 'Sabine Engelhardt'
+headline = 'dirk'
+addcssfile = [" type="textcss" >  href="/frosch.css" type="text/css" />", '
diff --git a/sites/atarifrosch/computer/fremd/donostia.htm b/sites/atarifrosch/computer/fremd/donostia.htm
new file mode 100644 (file)
index 0000000..56fb280
--- /dev/null
@@ -0,0 +1,159 @@
+      <div id="content">
+        <p class="center"> Februar 2008</p>
+        <h2>Systembeschreibung</h2>
+        <table>
+          <tr><th> Mainboard </th><td> Biostar M6VBE-A, Slot1 <br />
+                   (zuvor: Gigabyte GA-6VXE+ Rev. 4.1) </td></tr>
+          <tr><th> Prozessor </th><td> Intel Pentium III 700E, Coppermine
+            <br /> (zuvor: Pentium III/733 MHz) </td></tr>
+          <tr><th> Chipsatz </th><td> Via VT82C596B </td></tr>
+          <tr><th> Speicher </th><td> 1 x 128 MB Intel, 1 x 128 MB noname
+                   (zuvor: 2 x 128 MB Intel 3.3V) </td></tr>
+          <tr><th> Schnittstellen </th>
+            <td> 2 x seriell, 1 x parallel, 2 x PS/2, 2 x USB </td></tr>
+          <tr><th> Grafik </th><td> ELSA Erazor III LT (nVidia NV5M64 Riva
+                   TNT2 Model 64 Pro Rev. 15) </td></tr>
+          <tr><th> Sound </th><td> ESS Solo1 1938 on board; <br />
+                   Creative Labs SB Live! EMU10k1 Rev. 07 </td></tr>
+          <tr><th> Floppy </th><td> 1 x 3,5&quot; 1,44 MB </td></tr>
+          <tr><th> Festplatten </th>
+            <td> hda: Western Digital Caviar AC24300L, 4,3&nbsp;GB
+                 (zuvor: WDC 20&nbsp;GB) <br />
+                 hdb: Seagate ST340014A, 40&nbsp;GB </td></tr>
+          <tr><th> CD/DVD </th>
+            <td> hdc: LG CRD-8322B, Atapi 32x, 128&nbsp;kB Cache, DMA <br />
+                 hdd: DVD-Rom Samsung SD-608 </td></tr>
+          <tr><th> Netzwerkkarte </th><td> Realtek 8139D </td></tr>
+        </table>
+        <p>Diesen PC warte ich schon seit längerer Zeit, hatte es aber nie
+            geschafft, ihn auch zu dokumentieren. Installiert ist Debian
+            GNU/Linux. Letzte Meldung der Eigentümerin war: „Der macht
+            seltsame Geräusche und geht auch immer wieder mal aus.“
+            Ersteres ordnete ich dem bekanntermaßen verdreckten Netzteil zu,
+            bei letzterem tippte ich aufs Board.</p>
+        <p>Bei zwei Besuchen vor Ort reinigte ich erst das Netzteil, was
+            nicht wirklich half. Nach dem Wiedereinbau wollte es die
+            Laufwerke nicht mehr mit Strom versorgen. Außerdem entdeckte ich
+            auf dem Gigabyte-Board einen aufgeblähten Elko im Bereich der
+            RAM-Steckplätze, und die beiden Elkos neben dem AGP haben auch
+            hochgebogene Deckel. Das Board tauschte ich gegen das Biostar
+            aus meinem Hardware-Lager. Außerdem nahm ich beide Festplatten
+            mit nach Hause und zog Backups; dabei stellte ich fest, daß die
+            Systemplatte der Auslöser der seltsamen Geräusche war (nicht das
+            Netzteil, wie erst vermutet). Smartmon meldete denn auch eine
+            Ladung defekter Sektoren auf dieser Platte.</p>
+        <p>Ich steckte die WDC 4,3&nbsp;GB aus meinem Hardware-Lager als
+            vorläufige Systemplatte ins Gehäuse, damit die defekte Platte
+            raus ist. Die Neuinstallation scheiterte aber zunächst einmal
+            daran, daß der Rechner währenddessen immer wieder an den
+            unterschiedlichsten Stellen rebootete (nicht: ausging). Bei
+            diesem Stand kam der PC zu mir nach Hause.</p><hr />
+        <p class="center"> 20. März 2008</p>
+        <h3>Elko killt RAM?</h3>
+        <p>Ich versuche das nochmal mit dem Installieren, und zwar von der
+            Debian-CD, mit welcher ich kurz vorher bereits
+          <a href="/computer/pc/seemeile.html">seemeile</a> erfolgreich
+            eingerichtet hatte. Die Installationsroutine behauptet
+            mehrfach, sie könne das Grundsystem nicht installieren, weil
+            einzelne Pakete nicht entpackt werden können.</p>
+        <p>Also boote ich die Knoppix 5.1.1 auf memtest. Und siehe da: bei
+            97&nbsp;MB wirft er ganz cool 380 Fehler. Ich ziehe den
+            RAM-Riegel heraus, stecke den zweiten Riegel in den ersten Slot
+            und teste erneut: Fehlerfrei. 128&nbsp;MB sind aber nun ein
+            wenig&nbsp;… wenig. Aus meinem RAM-Vorrat stecke ich zunächst
+            2&nbsp;x Siemens 64&nbsp;MB, die jedoch nicht erkannt werden. Da
+            diese beiden kurz zuvor auf dem Compaq-Board in Wupper-1 auch
+            nicht erkannt wurden, gehe ich davon aus, daß sie defekt sind. 
+            Also grabe ich nochmal in meiner RAM-Schachtel und finde einen
+            einzelnen unbeschrifteten SD-RAM-Riegel. Den steck ich rein und
+            stelle fest, daß es ein 128-MB-Riegel ist, also genau das, was
+            ich brauche. Diesmal läuft der memtest anstandslos durch. Ich
+            gehe also mal davon aus, daß der defekte Elko auf dem
+            Gigabyte-Board den ersten RAM-Riegel beschädigt hat.</p>
+        <p>Die Debian-Basisinstallation läuft danach problemlos durch. Ich
+            installiere alle nötigen Komponenten, aber zum Konfigurieren und
+            Testen ist es mir zu spät. Dafür spiele ich noch das auf meiner
+            großen Platte gelagerte Backup zurück. Erst nach dem Ausschalten
+            merke ich, wie laut die Kiste die ganze Zeit war&nbsp;…</p>
+        <hr />
+        <p class="center"> 21. März 2008</p>
+        <h3>Brenner-Foo</h3>
+        <p>Ursprünglich war in dem PC ein älterer HP-Brenner von mir
+            eingebaut, der aber ob der Tatsache, dort nie benutzt worden zu
+            sein, anscheinend beleidigt war und seinerseits nichts mehr
+            sagte. Das derzeit eingebaute CD-Rom-Laufwerk stammt aus einem
+            älteren AT, der langjährig als Router arbeitete, mittlerweile
+            aber nicht mehr im Einsatz ist. Dieses Laufwerk tausche ich
+            jetzt gegen einen Brenner, der aus dem Chaosdorf in mein
+            Hardware-Lager fand (Mitsumi CR-2801TE, 1x/2x; wodim: indicated
+            writing power:&nbsp;5). Bei der Gelegenheit stelle ich fest, daß
+            das DVD-Rom gar nicht angeschlossen ist – und ich hatte
+            mich schon darüber gewundert, daß es nicht erkannt wurde.</p>
+        <p>Ich erstelle ein test.iso mit 324&nbsp;MB Daten und
+            versuche, es mit wodim zu brennen. Ergebnis:</p>
+        <div class="console">
+          <p>Track 01: 0 of 324 MB written.hdc status error: status=0x58 {
+              DriveReady SeekComplete DataRequest }</p>
+          <p>ide: failed opcode was: unknown</p>
+          <p>hdc: drive not ready for command</p>
+          <p>Errno: 0 (Success), write_g1 scsi sendcmd: no error</p>
+          <p>CDB: 2A 00 00 00 00 1F 00 00 1F 00</p>
+          <p>status: 0x1 (GOOD STATUS) </p>
+          <p>cmd: finished after 0.006s timeout 40s</p>
+          <p>&nbsp;</p>
+          <p>write track data: error after 63488 bytes</p>
+          <p>wodim: A write error occured.</p>
+          <p>wodim: Please properly read the error message above.</p>
+          <p>hdc: status error: status=0x58 { DriveReady SeekComplete
+              DataRequest }</p>
+          <p>ide: failed opcode was: unknown</p>
+          <p>hdc: drive not ready for command</p>
+          <p>Errno: 0 (Success), write_g1 scsi sendcmd: no error</p>
+          <p>CDB: 00 00 00 00 00 00</p>
+          <p>status: 0x1 (GOOD STATUS)</p>
+          <p>cmd finished after 0.001s timeout 40s</p>
+          <p>wodim: faio_wait_on_buffer for writer timed out.</p>
+        </div>
+        <p>Eine Google-Suche nach der letzten Zeile bringt mich in ein
+            Forum, in welchem der
+          <a href="http://unixadmintalk.com/f12/gnomebaker-error-63283/">Fehler
+            behandelt wird</a>. Dort wird dazu geraten (bzw. dort rät der
+            Autor von cdrecord, von dem wodim sozusagen abstammt), mehrfach
+            dazu, doch bitte sein „Original“ zu benutzen. Das
+            Problem des Ursprungsposters wurde damit dann auch gelöst.</p>
+        <p>Zunächst würde ich gern einfach mal wodim beenden. Aber die
+            beiden Prozesse reagieren nicht einmal auf kill&nbsp;-9! In der
+            Prozeßliste werden sie mit Status DL+ bzw. D+ angezeigt, und
+            auf den Brenner greift sichtlich nichts mehr zu. Auch das
+            Abschießen der übergeordneten bash holt die Prozesse nicht aus
+            dem Speicher. Einziger Ausweg: Reboot.</p>
+        <p>Ich ziehe mir zwar noch die Sourcen von cdrecord, aber die
+            Compilationshinweise sind erstmal wüstes Geschimpfe gegen
+            Linuxentwickler, Linux-Distributoren, angeblich fehlerhafte Libs
+            und lauter andere böse Dinge. Außerdem soll ich ein anderes Make
+            benutzen. Das wird mir jetzt erstmal zu umständlich. Der Brenner
+            bleibt also hier, und das ursprüngliche CD-Rom-Laufwerk kommt
+            wieder ins Gehäuse.</p>
+        <h3>Feintuning</h3>
+        <p>alsamixer besteht sturköpfig auf die eingebaute ESS Solo1, bis
+            ich diese im BIOS abschalte. Danach kann ich problemlos auf die
+            gesteckte SB-Live zugreifen.</p>
+        <p>Nach dem Aufruf von iceweasel stelle ich fest, daß ich unter X
+            wieder die gleiche seltsame Tastaturbelegung habe, mit der ich
+            schon in der 64-MB-Version von
+          <a href="/computer/pc/seemeile.html">seemeile</a> zu tun gehabt
+            hatte. Hier habe ich aber kein RAM-Problem, und locales wurden
+            auch korrekt installiert. WTF? – locale stimmt:
+            de_DE@euro, wie während der Installation eingestellt. Ich lasse
+            (als root unter X) locale-gen nochmal laufen – keine
+            Änderung. Neuanmeldung am X: Keine Änderung. Reboot: nichts.</p>
+        <p>OK. Hat es eigentlich eine besondere Bewandtnis damit, daß Xorg
+            bei der Installation trotz vorheriger Spracheinstellung auf
+            deutsch und trotz vorher installierter locales auf
+            US-amerikanisches Tastatur-Layout eingestellt wird?&nbsp;:-/
+          <em class="unprop">dpkg-reconfigure xserver-xorg</em> ist die
+            Lösung. Dabei fällt mir auf, daß (wieder mal) der vesa-Treiber
+            verwendet wurde statt korrekterweise nv. Dann noch xdm
+            abschießen, weil der die Änderung sonst ohne Reboot nicht
+            kapiert, X manuell starten (startx), und schon lüppt's.</p>
+      </div><!-- div#content -->
diff --git a/sites/atarifrosch/computer/fremd/donostia.py b/sites/atarifrosch/computer/fremd/donostia.py
new file mode 100755 (executable)
index 0000000..683a556
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+
+######################################################################
+# THIS FILE WAS GENERATED AUTMATICALLY FROM
+# /srv/atarifrosch/computer/fremd/donostia.html
+# BY preparesite.py FROM htmlglue WITH FILTER AND SETTINGS FROM
+# atarifrosch, 2017-04-10 00:34
+######################################################################
+
+
+title = 'Fremdrechner donostia, PIII/700E'
+dctitle = 'Fremdrechner donostia, PIII/700E'
+dcreator = 'Sabine Engelhardt'
+dcpublisher = 'Sabine Engelhardt'
+dcdate = '2008-03-21'
+dcrights = 'Sabine Engelhardt'
+headline = 'donostia'
+addcssfile = [" type="textcss" >  href="/frosch.css" type="text/css" />", '
diff --git a/sites/atarifrosch/computer/fremd/easyline.htm b/sites/atarifrosch/computer/fremd/easyline.htm
new file mode 100644 (file)
index 0000000..6409cfb
--- /dev/null
@@ -0,0 +1,160 @@
+      <div id="content">
+        <h2>Systembeschreibung</h2>
+        <table>
+          <tr><th> Gehäuse </th><td> Fujitsu Easyline </td></tr>
+          <tr><th> Netzteil </th><td> Fortron/Source FSP145-50NI, 145W </td></tr>
+          <tr><th> Mainboard </th>
+            <td> MS6178 Ver:1.1, Socket PG370 </td></tr>
+          <tr><th> Prozessor </th>
+            <td> Intel Celeron, 500 MHz, 128 kB Cache </td></tr>
+          <tr><th> Chipset </th><td> Intel i810 </td></tr>
+          <tr><th> BIOS </th><td> Award PCI/PNP 686, 1998 </td></tr>
+          <tr><th> Speicher </th>
+            <td> DIMM1: VM vt128MSD16MBPC-7, 128 MB <br />
+                 DIMM2: MT16LSDT1664AG-10EC7, PC100-222-620, 128 MB, Synch,
+                 100&nbsp;MHz, CL2 </td></tr>
+          <tr><th> Schnittstellen </th>
+            <td> intern: 3 x PCI, 1 x unbekannt (sieht aus wie eine Mischung
+                 aus AGP und Mini-PCI), 1&nbsp;x seriell? <br />
+                 extern: 2 x PS/2, 2 x USB, 1 x VGA, 1&nbsp;x seriell,
+                 1&nbsp;x parallel, 1&nbsp;x Gameport, 3&nbsp;x Sound (Spkr,
+                 Line-In, Mic) </td></tr>
+          <tr><th> Grafik </th><td> onboard </td></tr>
+          <tr><th> Festplatten </th>
+            <td> hda: Seagate ST310212A, 10,2 GB <br />
+                 hdb: Samsung SpinPoint SV2042H, 20,4 GB </td></tr>
+          <tr><th> CD/DVD </th>
+            <td> hdc: Samsung CD-Master 48e, Model SC-148 </td></tr>
+          <tr><th> Floppy </th><td> 3,5&quot; 1,44 MB </td></tr>
+          <tr><th> Netzwerk </th>
+            <td> Netgear FA311 Rev-D2, 10/100 mBit/s </td></tr>
+          <tr><th> Sound </th><td> onboard </td></tr>
+        </table><hr />
+        <p class="center"> 8. Februar 2010</p>
+        <h3>„Müffel“</h3>
+        <p>Der Rechner war bei einem kleinen Computerhändler gebraucht
+            besorgt worden, daher konnte mir der Überbringer (der nicht der
+            Eigentümer ist) keinerlei Angaben machen. Also: Aufschrauben.
+            Ganz offensichtlich stand der PC längere Zeit in einem
+            Raucher-Haushalt. Das alte Nikotin müffelt mir sofort entgegen,
+            und das Netzteil sieht heftig verdreckt aus. Bei dem Netzteil
+            handelt es sich um so ein kleines wie im
+          <a href="/computer/pc/fremd/mini.html">mini</a>, aber trotz der
+            starken Verschmutzung hoffe ich, daß ich hier nicht erst ein
+            neues besorgen muß. Peinlich! Der Computerhändler hat es also
+            nicht einmal für nötig gehalten, das Teil mal aufzuschrauben und
+            sauberzumachen.</p>
+        <p>Allerdings muß der PC schon einmal geöffnet worden sein: Die
+            Seagate-Festplatte gehörte wohl ursprünglich nicht ins System. 
+            Den Umbau hat kein Profi gemacht: Teilweise wurden falsche
+            Schrauben verwendet, und einige Schrauben fehlen. Eine der
+            beiden Gehäuseschrauben (zwei fehlen ganz) ist eine
+            Holzschraube, und bei den Geräten wurden teilweise
+            Gehäuseschrauben verwendet.</p>
+        <p>Nachdem das Netzteil wieder einigermaßen sauber ist, reinige ich
+            noch den Lüfter und den Kühlkörper – und stelle überrascht
+            fest, daß die CPU keine richtige Beschriftung hat. Google
+            informiert mich darüber, daß es sich bei dem Prozessor um einen
+            Intel Celeron 500 handeln müßte: Kein P&nbsp;II mehr, aber auch
+            noch kein echter P&nbsp;III, und mit wenig Cache. Das könnte für
+            die vorgesehenen Aufgaben teilweise eng werden.</p>
+        <p>Den Kühlkörper des Prozessors bekomme ich mit Pinsel und
+            Staubsauger nicht richtig sauber, deshalb bekommt er dann doch
+            mal eine Wasserdusche.</p><hr />
+        <p class="center"> 10. Februar 2010</p>
+        <p>Vor dem Zusammenschrauben schau ich noch die
+            Onboard-Schnittstellen nach und stelle fest: Das sind arg wenige.
+            Offenbar handelt es sich um ein