I’m not happy with Virgin Hub 3.0 (BT Hub 4 is much better)

 

For last two months I’ve been using Virgin Media Hub 3.0 and I haven’t found a single think to like about it. Part of it is that Virgin Media internet isn’t as good as promised – 200Mbps link gives this speed only during benchmarks to VM servers. Real world speeds usually hover around 20Mbps with up to 50-60Mbps when using multiple sources – for tasks like downloading CentOS images (I’ve testes many, many mirrors).

The things I do not like about the VM hub are:

  • DHCP cache is reset every restart, so my systems get different IPs from time to time (BT Hub remembered all system correctly)
  • UPnP doesn’t work. It is enabled, but I haven’t found any application that was able to set up port forwarding correctly
  • Using the admin panel is pain in the back – (login screen the admin panel takes 13 seconds to load, main screen takes about 22 seconds to display!) – see screenshots.

    vmpanel

    vmpanel2.

  • WiFi range seems to be less than average. I get the best coverage upstairs when the router is laying on a side.

I’m going to set the VM router into modem only mode and I’ll use BT Hub as my router instead.

Share

Setting up LBC podcast in BeyondPod

LBC offers paid podcasts and BeyondPod supports authentication, but not the one http://lbc.audioagain.com/ uses. The typical link to feed advertised on the website looks like this:

http://lbc.audioagain.com/podcast_feed.php?channel=subjames

But there’s also a “hidden” link that accepts HTTP auth:

http://lbc.audioagain.com/podcast.php?channel=subjames

And the second one works well in BeyondPod.

Share

[solved] Mac OS X PPTP VPN connects, but not forward traffic goes through

Most hotel wifis are open, so to secure my connections I’ve set up myself a PPTP VPN using QNAS TS-453A box (btw. great machine, get one!) to tunnel all my traffic via encrypted connection.

Windows 10 and Android are connecting to the VPN and the traffic goes smoothly, but my Mac OS X El Captain caused me quite a bit of grief – it connected to the VPN without a problem, the internal connections were working great, but the forwarding traffic got stuck. Ping was working fine, but WWW did not. Some initial parts of first website were loading and then the connection got stuck.

Cause:

The issue was caused by MTU mismatch. It seems that NAT on VPN server adds some headers, which cause the packet to be to big and get rejected.

Solution:

Go to apple->system preferences->network-><your connection>->advanced->hardware and set MTU to Custom with packet size 1400 instead of default 1500. You may want to experiment to find maximum MTU value that works for you.

Share

CloudFlare to the rescue!

I love CloudFlare. Not only because it lowers the load on our servers and speeds up page load time, but it helps us to react to problems quickly. The most obvious case is when our server goes down we can redirect all the traffic to our spare server in a matter of few clicks. But today we used it to quickly fix a marketing issue:

In our marketing newsletter we sent to all subscribed readers we haven’t spotted that the main link leads to nowhere (copy paste issue). Instead of http://www.harryfay.co.uk/sale we had http://www.harryfay.co.uk/search?chttp://www.harryfay.co.uk/sale?orderby=price&orderway=desc?tdw&utm_source=email&utm_medium=threedayweekend&utm_campaign=threedayweekend. Yes, I know we should have tested it better. We usually do, but this time we failed to click on a biggest image in the email.

Using CloudFlare I’ve set a redirect in few clicks. I know I could do the same using .htaccess, but in my book messing with .htaccess equals problems – it’s just too easy to break something there. With CF the fix was quick, instantaneous and totally painless.

cloudflare_redirect

Share

OVH hosting – first impressions

Update: the OVH hosting caused us a lot of problems and we parted our ways. The post below is no longer relevant.

 

Justhost.com is useless when you try to run a business there (it’s a decent playground when you do not care that some things just do not work from time to time). They offer amazing set of features, tons of configuration settings, unlimited databases, space, email accounts and transfers, free SSL certificate, own IP address etc. All this for less than 15GBP/month. If it sounds to good to be true, it is. Our silver jewellery shop was not performing well enough and the outages were a bit to frequent for me.

OVH takes completely opposite approach. They limit everything they could. The configuration options are sparse and very limited. The homegrown administration panel shows that their admin experience is not the highest priority for them – there’s a bunch of web applications glued together with duct tape and chewing gum. But it seems to be working fine.

