How to use the Alexa Top 1M domain list for analysis

February 2, 2013

If you want to do some basic analytics on domain names e.g. the amount of popular domains sorted by country domain, here is how to create such an overview:

1. Download the top 1.000.000 sites .csv from Alexa: http://s3.amazonaws.com/alexa-static/top-1m.csv.zip, they sold this list in the past but some years ago they gave it for free. For production uses you would probably use the Alexa webservices on Amazon to give you real time information.

2. This csv file contains domains in the form of e.g. “bancobrasil.com.br” along with their ranking, you can easily import this in e.g. a sqlite database using e.g. the firefox sqlite plugin (or the sqlite commandline plugin) (or with the pro version of dbvisualizer) (etc).

image

3. If you now want to match this against an existing set of url’s e.g. in a set of bookmarks you will have to figure out what is “top level” and what is not because if you have a bookmark http://apps.facebook.com/blabla you would use

 parse_url($bookmarkurl, PHP_URL_HOST) 

to get the host and will get apps.facebook.com.

But… in Alexa you would want to match this with “facebook.com” not “apps. facebook.com” (otherwise it can not be matched). The problem here is how you would know that “apps.” would have to be stripped since in e.g. “apps.gov.edu.yk” you would have to strip it in another place. This is an unsolvable problem: you will need to have a list of all country level domains.

So… to make this match there are several alternatives but most famous is the effective_tld_names list : http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1 (public suffix list)

image

Which is used e.g. in Firefox, Opera and Chrome

For PHP there is an existing class by the DKIM-reputation.org you can reuse to get the solution which you can include in a /lib.

4. You then simply use

 $registeredDomain = getRegisteredDomain($base_href_host, $tldTree); 

($tldTree is given bij DKIM-reputation as a global array which you can pass to a constructor and $base_href_host is the PHP_URL_HOST).

5. And next you can add two columns in your SqlLite table: the registered domain and the country level part (filled by a sql update run using the registeredDomain here above).

6. Based on this table you can now run lots of analytics on the top 1.000.000 domain names, you can even add new meta information to your own bookmarks collection.

However please note:

- Alexa gives you only the top level registed domain, so e.g. you can not distinguish between popularity of app.facebook.com/game1 and app.facebook.com/game2 : these will both the general  facebook rank. What happens in this case is actually that facebook acts as a further domain hierarchie: you will have to make a list of those kinds of sites and will have to further give popularity scores based on statistics in e.g. wordpress.org, facebook.com or blog platforms on its individual members. I have not seen yet a list of domains which you have to “take out of this Alexa list to analyze further” (someone out there probably has done this already but I have not found it yet). Basically these sites acts as N-level domain and should be put under its own catgegory not under .com.
If such a list has really not been created by anyone else (which I doubt) I will add some GPL project on e.g. Google Code with at least a good start of these types of N level registers.

- If you want to add whois records information maybe the http://www.phpwhois.org/ is also handy for you

I have 5 domains for sale, buy them or let someone know who is interested:

January 31, 2013

I’m on the verge of putting these on either flippa or sedo but… if one of my readers is interested, just contact me and make me an offer (or send this to someone who might be interested).

1 manager.cm This is a great domain for Configuration Management, Certificied Manager, Content Manager, Community Manager, Change Management AND SO ON: more than 250.000.000 results on Google: software products, certifications, trainings, books, communities, companies, consulting and so on. There are millions of searches on the Internet for this. Example:
image_thumb[1]

If you are working around processes like agile, CMMI, ITIL or RUP your eyes will probably begin to shine dollar signs now. If you are doing SEO: better than this it won’t get.

manager.net is currently on sale for 50.000 EURO … and MANAGER.CM is even greater due to the CM which really describes the kind of category. (I’m sure Google will also love this as extra keyword). You will find more than 200.000.000 listings in Google when you search for this and THIS … is the one and only domain on the Internet which has ALL the components.

