O2 Memory Project

Inzwischen ist die heiße Phase vorbei, dafür sieht man das Ganze nun in seiner Vollständigkeit. Sicherlich ist der Leser nun geneigt, nach dem Inhalt dieses ominösen O2 Memory Projects zu fragen.

Nun.

Das Leben in unseren Städten rauscht an uns allen vorbei, ohne dass das Alltägliche, das ja doch den größten Teil unserer Wahrnehmung bestimmt, jemals in die Annalen Einzug halten könnte. Das Leben der Stadt wird wurde bisher nicht dokumentiert. Jason Bruges hat sich dieses Themas angenommen und ein Cyclorama erschaffen, das eben dieses Leben dokumentiert.

Es besteht aus einem begehbaren Zylinder, der verschiedene britische Städte dokumentiert, indem er minütlich elf Bilder von den Kameras an seiner Außenwand schießt und diese sowohl in seinem Inneren als auch auf der Projektwebsite verfügbar macht. Beide – das Zylinderinnere und die Webseite – haben nette Gimmicks. So befinden sich im Zylinder Displays, die einen Blick auf das ermöglichen, was die Kamera an der anderen Seite der Wand gesehen hat. Nähert man sich dem jeweiligen Schirm, so reist man in die Vergangenheit. Bleibt man stehen und geht einmal im Kreis, so sieht man, welche Bilder die anderen Kameras just in diesem Moment aufgenommen haben. Die Webseite nun ermöglicht es einerseits, durch eben diese fotografierten Ringe – Zylinder! – zu scrollen; andererseits bietet sie die Möglichkeit, mittels Webcam eigene Ringe zu erstellen, die dann sowohl auf der Webseite als auch via Facebook sichtbar sein können.

Wie üblich bestand unsere Aufgabe im wenig Sichtbaren, aber Wesentlichen: Wir durften die Server einrichten. Nun, es ist ein Failoversystem bestehend aus zwei Athlon 64 X2 5600+ bestückt mit jeweils 4GB RAM und natürlich auch einem Gigabitanschluß. Dort spielten wir ein gehärtetes gentoo Linux auf und konnten schlussendlich noch die Performance von Webserver und Datenbank ein wenig optimieren.

Links:

Bilder:

Zunächst der Zylinder selbst…

Der Zylinder

… ein kurzer Blick ins Innere…

Im Cyclorama

… und schlussendlich die Silhouette, in der der Zylinder seine Umgebung «filmt»

Die Umgebung

Posted in allgemein | Tagged , | 2 Comments

icecast and awstats

Not much has yet been written about this topic and it really is no big deal but some sentences more would have made me feel more secure. Therefore, I tell what to do.

  1. We need icecast and awstats (definitely) and a webserver.
  2. Create your awstats-file and edit it as you like.
  3. Icecast’s way of logging is very much the same as apache, so the only thing to do is to say LogType=S

Notice:

  • Pages and Hits are the same in many statistics, so you do not need to show both in the timeline-stats (monthly/weekly/daily/hourly), hosts and origin tables.
  • As there are several tables just showing hits, I suggest to drop the pages columns
Posted in howto, Linux, Software | Tagged , , , | 1 Comment

gentoo and kde4

As it is written in the package information, KDE4 still is masked. Those who cannot wait (like us) have to face a long and struggling road. To ease things up a little bit, we hacked some shell-aid. Like this:

while [ `emerge kde-base/kde-meta:kde-4 -vp | grep -c "masked by:"` != "0" ]; do _THING=`emerge kde-base/kde-meta:kde-4 -vp | grep -m1 “masked by:” | awk ‘{print $2}’`; echo “$_THING”; echo “=$_THING” >> /etc/portage/package.keywords ;echo “=$_THING” >> /etc/portage/package.unmask; done

to be continued…

Somewhere, the compile process hangs during a package of kde-base-meta. We’re giving kde4 up for the moment, as it disturbs the whole system. (Actually it forced us to remove qt3 which is necessary for kde3 – the kfilepicker for instance.) Seems like we really should wait for a stable gentoo version. Doh!

Posted in howto, Linux, Software | Tagged , | 1 Comment

lighttpd and awstats

There are lots of howtos for running awstats with lighthttpd. Nearly all of them define a subdomain for statistics but miss to add the only line for defaulting to awstats.pl. Here is what you have to do to do it the common way $HOST/awstats:

  1. open /etc/lighttpd/lighttpd.conf
  2. uncomment mod_cgi.conf
  3. add the following for a single host (don’t forget to change www.example.com as well as the path to awstats) or adopt it to your needs with mod_evhost:

# {{{ awstats.
$HTTP["host"] =~ “www.example.com” {
alias.url = (
“/awstats/icons” => “/usr/share/webapps/awstats/6.5-r1/htdocs/icon/”,
“/awstats/classes” => “/usr/share/webapps/awstats/6.5-r1/htdocs/classes/”,
“/awstats/css” => “/usr/share/webapps/awstats/6.5-r1/htdocs/css/”,
“/awstats.pl” => “/usr/share/webapps/awstats/6.5-r1/hostroot/cgi-bin/awstats.pl”,
“/awstats” => “/usr/share/webapps/awstats/6.5-r1/hostroot/cgi-bin/awstats.pl”)
cgi.assign = ( “.pl” => “/usr/bin/perl”, “.cgi” => “/usr/bin/perl” )
}
# }}}

Posted in howto, Linux, Webserver | Tagged , , , | Leave a comment

bringing awstats and mod_vhost_alias together

<!– @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } H1 { margin-bottom: 0.21cm } H1.western { font-family: “Albany”; font-size: 16pt } H1.cjk { font-family: “HG Mincho Light J”; font-size: 16pt } H1.ctl { font-family: “Lucidasans”; font-size: 16pt } –>

Perhaps you know the situation: You’re happy not having to add the same six lines to your httpd.conf because you got mod_vhost_alias to work. You feel fine, the sun’s shining, birds are singing, the full monty. Everything seems quite usual except one thing: your awstats are going to burst your system on each run. The more often you cronjob them, the sooner you’ll know about it. Now you realise that letting awstats_updateall parse your 300 MB daily all-in-one-access.log several dozen times per day might not be such a good idea. :-) So you’re looking for a suitable solution. Great. This is why you’re here.

You’ll find the script underneath this little howto, but I would suggest to read it before running the script.

 

The situation

We have a mixed environment consisting of mass vhosts, SSL- and Tomcat hosts. Therefore, we have two different kinds of logfiles: A huge all-in-one for the mass vhosts and several vhost-based files. As a result, we’ll have to change every awstats.$HOST.conf to fit into our new situation. Nevertheless, all awstats hosts parse the same big log file.

Solution I

Let awstats parse the All-in-one-logfile n times. Possible but somewhat brutal.

Solution II

You just could use split-logfile. Great! Just change your CommonLog’s format to vhost and adapt the awstats configs accordingly. But if you do the nasty tweaky stuff offered by mod_rewrite, you’ll miss all the host aliases (formerly noted via ServerAlias).

Solution III

Use my script. :-)

Here is what’s you’ll have to do:

  1. Download the script (I suggest to save it in one of the sbin folders)

  2. chmod +x awstats_manager.sh

  3. edit it with your preferred editor and change the variables to your needs. Keep $TEMPDIR‘s value in mind

  4. backup your awstats configs (mv $awstatsdir $awstatsdir.orig)

  5. now fill in the SiteDomain,HostAliases and the LogFile

    The latter one has to have the following syntax: $TEMPDIR/merged/$SiteDomain.log as awstats will find its freshmade configs there

    If you already have a bunch of mass hosts and don’t want to change them manually, change awstats.model.conf and run the following:

      newlog=/tmp/apache2/merged/;for file in awstats.www*; do cp awstats.model.conf $file; echo “SiteDomain=\”`echo $file | sed -e ‘s/^awstats.//g;s/.conf$//g’`\”" >> $file; echo “HostAliases=\”REGEX[`echo $file | sed -e 's/^awstats.www.//g;s/.conf$//g'`]\”" >> $file; echo “LogFile=\”$newlog`echo $file | sed -e ‘s/awstats.//g;s/conf$/log/g’`\”" >> $file; done

    This will do the following: newlog is the name of your new logfile, SiteDomain will be the domain name included in theawstats file name and HostAliases will be just the domain.
    Here’s an example:
    awstats.www.example.com.conf will set SiteDomain to www.example.com, HostAliases to REGEX[example.com] and Logfile to /tmp/apache2/merged/www.example.com.log

  6. Done? Great. Now add awstats_manager.sh to your cron and you’re done: ln -s /path/to/ awstats_manager.sh /etc/cron.daily/

Now you know what you have to do, you should know what the script does….

  1. create the temporary directories and chmod them 0700

  2. copy the big log file and split it

  3. create a list of awstats configs which get their input from logfiles in this temporary directory

  4. fetch SiteDomain and HostAliases for each of the files

  5. check for empty entries and duplicates

  6. extract what is regularly expressed

  7. find the corresponding log files (if they exist)

  8. run logrotatemerge.pl with all of the found log files

  9. run awstats -update for the corresponding host

  10. afterwards find all the other awstats hosts and update them as well

  11. clean up

Thats’s all. Have a lot of fun! Comments are welcome.

Download: awstats_manager.sh

Posted in howto, Linux, Software, Webserver | Tagged , , | Leave a comment

vandalsquad II