I took the “Performance 1” Web Hosting, which gave me guaranteed 1 vCore, 2GB of RAM and five databases spread between three types: “Personal SQL database” (shared), “Professional SQL database” (shared) and “Private SQL database 128MB” (dedicated). They couldn’t make it more confusing if they tried.

Shared databases have a limit of 30 simultaneous connections, so I decided to use Private SQL for our main site. It has only 128GB, but my rather small database seems to be happy with it and uses max 96MB. Other sites, including blog, are using shared database – there’s just not enough memory left on Private SQL. BTW: OVH is happy to sell me more memory for Private SQL should I so desired.

OVH offers a decent control over my domains. The default settings are sensible, but I can go and change all DNS records as I like. They also offer a distributed DNS service where the DNS for the domain is hosted on 17 separate servers (1 GBP/domain/year).

The thing I really didn’t like is that it is impossible to use your email account allowance (1000x2GB) to create emails in domain different than the main one. I had to pay 6GBP (one time charge) to get allowance of 5 email accounts on another domain.

I am currently happy with OVH hosting – it is performing well. I quite like the fact that I have to pay for everything extra – it gives me a confidence that they won’t run out of resources to support my needs.

Share

JustHost shared service – standard vs pro

Our new jewellery store is hosted on JustHost.com. I owned the a standard shared server for couple of years now and it was doing it’s job. My static pages were served, email was working fine. Until we started doing something serious…

We tried to run Harry Fay for a week before I realized it is terribly underperforming. I got used to response times around 2s (total page load 7s), but I failed to observe that quite frequently server needed much more time to produce a result – up to 38 seconds! I’ve spend half a day before contacting tech support, which said “it won’t work, but a Pro account or VPS”. I didn’t want to manage the full box, so I choose Pro account.

What are the differences between standard and pro shared server on justhost.com? Well, the Pro hosting seems to work. Both machines were 32 cores, 32GB of ram, but the standard server was overbooked. On standard machine vmstat was showing 35-50 processes waiting at any given time, while on the pro server I see between 0 and 15. Memory usage is also healthier on Pro hosting – I’ve seen minimum of 6GB free while the standard hosting was swapping. Average response time is down to 600ms (compared to 2100ms) and I haven’t noticed any choking.

My general feeling is that the standard shared hosting on just host is not worth it’s price if you want to use it for anything more that static webpage of your kittens. The tech support is generally accessible and will deal with small issues quickly. The answer for bigger issues is: pay more.

Share

769 languages found on wiktionary.org!

Since google is charging for their translate service and bing translator is crap, I decided to switch to Wiktionary. I downloaded main dump marked “en” only to discover, that it contains a bit more than just English. Below is the list of languages with their corresponding word count. Are all of those languages real?