(You e.g. can make mail addresses like rtc@manager.com , clearcase@manager.cm , project@manager.cm, subversion@manager.cm , certified@manager.cm , training@manager.com, configuration@manager.cm  or make subsites like http://certified.manager.cm  or http://configuration.manager.cm or http://change.manager.cm or http://content.manager.cm , ideas are endless… could not even stop myself :) )

BIN: will probably around 30.000 EURO

2 eau.io First of all this contains all 5 english vowels (as well as in e.g. dutch). (pronounce as “o-i-o”). Meaning : a name that is not forgotten and is very very unique. (eau = water). Even if you leave these pages you will remember this name. It’s beautiful and elegant and smart : all english vowels in one word.

Second this is one of the few eau domains left for sale (eau is water in French e.g. eau de cologne) e.g. eau.ro is currently on sale for 8.100 EURO.

BIN: 10.000 EURO

3 ed.je This is for the dutch readers: if you would like your domain to be http://ed.je (…who would not remember this one !): Coolness factor 100 then take it. (they will mail you at mail@ed.je :) )

Als ofcouse when you google on “edje” you will find zillions of people named edje. And … yes 2 letters only makes it awesome unique: remember these 2 letters domains sell for tens of thousands of euro’s on flippa or sedo. So I’m selling this one very cheap (maybe too cheap)

BIN: 5000 EURO (I’m still thinking if I should sell this one at all)

4 kijker.tv , kijker.net and kijker.info Also dutch: if you are thinking of a concept around tv kijkers then kijker.tv is one of the greatest name e.g. an app or a website or even a consulting or product.

I will throw in all three domains for one price.

BIN: 500 EURO

5 aweblog.net If you want to start a weblog or need a domain for you weblog why not keep it simple and simple name it “a weblog” ? DUH! (or Atheist Weblog, Animal Weblog, A+ Weblog, etc.. etc.. etc…)

BIN: any reasonable offer

Onze Ferrarisschijf in de kilowattuurmeter maakt knirspend geluid

January 28, 2013

Mijn kids en vrouw klaagden vandaag dat er een raar geluid uit de meterkast kwam… Ik zie dat het “wieltje” een knirpend schurend geluid maakt bij elke ronddraaiende beweging. (ik lees op wikipedia dat het de kilowattuurmeter heet en niet de stroom meter) (en dat de schijf de ferrarisschijf heet ).

Nu lees ik enge verhalen op Internet van mensen die opeens grote bedragen moeten betalen omdat de meter defect is gegaan en men het werkelijke stroomverbruik niet kan meten *slik*

Allereerst: heel interessant om de achtergrond van de ferraris teller te lezen op wikipedia :)

De Ferraris-teller, onze bekende kilowattuurmeter is eigenlijk een inductiemotor. Deze mechanische kilowattuurmeter heeft een aluminium schijf die in het magnetisch veld van twee spoelen is opgehangen. Een spoel, de spanningsspoel, met een groot aantal wikkelingen is direct aangesloten op het elektriciteitsnet en het veld van de spoel is evenredig met de netspanning. De tweede spoel, de stroomspoel, wekt een veld op evenredig met de stroom die door het net van de gebruiker loopt. De resulterende veldsterkte die door de gecombineerde velden van stroom- en spanningsspoel wordt opgewekt, genereert een wervelstroom in de schijf. Daardoor ontstaat een kracht welke een koppel op de schijf vormt dat evenredig is met het product van spanning, stroom en de cosinus van de fasehoek tussen die twee. De schijf begint te draaien. Daardoor is het toerental van de schijf evenredig met het product van stroom, spanning en de cosinus van de fasehoek daartussen. Er zit ook een rem op. De schijf loopt tussen een permanente magneet welke dient als wervelstroomrem, deze produceert een snelheidsproportioneel remmoment. De schijf draait sneller rond naarmate het product van stroom, spanning en die cosinus hoger is. Het aantal omwentelingen van de schijf is daarmee een maat voor het afgenomen elektrische vermogen. De schijf zet een telwerk in beweging, dat het verbruik aangeeft. Naarmate de tijd verstrijkt, zal de meterstand oplopen. Op deze manier meet men het ‘energieverbruik’ in (kilo)wattuur

Maar ik begrijp nu ook dat het schijfje vrij essentieel is en het lijkt me dat er nu een soort frictie is ontstaan. Dat lijkt me niet goed.

Aangezien we al geruime tijd bezig zijn met de slimme meters (je kunt geen gesprek voeren over dit onderwerp de afgelopen jaren of het woord valt) … vraag ik me af of ik dan maar niet gelijk een slimmer meter kan laten installeren. (maar er staat me wel iets van bij dat slimme meters een probleem hebben met het terugbrengen van stroom in het net) (bijvoorbeeld als je zonnepanelen hebt) (moet ik nog even nalezen).

Enfin, mij lijkt dat ik mijn netbeheerder moet bellen:

Uw netbeheerder is eigenaar van uw meter. Indien u vermoedt dat uw meter defect is, kan uw netbeheerder u hiermee helpen. In eerste instantie zullen zij u telefonisch advies geven. Het is ook mogelijk uw meter door de netbeheerder te laten ijken. Dit gebeurt op basis van ongelijk: indien de meter inderdaad defect is, betaalt de netbeheerder de kosten. Maar als er geen defect wordt geconstateerd, zijn de kosten voor u.

