Wmo & Co

June, Holy cow


Even 3 months after the expiry date the biltong tasted great.

Finished now. Gotta get some more.


January, Brx in the morning



Following is a bit of a boring piece on how Spotify kicked me out. I was a paying customer... but apparently didn't pay them enough...

On 8 December I got an email from Spotify, regarding problems with my payment. I have an 'Unlimited' subscription for 5 EUR/month, which is not being offered anymore. You can only get the Premium for 10 EUR/month.

A few days later I had been kicked out because I was refusing to sign up for the pricier 'Premium' subscription.

BORING ALERT : I'm just posting it here in case somebody else has a similar experience. Otherwise: don't read!

Click on 'Spotify communication' to

  • Spotify communication
  • Spotify:

    There is a problem with your Spotify subscription
    Unfortunately this happened because we were unable to receive payment 
    from you

    Asking them for more detail, I get this reply (9 December):


    This email will be sent through if your Spotify payment didn’t go 
    through on the usual renewal date.
    This can happen for a few reasons:
    - Your payment card may have expired.
    - There may not have been sufficient funds when the payment was 
    - A temporary connection error with your bank when the payment was 
    due to be processed.
    Don’t worry! You won’t lose your subscription immediately. 
    We’ll keep trying to take the payment over the next few days.
    If you’d like to change your payment details, just head over here: 

    My response:

    - Card expired? my VISA card is valid until next september.
    - Insufficient funds? the card is far from maxed out (even less than 10% 
    of the max)
    - Connection error? may be!


    The only other thing we can try is to delete all the payment 
    information and you can try and reapply it after that?
    However if we do that you will only be able to sign up for Premium, 
    as we are no longer offering the Unlimited service to customers.
    If you'd like to try that we can offer you two free months of Premium 
    on us so you can try out all the new features? Or we can just wait 
    and see if the payment finally takes after it has sorted everything 
    out it is getting mad over haha
    Let me know your thoughts!

    But even before awaiting my answer, they cancel my subscription.


    Why are you chasing away a paying customer?
    1) Payments have in the past always gone through successfully on the 
    same VISA card. I did not receive any notification from VISA that 
    their policies or anything else have changed, that could cause this 
    payment not going through. The current situation on my VISA card is 
    that I've spent 192.97 EUR out of 2500 EUR, so way below the maximum. 
    So I'm 90% sure that the payment issue is on Spotify's side (and I 
    think I'm not the only one).
    2) I'm a software developer that lives in linux land, no microsoft, 
    no apple devices for me. I'm happy that spotify provides a linux 
    client, but unfortunately it is 'not the best' software: the only 
    times my desktop freezes up is when spotify goes haywire. I could 
    live with it, but was eagerly awaiting better spotify client software 
    for linux.
    3) You asked me in 1 email if I'd be interested to try Premium or 
    wait and see if the payment goes through. And in the next email from 
    Spotify I get notified that my 'premium subscription' is cancelled. 
    You should have at least waited for my answer!
    Bottom line: because of a payment issue on your side, you decided on 
    your own to double the price of my subscription, for an inferior 
    spotify experience!
    I'm sorry, but this is unacceptable.
    Please reinstate my original subscription, or it's goodbye spotify, 
    hello <competitor>.


    I have looked at your account and can see that when we attempted to 
    take the payment again the transaction was refused and which then 
    automatically stopped the subscription from occurring.
    Sadly as we do no longer off Unlimited as a subscription type we will 
    be unable to start you backup onto the Unlimited subscription.
    If you would like we can place three months of premium onto your 
    account for the issue that has occurred. You won't even need to sign 
    up to our service for me to place this on your account. If you would 
    like this please get back to me.
    Please let me know if you have any further questions or issues,
    All the best.

    Me (11 December):

    "The computer says 'no'" is not an acceptable answer from a company 
    like spotify. 
    If you don't have the authority to revert to the original setting, 
    then look for somebody of higher rank. If he/she can't do it, then 
    look for your system administrator to do the reset. If he/she can't 
    do it, then look for a software developer who can run "update 
    plan='Unlimited' where userid='willemify'" on the database.
    Be creative.

    Support@spotify :

    As we have stated in previous emails we are removing Unlimited as a 
    subscription type due to the number of users that use this 
    subscription type. This means that we cannot get your account back 
    onto the Unlimited subscription.
    We apologise for this inconvenience but we are happy to provide you 
    with the 3 months of premium as previously offered.


    I can imagine that next month you are going to split the premium 
    subscription into :
    - Super Duper Premium at 25 EUR/month.
    - Classic Premium (aka Joe Average Premium) at 10 EUR/month.
    And half a year later you'll try and force all the Joe Average's to 
    Super Duper.
    I refuse to take part in that game.

    20160506 update: Apple Music is worse, they go as far as deleting your OWN (ie. self-created) music from your hard-drive. Read this arcticle: blog.vellumatlanta.com/2016/05/04/apple-stole-my-music-no-seriously

    Quote from article (about the future) : "Information will be a utility rather than a possession. Even information that you yourself have created will require unending, recurring payments just to access."



    Drives getting smaller and smaller..

    (background: 10-year old SATA 3.5" harddisk, front: 2-year old mSata harddisk of 60GB)


    Nothing succeeds in reproducing itself better than a false sense of entitlement

    Above is a quote from a long article by Yanis Varoufakis, here's the context:

    My personal nadir came at an airport. Some moneyed outfit had invited me to give a keynote speech on the European crisis and had forked out the ludicrous sum necessary to buy me a first-class ticket. On my way back home, tired and with several flights under my belt, I was making my way past the long queue of economy passengers, to get to my gate. Suddenly I noticed, with horror, how easy it was for my mind to be infected with the sense that I was entitled to bypass the hoi polloi. I realised how readily I could forget that which my leftwing mind had always known: that nothing succeeds in reproducing itself better than a false sense of entitlement. Forging alliances with reactionary forces, as I think we should do to stabilise Europe today, brings us up against the risk of becoming co-opted, of shedding our radicalism through the warm glow of having “arrived” in the corridors of power.

    UPDATE 20151029 : .. a report originally carried by Greek newspaper Proto Thema, claiming that Varoufakis is being advertised as a speaker by an agency advertising fees running up to $60,000 (£39,228) for appearances in the United States. While there's nothing wrong with that, it's a little against the grain for a prominent critic of laissez-faire greed. .. ( deny, ask for retraction, claim transparency etc ) ..

    But the blog post does concede that he's been paid €24,000 (£17,387, $26,584) after tax with first class travel expenses for participating in an Italian TV programme. He's getting another €28,800 (£20,285, $31,016) after tax with business class travel expenses for a presentation at conference in Singapore.

    How's about that for a false sense of entitlement...? (more detail on: uk.businessinsider.com/anti-austerity-advocate-and-ex-greek-finance-minister-yanis-varoufakis-fees-for-speeches-2015-10 )


    • 25 january 2015: Varoufakis gets into the spotlights when being appointed as finance minister
    • 28 June: capital controls imposed and banks close
    • 5 July: the Greek people vote 'no' to austerity
    • 6 July: suprise resignation of Varoufakis
    • 9 July: Geece capitulates to the demands from its creditors
    • 20 July: Banks reopen in Greece
    • 14 August: Greece secures 3rd bailout


    Exceptions getting wider and wider... Good progress?


    Security check at music festival

    Sign of the times: entering a music festival is like boarding a plane. Put your liquids (no more than 100ml each) in a plastic bag.. walk through the metal detector..


    Slowly Rolling Camera


    Geeq-heaven is ..

    .. hooking up that full-size keyboard to edit in VI on your smartphone!

    hello goodbye

    Goodbye Forerunner 205

    Deceased after 7 years of faithful service...

    Hello Forerunner 15

    hot summer

    It's so hot ...

    .. the squash/pumpkin leaves are drooping ..

    jubelpark velo

    Velo Mai, last day

    juice running pic

    The juice that gets you there

    4 oranges / 4 apples / 1 beetroot

    keybase_io encryption

    First experiment with keybase.io

    Question : Can you use a keybase encrypted file outside of keybase?

    Short answer : of course, because they use GPG!

    Long answer :

    Install and setup keybase on one of your computers

    Encrypt one of your dear pictures with your keybase private key. Actually this is 'signing' in public/private key parlando. Note: 'wmo' is my keybase id, replace with your own.

    keybase sign wmo pne.jpg

    This will produce the file: pne.jpg.asc, and this looks like :

    -----BEGIN PGP MESSAGE-----
    Version: GnuPG v1

    Move this file to another computer, on which you don't have keybase, but you do have GPG.

    Before you can decrypt you need to import the public key (replace 'wmo' by the relevant user-id) :

    wget https://keybase.io/wmo/key.asc
    gpg --fast-import key.asc

    Decrypt the file:

    gpg -d pne.jpg.asc  > pne.jpg 

    And display it:

    display pne.jpg

    Hurray, it works!

    Want to decrypt it yourself? Download the file: pne.jpg.asc.gz


    Good to know: the Bösendorfer extra keys

    From: wikipedia : Bösendorfer pioneered the extension of the typical 88-key keyboard, creating the Imperial Grand (Model 290), which has 97 keys (eight octaves). [..] The extra keys, at the bass end of the keyboard, were originally hidden beneath a hinged panel [..] As very little other music makes direct use of the extra strings, they usually contribute to the piano's sonic character not through being played directly but by resonating, when other strings in the piano are struck, contributing additional body to the tone. Moreover, the bass notes of the Bösendorfer, including the extra bass keys, are very powerful, adding volume in demanding literature.


    Everything good in life is an acquired taste

    Quote from Marisha Pessl's book "Special Topics in Calamity Physics" :

    Like most people they hate change, but everything good in life is an acquired taste.

    link running biking

    Bicycle wheel sizes (table of wheel sizes + circumference)

    Pace calculator Convert between time/distance/pace.


    Crossing the Luangwa river, sometime in 1992.


    Today is a milestone


    Hello new Mizuno's


    In with the blues

    Changeover time again!


    March, mossy cemetery

    naming servers

    Coming up with a name for a server

    My one and only source for making up 'unique' server names: The Bemba pocket dictionary.

    parallel_prog open_cl cuda mooc

    Why you always have to question the results delivered by a parallel programmer..

    See the score obtained on the Heterogenous Parallel Programming Course ..

    printer dotmatrix

    Come back dotmatrix!

    If vinyl can make a comeback, why not dotmatrix printers?


    The private internet of Things

    I like the Private Internet of Things Manifesto

    From: github.com/niutech/priot

    We believe the Internet of Things is a very promising idea, but we notice it brings very serious privacy concerns. A lot of sensitive data from various sensors around us is going to be gathered and processed in centralized data stores run by big corporations and governments. We think it does not need to be so. We are proposing the Private Internet of Things (PrIoT) paradigm, where private data is stored in decentralized private clouds, fully controlled by users, interoperable with other private clouds and in federation with them, using open standards.


    The beauty of python

    Who needs Haskell or any other fp language when you have set comprehension in Python ?

    { (x,y) for x in range(1,1+int(math.sqrt(n))) for y in range(1,1+n) if (x*y)==n }
    {(1, 48), (2, 24), (3, 16), (4, 12), (6, 8)}


    This quote from the movie Whiplash will be a classic:

    There are no two words in the English language more harmful than "good job."


    February, R4 still going strong

    Went out of production 23 years ago...


    May, Charleroi


    Plain white rice diet

    When putting your smartphone on a plain white rice diet...

    .. would risotto be ok?

    running shoe

    And time for a new pair of runners ..

    .. again?

    running shoe pic

    Change-over time again

    Had the impression that my blue Mizuno's wore down rather quickly, but it turns out they clocked more than 1700 km.

    running shoe pic

    Out with the old, in with the new

    .. saying goodbye to the Mizuno's that gave the best and worst marathon time ..


    April, Shinrin-Yoku time

    skin game

    Skin in the game



    Sneeze !

    An oldie: springtime in Andalucia. (April 2010)


    Vivovit steps

    We did the most intense (and most sweaty) 11.5 km hike of our lives, but it did not even add up to 7000 steps on the vivofit? Come on Garmin!

    summer blackbird


    We like it that Mr. White-eye has chosen our garden as his territory. He's a bar-raiser on the scruffy-ness front!


    The summer is hot

    But it could be worse: hot with flies!

    Horse near Polleur


    Summertime in England


    taman_negara rainforest

    River restaurants serving seafish

    In the Taman Negara rainforest

    You'd expect these floating restaurants in Kuala Tahan, smack dab in the middle of the Malaysian rainforest, to serve fish that jumped straight from the river into the pan! Alas when you order fish you get served seafish that was trucked in from a place at least 4 or 5 hours driving away! You CAN order river-fish, but that will bump up the price by a factor 5! Strange..

    Location on Google Maps


    On this tropical trip through Malaysia I really appreciated airconditioning, and could not agree more with Lee Kuan Yew, Singapore's founding father who said:

    Air conditioning was a most important invention for us, perhaps one of the signal inventions of history. It changed the nature of civilization by making development possible in the tropics.
    Without air conditioning you can work only in the cool early-morning hours or at dusk. The first thing I did upon becoming prime minister was to install air conditioners in buildings where the civil service worked. This was key to public efficiency.

    (see www.vox.com/2015/3/23/8278085/singapore-lee-kuan-yew-air-conditioning )


    For old time's sake

    Saw this one flying by on the twitter-wind, seems RadioShack is in problems. Oh, the memories.

    tool osm

    A new tool for your toolbox : grob

    Ever wanted to grep an OSM protobuffer file for a waypoint ? Grob will do that for you!

    It is also possible to grep within a certain radius of a waypoint...


    Use case: you want to eat a pizza close to Checkpoint Charlie in Berlin.

    Step 1: Locate checkpoint charlie in the Berlin osm protobuffer file:

    grob berlin-latest.osm.pbf "checkpoint charlie"
    52.507546, 13.390361,  name:Checkpoint Charlie name:ko:체크포인트 찰리 ..

    Step 2: Check within a radius of 0.5 km of waypoint 52.507546 13.390361 for pizza

    grob berlin-latest.osm.pbf -d 0.5 52.507546 13.390361 pizza
    52.505250, 13.393108,  name:Charlotte 1 amenity:restaurant cuisine:italian..
    52.506928, 13.392213,  name:Pizza amenity:fast_food #,0.14
    52.506916, 13.395269,  addr:housenumber:9 name:Pepe Pizza amenity:fast_foo..

    The triple barrel Spanish mouse trap

    Only the experts manage to set all three traps.

    Photo taken near Potes, Picos de Europa.

    trustpilot fingerprinting trust

    Trust or drop the pilot ?

    When you click through on a webshop's request for a general review, you land on a trustpilot.com page. Would you carry on with your review after this warning?

    Thanks for the warning, Tor!

    A bit more on HTML5 canvas finger-printing from wikipedia:

    Canvas fingerprinting works by exploiting the HTML5 canvas element. When a user visits a website with canvas fingerprinting, their browser is instructed to "draw" a hidden line of text or 3D graphic that is then converted to a digital token. Variations in which GPU is installed or the graphics driver cause the variations in the rendered digital token


    Utah Arches

    Another oldie (spring 2008).

    vivofit activity

    Vivofit activity tracker, day #1

    It hurt being forced to bootup my laptop in Windows mode to configure my newly acquired Vivofit device. Before that it had hurt finding out my Galaxy SII phone would not connect to the vivofit, because of an older Android version that doesn't use all features of the phone's bluetooth (hey, the phone is only 4 years old, it should give me at least another 6 years)!

    Before going down the CyanogenMod way with the phone, let's see what linux can do, to sync vivofit data to Garmin Connect.

    First dabbled a bit with python-ant-downloader. Positive side-effect: it forced me to install the latest version of pyusb

    Then stumbled on antfs-cli, and that tool does a perfect job copying the .fit files onto my linux box!

    $ antfs-cli 
    Driver available: [<class ant.base.driver.SerialDriver at 0xb701295c>, 
                       <class ant.base.driver.USB2Driver at 0xb7012d4c>, 
                       <class ant.base.driver.USB3Driver at 0xb7012e0c>]
     - Using: ant.base.driver.USB3Driver
    Request basic information...
      Capabilities:  array('B', [8, 8, 0, 186, 54, 0, 223])
    Starting system...
    Key done...
    Authenticating with vívofit (3893983957)
     - Pairing: OK
     - Set time: OK
    Downloading 11 file(s)
    Downloading 2015-10-06_07-32-12_1_0.fit: [..............................] ETA: 0:00:00
    Downloading 2015-10-05_19-57-21_32_4.fit: [..............................] ETA: 0:00:00
    Downloading 2015-10-05_21-19-34_32_5.fit: [..............................] ETA: 0:00:00
    Downloading 2015-10-05_22-23-14_32_6.fit: [..............................] ETA: 0:00:00
    Downloading 2015-10-05_22-24-50_32_7.fit: [..............................] ETA: 0:00:00
    Downloading 2015-10-05_22-27-10_32_8.fit: [..............................] ETA: 0:00:00
    Downloading 2015-10-05_22-28-39_32_9.fit: [..............................] ETA: 0:00:00
    Downloading 2015-10-05_22-30-18_32_10.fit: [..............................] ETA: 0:00:00
    Downloading 2015-10-06_01-00-00_32_11.fit: [..............................] ETA: 0:00:00
    Downloading 2015-10-06_06-09-32_32_12.fit: [..............................] ETA: 0:00:00
    Downloading 2015-10-06_06-43-51_32_13.fit: [..............................] ETA: 0:00:00

    Upload these .fit files onto the garmin connect web site:

    Don't really like the manual upload, but then this is day one and step one with the vivofit, surely we can further automate it!


    Pulling waypoints from an OpenStreetmap .OSM file

    Before going on holiday, I like to gather the OpenStreetMap waypoints for the area I'll be staying at. This is the process.

    Download an .osm file

    Eg. pick one from download.geofabrik.de

    Pull out all the nodes of the area of interest

    The area is determined by lat,lon coordinates and the distance from this point. Eg. pulling data from the central-america .osm file, in radius of 10k around Willemstad, Curacao:

    ./pull central-america-latest.osm 12.1166 -68.9333 10  > willemstad10k.csv

    Source code for pull.go on github.


    Subsetting, selecting, etc.. using Python Pandas

    Read the .csv file in Pandas (in an ipython session) :

    import pandas as pd

    Sort according to distance, and convert tags to lowercase:


    Subset the restaurants

    r = df[df.tags.str.contains("restau")][['lat','lon','name','dist','tags']]

    Now give me the chinese restaurants

               lat        lon                        name   dist  tags
    1917  12.120777 -68.897536  Chinese Restaurant and Bar  3.91  "[ .. {name chinese restaurant and bar}..
    1872  12.121817 -68.895336                      Chindy  4.16  "[ .. {cuisine chinese} ..
    2189  12.154782 -68.946812     Santa Maria Food Center  4.49  "[ .. {cuisine chinese} ..
    1575  12.124456 -68.889972                       Winer  4.79  "[ .. {cuisine chinese} ..

    See more detail (plus the source code) at github.com/wmo/pull_osm_nodes



    After a chilly week, let the big thaw begin...


    And there's the winter

    Let's try out those gaiters .. that I bought for protection against leeches in the Malaysian jungle...


    Winter has finally arrived

Notes by Willem Moors. Generated on nini:/home/willem/sync/20140923_blog at 2018-06-16 11:17