Language Word count
Latin 582310
Italian 472491
English 450604
French 239073
Spanish 209495
Finnish 104013
Esperanto 99474
Swedish 79173
German 65890
Dutch 56233
Catalan 54316
Bulgarian 36639
Translingual 36572
Portuguese 35189
Japanese 33950
Mandarin 31910
Polish 29709
Hungarian 29223
Greek 22373
Danish 21547
Lithuanian 20202
Pronunciation 19447
Czech 19004
Galician 16475
Russian 14887
Georgian 12348
Scottish Gaelic 12276
Turkish 9994
Gothic 9305
Romanian 8943
Armenian 8635
Irish 8398
Icelandic 8064
Etymology 7642
Latvian 7008
Noun 6290
Alternative forms 5877
Korean 5706
Ancient Greek 5548
Manx 5483
Ido 5432
Persian 4956
Hebrew 4896
Telugu 4188
Norwegian 3966
Venetian 3350
Arabic 3304
Malagasy 3292
Luxembourgish 3264
Kurdish 3239
Hindi 3168
Old English 3048
Faroese 2987
Estonian 2979
Old Armenian 2518
Vietnamese 2512
Norwegian Nynorsk 2464
Thai 2396
Old Church Slavonic 2157
Lojban 2015
Albanian 2001
Navajo 1981
Crimean Tatar 1831
Bengali 1817
Aramaic 1676
Slovene 1626
Asturian 1598
Swahili 1524
Classical Syriac 1491
Old French 1485
Welsh 1408
Hiligaynon 1342
Urdu 1258
Middle French 1250
Sanskrit 1214
Adjective 1209
Indonesian 1203
Maltese 1179
Romansch 1153
Interlingua 1108
Azeri 1099
Verb 974
Scots 968
Classical Nahuatl 921
Occitan 915
Min Nan 907
Sicilian 904
Breton 887
Ladino 864
Basque 836
Middle English 779
Old Irish 776
Greenlandic 775
Yiddish 774
Mapudungun 707
Cornish 706
Khmer 665
Northern Sami 665
Macedonian 636
Ukrainian 631
Afrikaans 630
Tajik 628
Proper noun 613
Slovak 586
West Frisian 583
Haitian Creole 578
Pashto 571
Hawaiian 562
Cantonese 559
Lao 559
Ottoman Turkish 532
Old High German 512
Taos 510
Ewe 504
Old Saxon 497
Malay 492
Old Norse 490
Tagalog 476
Chamicuro 434
Tamil 431
Vilamovian 414
Kashubian 413
Tarantino 409
Neapolitan 405
Dalmatian 401
Ugaritic 389
Tatar 383
Aromanian 382
Belarusian 354
Chickasaw 340
Baluchi 330
Cherokee 316
Vai 311
Kannada 304
Tok Pisin 297
Romani 291
Norman 283
Limburgish 272
Nahuatl 257
Turkmen 256
Yurok 253
Low German 245
Mongolian 243
Tigrinya 241
American Sign Language 236
Burmese 236
Khakas 222
Old Prussian 216
Ojibwe 207
Lower Sorbian 203
Saanich 202
Walloon 198
Tibetan 196
Uyghur 196
Adverb 195
Karelian 186
Uzbek 184
Marshallese 183
Bashkir 175
Kazakh 175
Wiradhuri 173
Gujarati 170
Sranan Tongo 170
Amharic 169
Egyptian 161
Aragonese 158
Maori 157
Yucatec Maya 155
Ossetian 154
Chechen 150
Egyptian Arabic 150
Old Frisian 150
Rapa Nui 149
Polabian 148
Inuktitut 143
Kyrgyz 139
Tahitian 139
Corsican 128
Malayalam 127
Ngarrindjeri 126
Samoan 126
Kott 125
Libyan Arabic 125
Gamilaraay 122
Livonian 122
Central Atlas Tamazight 117
Mycenaean Greek 117
Inari Sami 116
Old Persian 116
Punjabi 115
Sinhalese 114
Suffix 112
Yoruba 111
Pitjantjatjara 105
Tulu 104
Old South Arabian 101
Saterland Frisian 100
Phoenician 92
Kumyk 91
Rohingya 89
Akkadian 88
Martuthunira 88
Veps 88
Guugu Yimidhirr 86
Quechua 85
Darkinjung 84
Upper Sorbian 84
Fiji Hindi 82
Chamorro 79
Fijian 78
Santali 78
Pronoun 77
Skolt Sami 74
Rajasthani 73
Cardinal number 72
Samogitian 68
Alabama 66
Cebuano 66
Tswana 66
Choctaw 65
Abenaki 63
Hittite 62
Numeral 61
Papiamentu 61
Erzya 59
Marathi 59
Ainu 58
Aleut 58
Latgalian 58
Lingala 57
Middle Dutch 55
Gooniyandi 51
Seri 51
Shabo 51
Zulu 51
Carian 50
Chinook Jargon 48
Luwian 48
Okinawan 48
Sichuan Yi 48
Tocharian B 48
Elfdalian 47
Southern Altai 47
Torres Strait Creole 46
Undetermined 46
Yakut 46
Kabyle 45
Pulaar 45
Mandinka 44
Bandjalang 43
Evenki 43
Gallo 43
Abkhaz 42
Alemannic German 42
Amanab 42
Sumerian 42
Koryak 41
Tuvan 41
Votic 41
Tocharian A 40
Novial 39
Phrase 39
Mari 38
Woiwurrung 38
Northern Yukaghir 37
Old Swedish 37
Jingpho 36
Lydian 36
Pumpokol 36
Sardinian 36
Manchu 35
Old Dutch 35
Balinese 34
Interjection 34
Lycian 34
Northern Thai 34
Pali 34
Arabela 33
Chuvash 33
Luhya 32
Mirandese 32
Silesian 32
Cree 31
Japanese 30
Middle High German 30
Middle Irish 30
Conjunction 29
Lakota 29
Laz 29
Lezgi 29
Shan 29
Arin 28
Aymara 28
Dacian 28
Mazanderani 28
Miyako 28
Zhuang 28
Buginese 27
North Frisian 27
Dutch Low Saxon 26
Preposition 26
Tetum 26
Meriam 25
Alcozauca Mixtec 24
Betawi 24
Igbo 24
Oriya 24
Sindhi 24
Friulian 23
Hiri Motu 23
Ladin 23
Somali 23
Laki 22
Primitive Irish 22
Tai Dam 22
Campidanese Sardinian 21
Cappadocian Greek 21
Cheyenne 21
Mingrelian 21
Niuean 21
Old Portuguese 21
Yindjibarndi 21
Assamese 20
Hunsrik 20
Shor 20
Goguryeo 19
Krisa 19
Moroccan Arabic 19
Southern Sami 19
Tongan 19
Xhosa 19
Adangme 18
Aguaruna 18
Lombard 18
Luo 18
Middle Low German 18
Phrygian 18
Aari 17
Afar 17
Bavarian 17
Determiner 17
Ga 17
Gagauz 17
Jamaican Creole 17
Nenets 17
Norfuk 17
Old Georgian 17
Chinese 16
Dolgan 16
Kriol 16
Michif 16
Umbrian 16
Warlpiri 16
Abaza 15
Archi 15
Extremaduran 15
Nigerian Pidgin 15
Piedmontese 15
Acholi 14
Amuzgo 14
Assan 14
Gheg Albanian 14
Moabite 14
Sundanese 14
Article 13
Bislama 13
Coptic 13
Hmong 13
Nepali 13
Samoan Plantation Pidgin 13
Sotho 13
Wolof 13
Abbreviation 12
Ama 12
Avar 12
Dhuwal 12
Dungan 12
Isthmus Zapotec 12
Middle Persian 12
Sydney 12
Tachelhit 12
Udi 12
Warao 12
Yatzachi Zapotec 12
Akan 11
Baure 11
Dhivehi 11
Gaulish 11
Inupiak 11
Javanese 11
Kedah Malay 11
Kildin Sami 11
Middle Korean 11
Mon 11
Nias 11
Oscan 11
Punic 11
Tambora 11
Uab Meto 11
Acehnese 10
Aklanon 10
Baekje 10
Ilocano 10
Lenape 10
Lule Sami 10
Old East Slavic 10
Old Polish 10
Twi 10
Woi 10
Aghul 9
Bambara 9
Berbice Creole Dutch 9
Chiquitano 9
Cuiba 9
Hawaiian Pidgin 9
Hopi 9
Kongo 9
Nauruan 9
Nyankole 9
Pennsylvania German 9
Seraiki 9
Wallisian 9
Yola 9
Zoogocho Zapotec 9
Abau 8
Ambonese Malay 8
Ankave 8
Catawba 8
Chichewa 8
Dzongkha 8
Eblaite 8
Ket 8
Logudorese Sardinian 8
Mauritian Creole 8
Nogai 8
Old Korean 8
Potawatomi 8
Rotuman 8
Tacana 8
Udmurt 8
Avestan 7
Comox 7
Etruscan 7
Kanuri 7
Karakalpak 7
Kiput 7
Kwanyama 7
Letter 7
Penobscot 7
Picard 7
Tuvaluan 7
Western Apache 7
Western Arrernte 7
Akkala Sami 6
Arapaho 6
Contraction 6
Hausa 6
Kalmyk 6
Kven 6
Minangkabau 6
Number 6
Old Spanish 6
Shuar 6
Svan 6
Tiwi 6
English 5
Ammonite 5
Angaataha 5
Annobonese 5
Banjarese 5
Dieri 5
Gilbertese 5
Idiom 5
Ingush 5
Kamba 5
Karamojong 5
Kinyarwanda 5
Mansi 5
Moksha 5
Panyjima 5
Prefix 5
Shoshone 5
Weyewa 5
Yonaguni 5
Igbo 4
Adyghe 4
Alternative form 4
Alutiiq 4
Aneme Wake 4
Angor 4
Balti 4
Chagatai 4
Chol 4
Croatian 4
Ingrian 4
Jurchen 4
Kabardian 4
Kapampangan 4
Kashmiri 4
Khitan 4
Lak 4
Lozi 4
Luganda 4
Mangarevan 4
Middle Welsh 4
Min Dong 4
Nganasan 4
Northern Sotho 4
Oromo 4
Pangasinan 4
Rusyn 4
Southern Ohlone 4
Sursurunga 4
Swati 4
Vandalic 4
Wageman 4
Russian 3
Spanish 3
Akawaio 3
Ambai 3
Bishnupriya Manipuri 3
Brahui 3
Coastal Kadazan 3
Faliscan 3
Istriot 3
Itelmen 3
Kirundi 3
Lavukaleve 3
Madurese 3
Makhuwa 3
Marti Ke 3
Old Tupi 3
Ordinal number 3
Shona 3
Tigre 3
Yanyuwa 3
Yidiny 3
Czech 2
Abu 2
Alutor 2
Ansus 2
Anuta 2
Awabakal 2
Awadhi 2
Bactrian 2
Beja 2
Biak 2
Bihari 2
Bikol 2
Blackfoot 2
Buryat 2
Central Tarahumara 2
Chiricahua 2
Cimbrian 2
Creek 2
Dakota 2
Fula 2
Gabi 2
Garifuna 2
Gronings 2
Gunai 2
Gusii 2
Haitian Vodoun Culture Language 2
Interlingue 2
Kabuverdianu 2
Kalami 2
Kalenjin 2
Limbu 2
Literary Chinese 2
Marsian 2
Mende 2
Mizo 2
Mohawk 2
Munggui 2
Ndonga 2
Newari 2
Ngaju 2
Ngawun 2
Northern Dagara 2
Paiwan 2
Particle 2
Rutul 2
Sasak 2
Sayula Popoluca 2
Seneca 2
Shelta 2
South Picene 2
Taimyr Pidgin Russian 2
Tamashek 2
Ter Sami 2
Tumbuka 2
Wu 2
Zuni 2
Bulgarian 1
Chinese 1
Esperanto 1
Estonian 1
French 1
Hawaiian 1
Hebrew 1
Korean 1
Latin 1
Macedonian 1
Mandarin 1
Min Nan 1
Old Norse 1
Sanskrit 1
Ukrainian 1
Verb 1
Welsh 1
Abanyom 1
Achumawi 1
Adele 1
Adioukrou 1
Alamblak 1
Amaimon 1
Ambulas 1
Antillean Creole 1
Arawak 1
Argobba 1
Atayal 1
Aynu 1
Baruga 1
Batak Toba 1
Bikol Central 1
Bintulu 1
Bondei 1
Bribri 1
Broome Pearling Lugger Pidgin 1
Bube 1
Buhid 1
Bunurong 1
Buyeo 1
Central Dusun 1
Central Siberian Yupik 1
Central Tagbanwa 1
Chinese Pidgin English 1
Chinook 1
Chukchi 1
Comanche 1
Comorian 1
Cowlitz 1
Dadibi 1
Dargwa 1
Diitidaht 1
Dogrib 1
Dyirbal 1
Eastern Arrernte 1
Eastern Canadian Inuktitut 1
Eastern Cham 1
Esan 1
Eteocretan 1
Flemish 1
Fon 1
Frankish 1
Gallurese Sardinian 1
Gayo 1
Gazi 1
Golin 1
Greenlandic Eskimo Pidgin 1
Gullah 1
Haida 1
Hakka 1
Hurrian 1
Iban 1
Initialism 1
Iranun 1
Kalo Finnish Romani 1
Kamassian 1
Kashaya 1
Kaurna 1
Kelabit 1
Kemi Sami 1
Khanty 1
Khazar 1
Khmu 1
Khvarshi 1
Kikuyu 1
Kilivila 1
Korean 1
Kuanua 1
Kuvi 1
Laal 1
Latvia 1
Lemnian 1
Leonese 1
Lepontic 1
Louisiana Creole French 1
Lubuagan Kalinga 1
Lusitanian 1
Maasai 1
Mainstream Kenyah 1
Makah 1
Mandari 1
Mara Chin 1
Marau 1
Maricopa 1
Marrucinian 1
Marwari 1
Massachusett 1
Median 1
Meru 1
Monguor 1
Montagnais 1
Motu 1
Muduapa 1
Mungaka 1
Ngaanyatjarra 1
Nhanda 1
Nivkh 1
Nootka 1
Old Japanese 1
Old Javanese 1
Old Lithuanian 1
Old Welsh 1
Palauan 1
Papuma 1
Parthian 1
Pinyin 1
Pohnpeian 1
Polari 1
Puyuma 1
Rarotongan 1
Rejang 1
Rhymes 1
Rotokas 1
Russenorsk 1
Russia Buryat 1
Sassarese Sardinian 1
Sebat Bet Gurage 1
Serbian 1
Sherpa 1
Slovincian 1
Soqotri 1
Southeastern Tepehuan 1
Southern Hindko 1
Southern Sama 1
Southern Yukaghir 1
Swabian 1
Syriac 1
Tabassaran 1
Tausug 1
Tsakhur 1
Tshiluba 1
Tuamotuan 1
Umbundu 1
Ume Sami 1
Usage notes 1
Venda 1
Venetic 1
Verb form 1
Vinza 1
Volscian 1
Wabo 1
Wandamen 1
Waropen 1
Wawa 1
West Coast Bajau 1
Western Kayah 1
Western Panjabi 1
Winnebago 1
Worimi 1
Xavante 1
Yaeyama 1
Yami 1
Yankunytjatjara 1
Yapese 1
Yopno 1
Zenaga 1
Share