Ik zal morgen dus even bellen met Stedin. Ik lees dat ze sowiso gratis de oude meters aan het vervangen zijn door slimme meters: http://www.stedin.net/Informatie_voor/Consumenten_en_kleinzakelijk/Pages/Slimme_meter.aspx dus ik zal ze dan vragen of ze dat dan niet gelijk kunnen komen doen.

Hey… wacht … ik lees: “ten slotte kunnen mensen die hier niet op willen wachten de slimme meter zelf aanvragen.  ”  maar uhm… dat kost dan € 72,60 excl. BTW. Ja uhm… dat ik ga ik dus niet betalen: “indien de meter inderdaad defect is, betaalt de netbeheerder de kosten”. Dus ik ga liever voor die 2e optie , ons ben zunig.

update: bel 08889639963 , kies 1, kies 4, kies 2, (“de gemiddelde wachttijd betreft langer dan 5 minuten probeert u het later nog eens”), Mevrouw aan de lijn aan wie ik het geluid liet horen. Ze meldde me dat dit vaker voorkomt en dat ik niet bang hoef te zijn dat de energie rekening opeens omhoog schiet, ze heeft een afspraak met de monteur gemaakt voor volgende week donderdag. Als het ding daadwerkelijk stuk is zal een nieuwe meter worden ingezet.

 

 

Vermist Marcel Meeuwisse

January 28, 2013

Via nu.nl (via emerce) zag ik een bericht dat microsoft Nederland een vermiste collega zoekt. Via mijn Linkedin netwerk zag ik dat deze 1 hop verder lag, dus vrij direct in mijn netwerk. Dus een re-post om te helpen om de vermissing op te lossen.

weblog: http://waarismarcel.blogspot.nl/

linkedin: http://www.linkedin.com/pub/marcel-meeuwisse/0/669/a32

politiebericht: http://www.politie.nl/vermist/vermiste-volwassenen/2013/januari/marcel-meeuwisse.html  (werkt niet goed, druk een aantal keren op reload om de pagina te krijgen)

facebook (vermist): https://www.facebook.com/waarismarcel

vermist: http://www.vermist.nl/index.php?id=5&tx_eftrosvermist_pi5[resultaten]=5&tx_eftrosvermist_pi5[pointer]=1&tx_eftrosvermist_pi5[showUid]=27347&cHash=92f6d90854e99c51bf86232f735c72c6

#waarismarcel: https://twitter.com/search?q=%23waarismarcel&src=hash (ik lees: de auto is terecht maar hij is nog steeds vermist)

foto’s :

image image image
image image image

