You are hereLinux

Linux


NAS

dmesg
[165247.112049] usb 2-5: new high speed USB device number 7 using ehci_hcd
[165247.245675] scsi10 : usb-storage 2-5:1.0
[165248.244650] scsi 10:0:0:0: Direct-Access     ST312002 6AS                   PQ: 0 ANSI: 2 CCS
[165248.272517] sd 10:0:0:0: Attached scsi generic sg10 type 0
[165248.273006] sd 10:0:0:0: [sdh] 234441648 512-byte logical blocks: (120 GB/111 GiB)
[165248.275218] sd 10:0:0:0: [sdh] Write Protect is off
[165248.275224] sd 10:0:0:0: [sdh] Mode Sense: 28 00 00 00
[165248.276099] sd 10:0:0:0: [sdh] No Caching mode page present
[165248.276104] sd 10:0:0:0: [sdh] Assuming drive cache: write through
[165248.278758] sd 10:0:0:0: [sdh] No Caching mode page present
[165248.278763] sd 10:0:0:0: [sdh] Assuming drive cache: write through
[165248.298543]  sdh: sdh1 sdh2
[165248.301135] sd 10:0:0:0: [sdh] No Caching mode page present
[165248.301139] sd 10:0:0:0: [sdh] Assuming drive cache: write through
[165248.301142] sd 10:0:0:0: [sdh] Attached SCSI disk
amedee@amedee-Aspire-M3800:~$ sudo smartctl -A /dev/sdh
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.0.0-16-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   061   051   006    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0003   097   096   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       1
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   078   060   030    Pre-fail  Always       -       67276141
  9 Power_On_Hours          0x0032   077   077   000    Old_age   Always       -       20753
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   083   083   020    Old_age   Always       -       17524
194 Temperature_Celsius     0x0022   053   057   000    Old_age   Always       -       53
195 Hardware_ECC_Recovered  0x001a   061   051   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0000   100   253   000    Old_age   Offline      -       0
202 Data_Address_Mark_Errs  0x0032   100   253   000    Old_age   Always       -       0

sudo st -l
Drive information:

/dev/sg0 ATA      Hitachi HDT72101 ST6O 1953525167 blocks
/dev/sg7 WD       My Book 1110     2003 -389310465 blocks
/dev/sg10 WDC WD20 00JD-00HBB0       390721967 blocks

sudo sh -c "time st -t 100 /dev/sg10; time st -T 100 /dev/sg10; time badblocks -nvs -o badblocks-n.txt /dev/sdh; time badblocks -wvs -o badblocks-w.txt /dev/sdh"
Drive /dev/sg10 does not support DST - generic short test will be run
Starting 100 % Generic Short Test on drive /dev/sg10 (^C will abort test)
        -Starting 30 second sequential reads from block 0 on drive /dev/sg10
        -Starting 30 second sequential reads to end of disk on drive /dev/sg10
        -Starting 30 second random reads on drive /dev/sg10
        -Starting 30 second random seeks on drive /dev/sg10
Generic Short Test PASSED on drive /dev/sg10
0.00user 2.05system 1:58.22elapsed 1%CPU (0avgtext+0avgdata 2448maxresident)k
0inputs+40outputs (0major+206minor)pagefaults 0swaps
Drive /dev/sg10 does not support DST - generic long test will be run
Starting generic long (full sequential verify) test (234441647 blocks) on drive /dev/sg10 (^C will abort test)
        Sequential Test 5 % complete on drive /dev/sg10
        Sequential Test 10 % complete on drive /dev/sg10
        Sequential Test 15 % complete on drive /dev/sg10
        Sequential Test 20 % complete on drive /dev/sg10
        Sequential Test 25 % complete on drive /dev/sg10
        Sequential Test 30 % complete on drive /dev/sg10
        Sequential Test 35 % complete on drive /dev/sg10
        Sequential Test 40 % complete on drive /dev/sg10
        Sequential Test 45 % complete on drive /dev/sg10
        Sequential Test 50 % complete on drive /dev/sg10
        Sequential Test 55 % complete on drive /dev/sg10
        Sequential Test 60 % complete on drive /dev/sg10
        Sequential Test 65 % complete on drive /dev/sg10
        Sequential Test 70 % complete on drive /dev/sg10
        Sequential Test 75 % complete on drive /dev/sg10
        Sequential Test 80 % complete on drive /dev/sg10
        Sequential Test 85 % complete on drive /dev/sg10
        Sequential Test 90 % complete on drive /dev/sg10
        Sequential Test 95 % complete on drive /dev/sg10
