
Show HN: I crossed a thesaurus with a domain availability checking API - grinnick
http://domainmasher.com/
======
grinnick
In case anyone is interested, this is a really bare Rails app which basically
just delegates to two open source Ruby gems I wrote and does some caching to
try and improve result fetching speed and cut down on api requests.

One gem is a wrapper for the Big Huge Labs Thesaurus API:
<https://github.com/dtuite/dinosaurus>

The other is a wrapper for the Ruby Whois gem. It adds Twitter and Facebook
availability checking functions: <https://github.com/dtuite/name_checker>

~~~
grinnick
Also it's getting kinda killed at the moment which is why the availability
checks are coming back kinda slow and are sometimes failing.

Should settle down after the rush is over.

------
faramarz
That was great, Thanks! I actually found a surprisingly good domain for my
next project. My apologies if I squeezed you out of a referral credit. I
processed it via DreamHost just to consolidate my all domains.

Great tool though! Maybe put up a Donate button and every time I find a
domain, I'll send some Karma $$ your way

~~~
grinnick
Haha no worries. I just link to name.com because it's what I like to use for
my own domain purchases (of which there are many!). Of course I do get a
referral fee but it's pretty small so I won't lose any sleep over it.

~~~
beefsack
I wonder how difficult it'd be to offer a range of referral options, I know if
you had Namecheap on there you would have caught me and potentially many
others :)

------
aparp
Nice idea and nice UI! facebook.com is taken but im getting grimaceledger.com!

~~~
CodeCube
hahaha, grimaceledger.com ... that is hilarious. People in the office must
have thought I was mad; as I was laughing while going through some
permutations of domain names.

------
Nursie
(Sorry to start a second thread but it's separate from the language issue.) Is
it just me that thinks the controls on the lists work upside down?

I find I want to use the arrows to move the box through the list, not move the
list through the box.

I am not a UX guy by any stretch of the imagination, so this is just an
observation rather than a judgement.

~~~
grinnick
I think it's just like when you try to play a games console game and the
Y-axis is inverted. Some people think it's normal, some people hate it.

~~~
benharrison
I love this idea, but I was thinking the same thing about the arrows. They
feel backwards to me.

------
dbro
I did, too. Different UI, though. See <http://www.domainjig.com>

~~~
grinnick
Really cool! What are you using for availability checking? You're getting so
many and they're coming in so fast!?

~~~
nwh
You can usually just hit the DNS for the domain, and if it doesn't respond you
can assume it's not taken. You might hit a couple of domains that are
registered with no NS set, but they are few and far between. I've used a
similar process before and been able to check hundreds of domains a second.

In your case you could probably do a DNS check, display "probably available",
and in the background do the time consuming WHOIS scrape.

~~~
grinnick
Cool, I might look into doing that instead. Thanks.

------
Nursie
I'm not quite sure what it's trying to say to me here, but with the exception
of 'wolf' and 'kitchen utensil' the second column is rather, err, theme
limited and slightly insulting!

    
    
      wolf
      woman chaser
      skirt chaser
      kitchen utensil (??)
      philanderer
      womaniser
      womanizer
    

\--edit-- OK, it took me a while (more coffee needed), this is just the
thesaurus result for 'masher' isn't it? Is this an American thesaurus as I
have never heard the word 'masher' used to refer to a womaniser before.
Kitchen utensil perhaps, maybe some sort of industrial machinery... /British

\--edit 2-- Yup, the womanising aspect is missing from British English
thesauruses (oxford, macmillan) AFAICT. You learn something every day

~~~
semaphorism
Hands off knowledgebaseskirtchaser.com - it's MINE.

~~~
Nursie
Sure, sure, but I got dibs on 'socioeconomicclasskitchenutensil.com'

:)

(to the author - cool tool, I may actually use this for future domain ideas)

~~~
grinnick
Great. Glad you like it.

------
tseabrooks
I love this idea. I did a couple of toy searches and found some pretty great
domain names. This sort've feels like one of those "Why didn't I think of
that" ideas. Which means... Good Job!

~~~
robmclarty
Indeed. Great job! I found some great combos for my own projects :)

------
pan69
Very nice.