Kenmerken:

  1. Sinds woensdagochtend 23 januari vermist (5 dagen geleden)
  2. auto: metallic grijze volkswagen passat cc met kenteken: 54-LJN-7 (volgens rdw: benzine, sedan versie, 07-05-2010 op naam gesteld, grijs) (maar auto is terecht zie: https://twitter.com/search?q=%23waarismarcel&src=hash)
  3. geboortedatum: 25-01-1963
  4. lengte: 1.80m
  5. He wore dark trousers, a dark pullover with underneath a white/light blue shirt and a green coat just over the hips of the brand ‘Peak Performens’. The car he is driving is a grey Volkswagen with license plate 54-LJN-7
  6. Marcel heeft rond 9:00 uur met zijn telefoon een zakelijke email verstuurd en is om 9:05 uur gesignaleerd bij de Shell pomp in Katwijk.
  7. Daarna is Marcel om 9:30 uur in Sassenheim gesignaleerd (ed: ik neem aan op de A4 richting Shiphol Rijk)

Een ieder die informatie heeft wordt verzocht contact op te nemen met de politie in Den Haag tel. 0800-6070

Zo te zien is #waarismarcel de plek voor de laatste info.

Update 29 jan 2013 :

Zoekactie strand

We hebben een concrete hulpvraag aan iedereen die wil meehelpen. De politie heeft de duinen van Noordwijk doorzocht, maar kan helaas niet verder zoeken met de helikopter vanwege de slechte weersomstandigheden. Het verzoek aan mensen die de handen uit de mouwen willen steken is of men wil mee helpen zoeken langs de kustlijn. In eerste instantie gaat het om de kust van Noordwijk e.o., maar vanwege de sterke stroming is het ook zinvol om verder te zoeken in een groter gebied, zeg maar van Scheveningen tot IJmuiden.
Als je in de buurt van deze kuststrook Scheveningen-IJmuiden woont, zou je dan willen zoeken langs het dichtsbijzijnde strand en aan ons laten weten of je iets gevonden hebt met vermelding van de betreffende strandpaalnummers. We publiceren dan op dit blog een overzicht met de afgezochte kuststroken, zodat anderen weer kunnen zien waar zij verder kunnen zoeken. Mocht je Marcel vinden, neem dan contact op met de politie op (0900) 8844 en vraag naar Bureau Noordwijk of Leidschendam.
Klik hier voor kustoverzicht
Als je eropuit gaat, neem dan gelijk een paar folders mee om te verspreiden.
Klik hier voor de folder
Deze zoekactie wil niet betekenen dat we er vanuit gaan dat Marcel zich in het water bevindt. Wij willen alleen met alle mogelijke middelen alle mogelijke scenario’s onderzoeken en wel of niet kunnen uitsluiten.
NB: De politie raadt iedereen zeer dringend af om zich in de duinen zelf bij Noordwijk te begeven. Zij hebben deze al doorzocht met speurhonden en helaas niets gevonden. Aangezien er in dit gebied op dit moment gejaagd wordt, is het levensgevaarlijk om daar te gaan lopen zoeken. Het heeft ook geen zin, dus neem die risico’s alsjeblieft niet. We willen niet nog meer slachtoffers.

Koning Willem

January 28, 2013

Maandagavond om 19.00 wordt een reeds opgenomen boodschap van koningin Beatrix uitgezonden op radio en televisie. Bronnen rond het hof bevestigen dat de koningin afstand gaat doen van de troon.

Zie ook : http://www.nu.nl/algemeen/3015320/liveblog-toespraak-koningin-beatrix.html

Hashtags : (voor de twitter streams naast het tv beeld voor twitter enabled TV’s) (zoals de mijne) :

image

Maar… wereldwijd is #beatrix nu trending en de grap is dat het fake account “Koningin Beatrix” erbij getoond wordt als “top people” … Twitter…

image

Set the Bing Wallpaper as daily background in WordPress

January 25, 2013

I was thinking if I could set the Bing Wallpaper as background in my WordPress blog automatically daily. It was not so much the technical idea, just … how it would work out or look.

And… while i was thinking… I fired up my NetBeans (somehow i have some projects in Eclipse and others in NetBeans) and the prototype is already there (10 minutes), my weblog then looks  like this, nice :)

bing

You can copy the following in a php file and place it in your /wp-content/plugins/ directory and then activate the bing plugin.

<?php
/*
  Plugin Name: Bing
  Plugin URI: http://wordpress.org/extend/plugins/bing/
  Description: Sets the Bing Wallpaper as your WordPress Background
  Author: Edward de Leau
  Author URI: http://edward.de.leau.net
  Version: 0.1
  License: GPLv2
 */
function WriteFile($file, $content)
{
    @mkdir(dirname($file), 0755, true);
    $fh = fopen($file, 'w') or die("can't open file");
    fwrite($fh, $content);
    fclose($fh);
}
$http_args_get = array(
    'method' => 'GET',
    'timeout' => 300,
    'redirection' => 0,
    'httpversion' => '1.0',
    'user-agent' => "WordPressBingWallpaperPlugin/0.1 (wordpress.org/extend/plugins/bing)",
    'blocking' => true,
    'headers' => array(),
    'cookies' => array(),
    'body' => null,
    'compress' => false,
    'decompress' => true,
    'sslverify' => false,
    'followlocation' => false
);
$image_url_array = array();
$bing_url = 'http://www.bing.com';
$bing_image_path1 = '/az/hprichbg';
$current_dir = dirname(__FILE__) . '/';
$filename = $current_dir . '/bing.jpg';
if (file_exists($filename))
{
    if ((time() - filemtime($filename)) > 60 * 60 * 24)
    {
        $response1 = wp_remote_request($bing_url, $http_args_get);
        preg_match_all("|" . $bing_image_path1 . "?(.*)',id|", $response1['body'], $image_url_array);
        $image_url = $bing_url . $bing_image_path1 . $image_url_array[1][0];
        $response2 = wp_remote_request($image_url, $http_args_get);
        WriteFile($current_dir . '/bing.jpg', $response2['body']);
    }
}
// in twentytwelve you now e.g. do:
/*
body {background-image:url(<?php echo $current_dir . '/bing.jpg' ?>)!important;background-repeat:no-repeat;background-color:#ccc!important;}
body {margin:0px!important;padding:0px!important;}
.site {background-color: rgba(255,255,255,0.2);!important;}
.header-image {visibility:hidden!important;height:0px!important;}
*/

Ofcourse… to really publish it much more work has to be done. Basic checks e.g. on returned values has to be set, a decent plugin activation has to be added, the plugin gui, etc…