Generic Long Test PASSED on drive /dev/sg10
0.92user 7.10system 1:00:21elapsed 0%CPU (0avgtext+0avgdata 2416maxresident)k
0inputs+8outputs (0major+201minor)pagefaults 0swaps
Checking for bad blocks in non-destructive read-write mode
From block 0 to 117220823
Checking for bad blocks (non-destructive read-write test)
Testing with random pattern: done                                
Pass completed, 0 bad blocks found.
314.29user 189.31system 6:03:43elapsed 2%CPU (0avgtext+0avgdata 4656maxresident)k
468883344inputs+468883296outputs (1major+373minor)pagefaults 0swaps
Checking for bad blocks in read-write mode
From block 0 to 117220823
Testing with pattern 0xaa: done                                
Reading and comparing: done                                
Testing with pattern 0x55: done                                
Reading and comparing: done                                
Testing with pattern 0xff: done                                
Reading and comparing: done                                
Testing with pattern 0x00: done                                
Reading and comparing: done                                
Pass completed, 0 bad blocks found.
1177.04user 375.63system 8:56:29elapsed 4%CPU (0avgtext+0avgdata 4112maxresident)k
937766592inputs+937766592outputs (0major+355minor)pagefaults 0swaps
ls -al badblocks-*
-rw-r--r-- 1 root root 0 2012-04-18 01:14 badblocks-n.txt
-rw-r--r-- 1 root root 0 2012-04-18 07:18 badblocks-w.txt

De Zwaarste Lijst 2012 downloaden met bash

Naar jaarlijkste traditie trakteerde Alex Agnew de Studio Brussel luisteraars op De Zwaarste Lijst. En naar ondertussen al even jaarlijkse traditie geef ik even de bash commando's om de zware gitaren te downloaden en samen te voegen naar één mp3.

Dit jaar helaas had men bij Studio Brussel het geniale idee om de naamgeving van de files een klein beetje te veranderen. Waar er vroeger alleen een volgnummer was, zit er nu ook de naam van het eerste en laatste nummer van dat uur in. Meh.

Van de vorige keren weet ik nog dat de mp3's gehost staan op de server od.mp3.streampower.be. Ik gebruikte:

Alles tesamen is dat (te copypasten voor uw gemak):

wget -bq `curl -s http://www.stubru.be/programmas/dezwaarsteshow/dezwaarstelijst2012 | grep mp3\.streampower | sed 's/.* \"//' | sed 's/\",.*//'`

Om samen te voegen naar 1 mp3:

ffmpeg -i "concat:41_120409_zwaarste_1-snip_hi.mp3|41_120409_zwaarste_2_Slipknot_-_Rammstein-snip_hi.mp3|41_120409_zwaarste_3_ACDC_korn-snip_hi.mp3|41_120409_zwaarste_4_sepultura_Metallica-snip_hi.mp3|41_120409_zwaarste_5_pantera_metall-snip_hi.mp3|41_120409_zwaarste_6_machine_head__metallica-snip_hi.mp3" -acodec copy DeZwaarsteLijst2012.mp3

Getest op Debian en op een MacBook Air met MacPorts geïnstalleerd (voor wget en ffmpeg). Windows users: sorry.

Een bug die maar niet gefixt geraakt

Aantal dagen sinds bug #32415 gemeld werd