How British police made me set up my next project on the cloud

Today British police made available their new service – a complete street level map of crimes in England and Wales. The webpage made to all possible headlines in daily papers, tv and radio. The effect is that the service is virtually down and won’t be usable until the novelty wears out.

All web pages have a peak from time to time. It can by due to various reasons – PR publication, Facebook craze, advertisement campaign, algorithm change at google or change of cosmic radiation. You can predict some peaks, some will come as a total surprise. In both cases the effect is the same – the system overloads and you’re starting losing users. That’s bad, really bad.

What could site owners do to prevent this? There are couple of options:

  • Scale IT infrastructure to handle the traffic during peaks. This sounds good until you start calculating cost. If you scale for a peak 10 times larger than normal traffic, you will spent 10 times more money. And how can you be sure the peak won’t be 11 times normal traffic? Or 101 times? Or 1001? And what would you do if when the peak is over? You can donate unused computing power to Seti@Home, but I doubt your CFO will appreciate this.
  • Deploy to a cloud. When your application is running in a cloud and you foreseen incoming peak, because you’ve bought nation wide TV ad campaign for exmaple, you allocate more resources for some time (for example start some new instances on Amazon EC2). And when the peak is unexpected? You allocate more resources when it happens! Or if you set up the cloud to allocate additional resources automatically for you, you just sit and monitor if everything works smoothly. When the traffic calms down, you just switch off unwanted resources and stop paying for them.