Nach einem Serverumzug im letzten Sommer hat sich der Traffic zwischen Januar und Dezember letzten Jahres mehr als verdoppelt. Was ein zweiter Kern so alles ausmachen kann… Inzwischen wurde auch die Terrabyte-Grenze mehrfach deutlich überschritten. Zwar wird dann die Bandbreite gedrosselt, aber das scheint keine Auswirkungen zu haben – im Gegenteil: Es geht einfach unverändert bergauf. Hatten wir im Januar letzten Jahres täglich etwa 17 Gigabytes versendet, so sind es jetzt 37. Wir haben ausgerechnet, dass das etwa 450 kByte pro Sekunde entspricht. Das muss man sich erstmal vorstellen: Da fließen ununterbrochen 450 kB/s durch die Gegend!
Nun, Zahlenspiele sind das Eine, aber Videos der Community sind doch viel besser. :-) Inzwischen liegen bei youtube an die 400 Filmchen, Tendenz steigend.

Posted in Linux, Webserver | Tagged | Comments Off

ATI SB600 and gentoo

I managed to build a working kernel for ATI’s SB600 chipset under gentoo 2007.0 hardened. I tried to use =sys-kernel/gentoo-sources-2.6.23-r3 but the bloody thing wouldn’t boot. So I emerged =sys-kernel/vanilla-sources-2.6.24_rc7 and everything worked just fine.

Here I read that there are two problems with this chipset, one hardware-relevant (thank you, ATI) and a kernel-bug. The latter one has been fixed in 2.6.22-rc2. Nevertheless, =sys-kernel/gentoo-sources-2.6.23-r3 seemed not to work.

I attached my config.gz. Below, you’ll find what lspci found.

00:00.0 Host bridge: ATI Technologies Inc Unknown device 7910
00:01.0 PCI bridge: ATI Technologies Inc Unknown device 7912
00:07.0 PCI bridge: ATI Technologies Inc Unknown device 7917
00:12.0 SATA controller: ATI Technologies Inc SB600 Non-Raid-5 SATA
00:13.0 USB Controller: ATI Technologies Inc SB600 USB (OHCI0)
00:13.1 USB Controller: ATI Technologies Inc SB600 USB (OHCI1)
00:13.2 USB Controller: ATI Technologies Inc SB600 USB (OHCI2)
00:13.3 USB Controller: ATI Technologies Inc SB600 USB (OHCI3)
00:13.4 USB Controller: ATI Technologies Inc SB600 USB (OHCI4)
00:13.5 USB Controller: ATI Technologies Inc SB600 USB Controller (EHCI)
00:14.0 SMBus: ATI Technologies Inc SB600 SMBus (rev 14)
00:14.1 IDE interface: ATI Technologies Inc SB600 IDE
00:14.3 ISA bridge: ATI Technologies Inc SB600 PCI to LPC Bridge
00:14.4 PCI bridge: ATI Technologies Inc SB600 PCI to PCI Bridge
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:05.0 VGA compatible controller: ATI Technologies Inc Radeon X1200 Series
01:05.2 Audio device: ATI Technologies Inc Radeon X1200 Series Audio Controller
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)

Posted in howto, Linux | Tagged , | Comments Off

some aid in writing web-based scientific papers

You know the scene: you’re just about to write a paper which refers to some websites and three weeks later you get bugged by someone saying that the referenced page doesn’t exist any more. There are some ways to handle the situation: you could save the page as HTML or make a screenshot, but that’s not that cool. Think of managing your sources, of linking them into the paper. Sounds pretty time-consuming, doesn’t it? Seems like you’re doomed to manual managing web-sources and in-paper-sources? Definitely not! There’s help around. Zotero is a firefox plugin which does exactly that job for you. Manage links for offline use? No problem, just choose your output format. Manage them for in-paper use? Just say which tool you use and it’s going to export the information into your preferred format. And: it is free! Heaven on earth, you say? Perhaps…

Posted in Software, Verschiedenes | Leave a comment

vandalsquad

Seit einiger Zeit betreuen wir das nichtkommerzielle Vandalsquad-Projekt. Mehrere tausend Benutzer auf der ganzen Welt gehen hier ihrer Lieblingsbeschäftigung nach: sprayen. Aber anstatt den Groll der ordnungsliebenden Mitbürger auf sich zu ziehen, werden hier Denkmäler und U-Bahnen virtuell verschönert.
Ein Blick auf die Statistiken verrät nicht nur den üblichen Spaß von Häufigkeit und Uhrzeit der Zugriffe, sondern auch die Art der verwendeten Betriebssysteme und Browser. Plötzlich überkommt den gelangtweilten Admin das kalte Grauen… Längst tot geglaubte Veteranen überfluten die Listen regelrecht… Wer hätte denn gedacht, dass es noch immer hartgesottene Windows-3.x-Benutzer gibt? Oder, dass es das AmigaOS je in solch ein Ranking schaffen würde? Und was bitte ist Netscape 0.6? Vielleicht kann man ja mal Screenshots erfragen….

Links:

Posted in Verschiedenes | Tagged , | Leave a comment