Nog enkele maanden en er is een Ubuntu bug die 6 jaar oud is.
Ondanks de beschrijving, gaat het niet alleen om Apple Bluetooth keyboards, maar ook om Logitech MX900, MX5000, MX1000, Lenovo bluetooth,... Ik vermoed dat die keyboards en muizen allemaal dezelfde bluetooth dongle gebruiken.

En kom nu niet af dat het allemaal de schuld is van hardwarefabrikanten, want in Opensuse werkt dit wél zoals het hoort.

Ik vind dat erg. 6 jaar staat die bug open, users zitten daar logs te dumpen tot en met, en geen enkele developer die er naar omkijkt. En als er dan één user is die een extreem gecompliceerde workaround beschrijft (die zelfs niet voor iedereen werkt!), dan wordt de bug koudweg afgesloten.

Een mens zou voor minder overschakelen naar Apple of Microsoft.

Btrfs: het verdict

Btrfs is mooi op papier. Héél mooi. Copy-on-write. Snapshots. Vóór iedere apt-get upgrade automatisch een snapshot met apt-btrfs-snapshot. Geen zorgen meer over partities. Online devices verwijderen en weer toevoegen, een beetje zoals bij een Drobo, maar dan Free Software.

Echt waar, btrfs is fun.

MAAR!!!

Dan stel je plots vast dat je pc er 7 minuten over doet om te booten, in plaats van de gebruikelijke 20 seconden. Ik herhaal: ZE-VEN MI-NU-TEN. Bleek dat er een paar btrfs snapshots corrupt waren, en dat fsck.btrfs ze probeerde te herstellen bij het booten. Normaal is dat geen probleem, ware het niet dat fsck.btrfs nog niet af is en alleen read-only werkt. Fouten worden dus niet hersteld, bijgevolg gebeurt die fsck bij iedere reboot opnieuw.

Ik ben geen data kwijt, maar ik heb toch maar alles ge-rsync-t naar een externe schijf, de btrfs partitie geformatteerd naar ext4, en terug ge-rsync-t. Daarna bootte de pc terug onder de 20 seconden.

Btrfs gaat in de koelkast tot ze een deftige fsck hebben.

Zucht. Ik had beter moeten weten.

Weg met Unity, leve Gnome Shell!

Ik krijg het op mijn heupen van Unity, de nieuwe desktop van Ubuntu. Zodus:

sudo apt-get install gnome-shell gnome-theme* gnome-sushi gnome-contacts gnome-tweak-tool
sudo /usr/lib/lightdm/lightdm-set-defaults -s gnome-shell

Nah! Wink Nose

PS: Als ik een desktop wil zonder toeters en bellen, dan zal ik wel CTRL+ALT+F1 doen.

Audio troubleshooting na suspend/hibernate

(ter referentie voor mezelf)

Ik heb 2 audio outputs op mijn pc:

  • Internal Audio Analog Stereo
  • Logitech G30 Headset Digital Stereo (IEC958)

Na suspend werkte de Logitech headset niet meer. De oplossing heb ik gevonden op https://help.ubuntu.com/community/SoundTroubleshooting. Wanneer de pc uit suspend of hibernate komt, worden de scripts in /etc/pm/sleep.d/ uitgevoerd. Om audio opnieuw te laten werken, moet er een script aangemaakt worden om de pc te vertellen dat alsa herstart moet worden wanneer de pc uit suspend of hibernate komt.

sudo nano /etc/pm/sleep.d/50alsa
case "$1" in
        hibernate|suspend)
                # Stopping is not required
                ;;
        thaw|resume)
                /sbin/alsa force-reload
                ;;
        *) exit $NA
                ;;
esac

Maak het script uitvoerbaar:

sudo chmod +x /etc/pm/sleep.d/50alsa

Wuala

Ondertussen heeft iedereen al lang een Dropbox account. Indien niet: hier is een referral link, 2 GB storage in de cloud voor u en 250 MB extra voor mij: http://db.tt/AdWPVma.