It needs a little work on UI. When you select something in the lower end of a
list it's very difficult to see the higher end (which is out of the screen) of
that list. I'd keep the two main boxes at the top but rather than moving the
list up and down make it stay the way it is and make the chosen word selected
instead (more like a list of radio buttons without using radio buttons).

------
hayksaakian
Would you consider open sourcing this eventually?

I'm just curious about how you did some things like:

The tweet/like buttons. Did you go and make them on their respective sites, or
is there a gem that let's you drop in a URL? The sliding selects(?) used to
pick a name are a cool widget. Not obvious to me how you'd go about doing
something like that.

~~~
grinnick
I can't really open source the main Rails app "as is" because it would present
a security issue for me.

The Tweet/Like buttons just come from the Twitter and Facebook developer sites
(for example: <https://dev.twitter.com/docs/tweet-button>). You just generate
the code there and paste it into your site. Although, if you want a gem for
generating them you could try this: <https://github.com/dtuite/flakey>

The sliding inputs are custom built with Backbone.js and they probably
wouldn't be too easy to replicate unless you're handy with JS and Backbone.
However, I put most of the code into a gist for you so you can check it out if
you like: <https://gist.github.com/4663167>

Dependencies for code that are

1\. Backbone for structure 2\. Backbone Marionette for general code
organization 3\. jStorage for accessing localStorage.

------
ianstormtaylor
Cool idea!

I think to make it really useful you should be comparing all of the
permutations (at least for one of the columns) for me without me having to
click through each one by hand. If I give you a word it's already pretty clear
that the word is taken and I'm looking for alternatives.

~~~
grinnick
It's tough because it's not as difficult as you might imagine to get your IP
address rate limited. If a lot of people were using it at once and I was
sending out hundreds of availability checking requests I'd probably hit the
limits.

For example, I had this hosted on Heroku for a while and tons of requests were
failing because Heroku uses shared IP addresses for all the sites it hosts.
Evidently I wasn't the only person doing domain availability checks from their
network.

Also, the UI would get pretty nuts right?

~~~
firloop
Is it possible to run the domain availability checks from the client-side with
AJAX?

~~~
grinnick
Not sure to be honest but probably not. My availability checks eventually go
through this ruby gem: <http://www.ruby-whois.org/>

Basically it just does a whois lookup on the domain and I don't think I could
replicate that behavior from the client side.

Edit: This comment says it would be possible
<http://news.ycombinator.com/item?id=5132750>

~~~
raylu
But not client-side. Still, better to just do a DNS lookup (not rate-limited)
than WHOIS.

------
porker
Nice! Could you mix in some foreign dictionaries too? When I have a word, I'd
like to see alternatives for it in French, Spanish, Nordic, Italian, Japanese
(English-spelling) etc... lets me be creative and keep the central theme of my
brand present :)

------
stef25
Really nice. The only suggestion I have putting some kind of animated progress
indicator instead of just the text "waiting". If it takes more than a second
you tend to wonder what's going on, especially non technical users.

~~~
jakub_g
Agreed. Some load indicator, or "..." (in gray) will be more natural in this
environment. "Waiting" can be perceived as "waiting for you to register" /
suspended etc :)

------
nileshbhojani
Nice one! I like how fast it is, compared to the most of the domain
registration sites that I use to check availability. Not to mention the simple
and clean look of bootstrap.

~~~
grinnick
Thanks! Although, if this post gets in any way popular I'm sure we'll see just
how slow it can get!

I have weak design skills at all so for me, bootstrap is incredibly valuable
when building things like this. It's great.

------
rhizome
Previously, sort of:
<http://www.wired.com/science/discoveries/news/1999/04/19117>

------
znt
This is really cool. Is there way to set maximum/minimum word lengths for the
checkboxes? Because I wouldn't really want a long domain for any of my sites.

------
brackin
Wow! So smart this is something I do when coming up with domain names but nice
to simplify it, making it incredibly faster.

~~~
grinnick
Yeah that's why I made it. I was doing the same thing over and over with a
thesaurus so I just decided to automate the process.

------
armenarmen
I've wanted something like this to exist! Thanks!

------
Jaygitau
Awsome, I like how quick it is.

