The domai.nr service is a handy way to find domains that make nice short URLs like debu.gs, nick.is, and craftstud.io.
I had a need awhile back to access this web service from a script and query a bunch of domains all at the same time, so I thought it would be nice to have a wrapper in Factor.
The domai.nr service has a JSON API for performing searches, that we can build URLs for:
: domainr-url ( query -- url ) URL" http://domai.nr/api/json/search" swap "q" set-query-param ;
Each result has these fields that are returned:
TUPLE: result domain host path subdomain availability register_url ;
It is pretty simple to map a JSON request to these result
tuples:
: domainr ( query -- data ) domainr-url http-get nip json> "results" of [ result from-slots ] map ;
Finally, we can perform a query and print the output nicely showing which domains or URLs are available:
: domainr. ( query -- ) domainr [ [ subdomain>> ] [ path>> ] [ availability>> ] tri "%s%s - %s\n" printf ] each ;
Running this query for "factorcode" looks like:
IN: scratchpad "factorcode" domainr. factorcode.com - available factorcode.net - available factorcode.org - taken factorcode.co - available factor.co/de - taken factorcode.io - available factorco.de - available factorc.de - available fac.to/rcode - available f.actor/code - unavailable f.ac/torcode - unavailable fctrc.de - available fctr.cd/e - available fc.tr/cde - unavailable
Well, if we wanted to make our URL something like factorco.de we could, but I'm not sure that's worth it. Still, a neat way to look for interesting URLs and available on my GitHub.
Seeing all the api's you implemented for factor, my question could already be answered.
ReplyDeleteI wondered if there is a vocab for nutrition api (from the web) for factor.
so I can request "kale" (100g) and get:
H{
{ "calories" 28 } ! kcal
{ "fat" 0.4 } ! g
{ "sodium" 23 } ! mg
{ "potasium" 228 } ! mg
{ "carbohydrate" 5.63 } ! g
{ "dietary fiber" 2 } ! g
{ "protein" 1.9 } ! g
{ "sugar" 1.25 } ! g
{ "water" 91.2 } ! g
! vitamins ...
} ...
What do you think?
thanks, kobi
I'm not aware of any written in Factor, but thats a good idea for another blog post!
ReplyDeleteThe USDA Nutrition Database could be a useful source of nutrition data for such a thing. I started the process of parsing the data files this morning, maybe I can put together a working example in the next few days...