“What’s the catch?”, you may ask. There is none. The whole process just requires some planning in advance. Designing application for scalability is slightly tougher, but it’s not a black magic. And it’s not even rocket science. There are many infrastructure scalability patterns detailed on web. You will have to make some technical decisions on load balancing, session sharing, fallback procedures. The testing is also bit more complicated, but only due to fact of additional features. The rest will be exactly the same as normal design and development job.

I have always known that police is a useful force ;)

Share

TranslateMe – my first Chrome extension

I spend long hours reading on-line (don’t we all?). Most of interesting material is available in English only (including en.wikipedia.org which is much superior to my native pl.wikipedia.org), so I tend to read all in that language. And as it is my second tongue, I need to use translator quite often. Google translator is doing pretty good job with helping me, but the manual process (copy->new tab->type address->paste) was just too slow to be comfortable. This is where the idea for extension for Chrome came from.

Basic needs for the plugin were defined as:

  • No need to open translate.google.com everytime I need a translation
  • No need to copy/paste to translate
  • Quick
  • No more than 3 hours to develop (including the ramp up – this was my first attempt to create a Chrome Extension)

The result is quite encouraging – the extension is working and can be downloaded from Chrome Web Store. More information about the extension can be found here (click!)

Share

Youtube: Embedding disabled by request

This post was supposed to be be about a really great song I’m listening to on youtube. But it won’t be, because I can’t embed it – youtube says “Embedding disabled by request”. If starting to be fed up with this all copyright management. Youtube recognizes my location in UK by IP and it removes or disables most of music videos (they play without a problem from other countries I visit).

I’m using a free Spotify version currently. I thought that it might be a good idea to buy premium account, but they have only about half of tunes I like. Other record labels haven’t agreed to join, so I gave up.

Hej, fat cats in music industry: wake up! We have a XXI century!

Share