De laatste tijd is er een en ander te doen over Dropbox, dat het by design niet zo veilig zou zijn, en dat Dropbox werknemers toegang hebben tot je bestanden. Ik wil al de argumenten voor en tegen hier niet oprakelen, maar omdat het sowieso geen goed idee is om alle eieren in één mandje te leggen, ben ik eens gaan rondkijken naar alternatieven.

Het Zwitserse Wuala, van hardeschijvenfabrikant LaCie, is zo'n alternatief. Er zijn nog *tig andere storage-in-the-cloud oplossingen zoals Sparkleshare (git-based, draait op uw eigen server(s)), Sugarsync (geen Linux support),... en de djoef van de week gaat naar de eerste commentator die er nog een paar andere opsomt. Nose Smile

Voor mij zijn dit de belangrijkste gelijkenissen en verschilpunten tussen Wuala en Dropbox:

  • Wuala claimt dat je bestanden versleuteld worden vóór ze naar hun systeem gaan. Bijgevolg kan het personeel van Wuala jouw bestanden nooit lezen. Dit in tegenstelling tot Dropbox, waar alleen de verbinding versleuteld is.
  • Beiden starten ze met een beperkte gratis ruimte (Dropbox 2GB, Wuala 1GB) die je kan uitbreiden door te betalen of via referrals. Bij deze geef ik mijn referral link voor Wuala:
    http://www.wuala.com/referral/BH73565NBBPN6CJCJF5M
  • Daarnaast kun je bij Wuala extra storage verdienen door te ruilen met andere Wuala-users, in een Wuala-cloud. Daarover later meer.
    Je kan het een beetje vergelijken met het uitwisselen van backupruimte met Crashplan.
    Je pc moet dan wel minstens 4 uur per dag aan staan en goed bereikbaar zijn. Een correcte router- en proxy-configuratie zijn dan noodzakelijk.
  • LaCie is het moederbedrijf van Wuala, dus als je een LaCie harde schijf koopt, dan zit daar tegenwoordig een code bij voor extra Wuala-storage.
  • Aangezien Dropbox zogezegd minder secure is dan Wuala, zou je de twee voor verschillende zaken kunnen gebruiken. Ik ga bijvoorbeeld mijn ebooks in Dropbox steken en mijn timesheets in Wuala. Mijn portable apps blijven voorlopig ook nog in Dropbox, zie blogpost: http://amedee.be/dropbox-portableapps-cloud-computing-ftw
  • Dropbox en Wuala werken allebei op Windows, Mac, Linux, headless Linux (servers yay!), Android.
    EDIT: Hans van Gent maakte er mij attent op dat Wuala ook compatibel is met iOS. Blijkbaar is iOS iets anders dan Mac. Tongue

De extra storage die je kan verdienen, wordt in principe berekend op basis van de gedeelde ruimte en hoe lang de pc online is. Bijvoorbeeld als je 10 GB aan de Wuala-cloud schenkt, en je pc staat 8 uur per dag aan, dan heb je 10 GB * 33% = 3,3 GB extra. De storage die je ter beschikking stelt, moet niet noodzakelijk allemaal op één pc zijn: de gedeelde storage wordt opgeteld. Bijvoorbeeld 10 GB 40% online en 20 GB 50% online geeft samen 14 GB extra. Wanneer je meer dan 20 GB deelt, wordt er ook rekening gehouden met hoeveel storage je effectief verbruikt.
Stel dat je een onderbenutte server hebt ergens in een datacenter, dan kan Wuala daar 24/7 op draaien. Als dat een Debian server is, dan vind je hier de installatie en een init script:

e-id werkt alweer niet

Het is weer die tijd van het jaar: de belastingsbrief moet ingevuld worden. En zoals gebruikelijk, zal ik weer een hele tijd zitten knoeien tot er niets anders op zit dan mijn e-id-lezer de allerlaatste dag mee te nemen naar mijn werk en op mijn werk-pc (met Windows XP) het nodige te doen. Meh.

