Monthly Archives: April 2015

Three letter ccTLD domains

The Ring of ccTLDs #3

The Ring of ccTLDs #3 by Grey Hargreaves.
Creative commons license, found on Flickr.

My registrar of choice, Gandi, had its 15th anniversary this month. Apparently, I’ve been a customer for 15 years too. Has it been that long? Anyway, they gave away prizes and I’ve got codes for three free .xyz, one free .me, a .com at 50% and a .eu at 1€. To be entirely frank, I have no idea what to do with any of those codes1, but as you do when you get something for free, you tend to look what’s up for grabs. As the shortest, non-grandfathered, domain names you seem to be able to get are three letters long, I tried a few for .xyz and to my surprise I saw that the corresponding .lu was free.

That was a surprise. I’d have expected that most, if not all, three letter .lu domains would be taken. So I decided to investigate. A quick one-liner pounded the whois servers, and, well, I got banned quite quickly at my work IP address. I should have foreseen that. You might have seen a Facebook status about it, and someone suggested to first look whether there are DNS records2 and, then, and only then do the whois checks3. I decided to do exactly that and I ended up with 14291 three letter domains that have no valid DNS entries. That’s an amazingly a small amount. There are 26×26×26 = 17576 possibilites4, which means only 19% of all three letter .lu domain names have DNS entries.

Now, what? That’s way too much for bulk querying the whois servers and I had no desire to get my home IP blacklisted. My plan was to do one whois every 20 minutes, but that would make nearly 200 days. I decided to go manually over the list and pick the ones that caught my eye. I’m human, I get bored, so that’s probably why I selected more at the beginning of the alphabet. Anyway, I selected 87 domains for investigation and it turned out that 71 of those were not registered. Some examples (but really, just a few):

  • ado.lu : “ado” is French for teenager.
  • aes.lu : Advanced Encryption Standard. Neat to have as nerd.
  • asm.lu : Nobody in the demo scene got this? Seriously?
  • foo.lu, bar.lu, and baz.lu : Yes, you can still have the full metasyntactic-variable sequence. That “bar.lu” is isn’t taken, is simply amazing.
  • bbw.lu : I am so tempted to get this one.
  • bid.lu : For an auction site?
  • fac.lu : In French “la fac” is pretty much the colloquial equivalent of university.
  • fkk.lu : The Germans will understand.
  • gnu.lu : All hail Richard Stallmann!
  • jiz.lu : If you don’t know why, you need to have your perversion levels adjusted.
  • jts.lu : Ok, this one only means something to me. Online I get referred to as JTS. I don’t know when people started to do that, but I guess it’s because “jawtheshark” is too long.
  • nan.lu : Not a number. Another nerdy one.
  • pdp.lu : Neeeeerd! You should also take vms.lu, which is also available.
  • pie.lu : The cake is a lie, but the pie isn’t.
  • ocr.lu : Optical character recognition. I could see value in this if you’re in document management.
  • raw.lu : Calling the photography nerds… or for weird porn.
  • tit.lu : Again, I’m so tempted to take this one.
  • xen.lu : I should get this one, just for when I need to go freelance and want to offer virtualization services.
  • zzz.lu : Because I really got sleepy after going through so many domain names.

You can get the full list of the ones I verified as “not registerd”. (List without DNS entries) A .lu is free to register for everyone, worldwide and costs about 25€ per year.


Addenum
Apparently, while creating this post, I opened up the wrong list, namely the DNS verified one. My mistake. A few listed here are not free and haven’t been for a while. Those are foo.lu and bar.lu. No metasyntactic-variables for you. Sorry.


1I could add a few to my “free-for-friends” dynamic DNS. For now you can only get a subdomain of ipv4.lu.
2 Script used: for domain in `echo {a..z}{a..z}{a..z}`; do if [[ -n `host $domain.lu | grep NXDOMAIN` ]]; then echo $domain.lu; fi; done > threeletters.txt
3 Script used: for domain in `cat selected-domains.txt` ; do QUERY=`whois ${domain} | grep "% No such domain"` ; if [[ -n "${QUERY}" ]]; then echo ${domain} is free ; fi ; sleep 1200 ; done > available-threeletter.txt
4 Ignoring numbers, which would expand the search space a bit more.