And it would be nice if the main colors could be checked of the image to automatically give the fonts and such a contrasing color, that would really be needed.

That is all not too hard but boring :) If I have another break I will try to add the boring stuff and then upload it to wp. However I have first asked on the Microsoft Forums if such a plugin is “legal”, I am also awaiting that answer.

update: according to the ms forums reply all the pictures have different copyrights so it is probably not a good idea to publish such a plugin. (although there actually thousands of such programs for e.g. phones, mac or linux distributions). So I will leave it with just this idea.

Is the PHP Directory_Separator constant really needed?

January 21, 2013

A lot of coders use the PHP constant DIRECTORY_SEPARATOR to define paths that will work on Windows as well as other platforms.

However, I read here that is not needed for defining paths because Windows allows for the slashes to be both ways, which was left by Christian here on php.net.

(And to be honest, I rarely use the constant because I know this is the case for Windows)

But… what is the uber best practice? According to Jan Jungnickel one SHOULD use it because e.g. Mac OS Classic uses ":" (and see that last wikipedia page for more examples of other operating systems using different variants).

(ofcourse when exploding and parsing you would need it but I'm referring here to defining paths)

So… I come to the conclusion (with http://en.wikipedia.org/wiki/Path_%28computing%29 as a good example) that it is probably the most elegant and most cross platform to use this constant for defining paths.

But I would gladly hear your comment on that one.

D66 subsite gehacked?

January 14, 2013

Ik surfde naar een D66 subsite en kreeg de volgende melding van Google:

image

Meestal… krijg ik die melding op een van mijn sites als er via een of andere weg weer een onverlaat een manier heeft gevonden om e.g. javascript inserts in te voegen (maar ik moet zeggen… het laatste jaar is me dat niet meer gebeurd, ik heb de security danig vergroot).

Ik zal eens iemand tweeten (was net bezig met http://populair.eu/d66/ )

update: gefixed :)

Makerbot’s nieuwe 3d printer is betaalbaar

January 10, 2013

image

imageDe nieuwe 3d printer van Makerbot: de Replicator 2X kost 2800 dollar (CES) (bijna geen geld). Het aantal ideeen is natuurlijk al vrijwel oneindig. Over 10 jaar hebben we er allemaal een in huis maar de 3d printshops openen nu al. De Replicator 2X is qua prijs nu al verleidelijk……..(!) (als ik geen baas in huis had dan had ik hem nu besteld :) ).

Echter… ik denk … met 2800 dollar in deze fase… dat de 3d printshops geen lang leven zijn beschoren. Ik denk inderdaad dat binnen 10 jaar vrijwel iedereen zo’n ding naast zijn PC heeft staan. Shapeways is handig om ontwerpen uit te wisselen maar rond die tijd heeft elke 9 jarige vanuit de “ComputerTotaal!” geleerd heeft hoe je eigen ontwerpen maakt. En waarschijnlijk hebben we dan zoveel geprint spul in huis staan dat “huis opslag” te klein is. Waarschijnlijk hebben we dan ook de periode gehad dat het complete mkb zelfgeprinte relatie geschenken en goodies uitdeelt. Dus ook die noviteit hebben we dan gehad.

Het geld gaat natuurlijk zitten rondom de 3d ontwerpen. Maar… hoe voorkom je dat die ontwerpen de volgende dag te downloaden zijn op piratebay? “download de top 1000 game 3d designs” etc… ? En hoe voorkomen we dat ongeveer de complete boardgame markt gaat instorten? (en de “poppetjes en speelgoed markt” ?) (en telefoonhoesjes en mogelijk zelfs telefoons zelf…)

Waar zit de opportunity op lange termijn rondom 3d printen? Of gaat het op termijn massa ontslagen en veel failliette bedrijven veroorzaken?

Want wie koopt er nog “een schaakbord” als je zelf je unieke schaakbord kunt maken met whatever design? (als simpel voorbeeld). En waarom zou je een bedrijf inhuren als je zelf op je bedrijfje die dingetjes zelf kunt printen?

Ik denk dat iedereen in de business van “maken van creaties” er nu zo spoedig mogelijk uit moet stappen: alles zal worden nagemodeleerd en thuis illegaal geprint worden. Wat rest zijn een stel elite 3d designers. Een niche market.

p.s. Ook het overwegen waard zijn de reprap modellen (http://reprap.org/wiki) maar daar moet je iets meer mee fiddellen (ik weet niet of ik daar de tijd voor heb), wel een grote community. Leuk is dat je met een reprap 3d printer weer een andere reprap 3d printer kunt printen bijvoorbeeld voor vrienden.

image

 

image