Als er iemand mij uit de nood kan helpen: smijt het in de comments aub!
Ik heb:

Wanneer ik mijn e-id-lezer (ACR38U-CFC-ZET) inplug in een usb-poort, dan gaat de groene led knipperen met een frequentie van 1/seconde. Dat lijkt me in orde.

dmesg toont mij het volgende:

[ 3233.000038] usb 7-2: new full speed USB device using uhci_hcd and address 5
[ 3233.450040] usb 8-1: new low speed USB device using uhci_hcd and address 23
[ 3233.700031] usb 8-1: new low speed USB device using uhci_hcd and address 24
[ 3233.830032] usb 8-1: device descriptor read/64, error -71
[ 3234.190043] usb 8-1: new low speed USB device using uhci_hcd and address 25
[ 3234.610041] usb 8-1: device not accepting address 25, error -71
[ 3234.730030] usb 8-1: new low speed USB device using uhci_hcd and address 26
[ 3235.150037] usb 8-1: device not accepting address 26, error -71
[ 3235.150058] hub 8-0:1.0: unable to enumerate USB device on port 1

Lijkt me niet ok. De kaartlezer is nochtans aangesloten volgens lsusb:

Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 005: ID 072f:9000 Advanced Card Systems, Ltd ACR38 AC1038-based Smart Card Reader
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 003: ID 04ca:002f Lite-On Technology Corp.
Bus 005 Device 002: ID 046d:c054 Logitech, Inc.
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 046d:0a1f Logitech, Inc.
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 1307:0330 Transcend Information, Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 045e:0728 Microsoft Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

En de e-id-viewer vraagt om een kaartlezer aan te sluiten:

't Werkt dus niet...

Post-Debian upgrade

Te fixen probleempjes na een Debian upgrade, voornamelijk als bookmark voor mezelf.

  • Restanten van MySQL 5.0 verwijderen + phpMyAdmin deed wat raar:
    sudo apt-get remove mysql-server-5.0
    sudo apt-get purge phpmyadmin
    sudo apt-get install phpmyadmin
  • SpamBayes spuwde een lelijke error:
    Traceback (most recent call last):
      File "/usr/bin/sb_filter.py", line 4, in <module>
        import pkg_resources
      File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 2671, in
    <module>
        working_set.require(__requires__)
      File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 654, in
    require
        needed = self.resolve(parse_requirements(requirements))
      File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 552, in
    resolve
        raise DistributionNotFound(req)
    pkg_resources.DistributionNotFound: spambayes==1.1a6

    De oorzaak was een versiesprong van Python. Debian Lenny had 2.4, Debian Squeeze heeft 2.6.6.
    Oplossing: Spambayes 1.1a6 opnieuw downloaden van SourceForge, uitpakken, en installeren met:
    sudo python setup.py install

    Todo: blijkbaar is er al een versie 1.1b1 van SpamBayes
  • Ik had backup2l gepatcht, deze patchen waren weg door de upgrade. Door wat creatiever om te springen met find, zijn de patchen zelfs niet meer nodig.
    Dit is nu mijn nieuwe /etc/backup2l.conf (commentaren en lege lijnen weggelaten):
    FOR_VERSION=1.5
    VOLNAME="all"
    SRCLIST=(/bin /etc /home /lib /opt /root /sbin /srv /usr /var
                  -path '/home/amedee/download'    -prune
               -o -path '/home/backup/crashplan'   -prune
               -o -path '/home/backup/intrepid'    -prune
               -o -path '/home/*/Maildir'          -prune
               -o -path '*/home/*/Maildir/*.Trash' -prune
               -o -path '/lib/modules'             -prune
               -o -path '*lost+found'              -prune
               -o -path '*.nobackup*'              -prune
               -o -path '/usr/include'             -prune
               -o -path '/usr/share/zoneinfo'      -prune
               -o -path '/var/cache'               -prune
               -o -path '/var/lib/apt'             -prune
               -o -path '/var/lib/dpkg'            -prune
               -o -path '/var/lib/mysql'           -prune
               -o -path '/var/lock'                -prune
               -o -path '/var/log/apache2'         -prune
               -o -path '/var/mail'                -prune
               -o -path '/var/tmp'                 -prune
               -o -path '/var/run'                 -prune
               -o -path '/var/spool'               -prune
               -o -path '/var/www/squirrelmail'    -prune
               -o -path '/var/www/squid-reports'   -prune
               -o -path '*/.git'                   -prune
            )
    SKIPCOND=(
                  -type s
               -o -name "*~"
               -o -name "*.bak"
               -o -name "*.o"
               -o -name "*.old"
               -o -name "Thumbs.db"
               -o -wholename "*/home/*/Maildir/*dovecot*"
               -o -wholename "/var/log/mail*"
               -o -wholename "/var/www/sites/*/files/js/js_*.js"
             )
    BACKUP_DIR="/home/backup/intrepid"
    MAX_LEVEL=2
    MAX_PER_LEVEL=9
    MAX_FULL=8
    GENERATIONS=2
    CREATE_CHECK_FILE=1
    PRE_BACKUP ()
    {
            for script in /root/bin/hotcopy-*.sh
            do
                "$script" &
            done
            wait
    }
    POST_BACKUP ()
    {
            nice --adjustment=19 /usr/local/bin/timeout -t 3600 /usr/local/bin/hardlink.py -t /home > /dev/null
            /root/bin/clearswap.sh
            php /home/amedee/twitter/backup.php
    }
    AUTORUN=1
    SIZE_UNITS=""
    CREATE_DRIVER="DRIVER_MY_TAR_LZ"

    Mijn tar.lz-driver staat hier.
    TODO: sockets niet meenemen in de backup.
  • Drupal gebruikte geen Clean URLs meer.
    Oplossing: AllowOverride All aanzetten in /etc/apache2/sites-enabled/000-default, Apache herstarten en Clean URLs terug aanzetten in Drupal.
  • TODO: Apache status is niet meer bereikbaar op localhost/server-status (voor Munin).
  • Shorewall startte niet wegens iptables probleem wegens modules niet geladen. Opgelost met
    sudo apt-get purge linux-modules-2.6.26-2-xen-amd64
    sudo apt-get install linux-modules-2.6.32-5-xen-amd64

    Probleem en oplossing gevonden via
  • php5-imagick en php5-curl herinstalleren (deden een beetje lastig):
    sudo apt-get purge php5-imagick php5-curl
    sudo apt-get install php5-imagick php5-curl

Mijn plugins voor software development in Eclipse

[Oorspronkelijk geschreven op 2010-08-28]
[Aangevuld op 2010-09-12 op basis van de reacties]
[Aangevuld op 2011-05-22 met GitHub Mylyn Connector en Aptana Studio 3]

Ik heb me ingeschreven voor een cursus Java in avondschool. Om er direct al goed in te vliegen, installeer ik nu al Eclipse, nog voor de eerste les. En ja, ik weet 100% zeker dat Eclipse gaat gebruikt worden.

Vorig jaar heb ik wel eens EasyEclipse gebruikt, maar ik ga het nu houden bij een "standaard" Eclipse waarin ik alleen die plugins installeer die ik echt ga gebruiken. Voorlopig zijn dat de volgende:

Welke Eclipse plugins raden jullie mij nog aan? De comments staan open.

Reclame... ;-)

Met dank aan
  • Jasmina
  • Celine
  • Pieter
  • Jeff
  • Hans
  • Jurgen
  • Jurgen
  • Marijke
  • Amedee
  • Erik
  • Danny
  • Sofie
  • Lars
  • Christophe
  • Peter
  • Jeroen
  • Jurgen
om mij een gratis herlading twv €15 te bezorgen!

Waar ben ik?