I was going to write a message here congratulating this guy, as I love the concept - but then I realized he'd emailed me a few months back, blogged about us, then ripped off our product after we ignored him, and poorly at that.
2) At around the same time Steve sent me a personal email doing market research on the concept of Git-backed DNS. I didn't respond because, well, it was a bit of a clunky first way to ping someone. Still no problem, though - who hasn't sent a random stranger an awkward email before, right?
3) He then decided to build a competing product - and steal our messaging?! Seriously, go to http://www.namecast.net right now, check out our above the fold copy, and then check out dns-api.com. "Imagine if updating your DNS records was as easy as running "git push"." Really, Steve? Really?
This is where things go in my mind from "hey, two DNS guys had the same idea about Git and DNS, neat!" to "this dude can't create his own ideas so has decided to steal our copy and cargo cult copy our product."
Luckily Steve isn't very good at DNS or handling traffic, so his servers have fallen down and people are complaining about his feature set, so instead of complaining too hard:
For those of you who want a provider who's site won't fall over after a tiny crush of HN traffic, check out http://www.namecast.net.
We've also got working SRV, TXT and alias records - some of you have noticed dns-api.com doesn't - as well as geoIP and native IPv6 amongst other things, and as good members of the open source community, we're contributors to the open source geodns project (written in Go by Ask Bjorn Hansen, it powers the global NTP pool - so if you've got software that talks to pool.ntp.org, like say, ntpdate, it's talking to a server running geodns.)
1) I'm not annoyed that Steve's built a competing product. That would be like the developers of Squid being annoyed that Varnish exists, or lighttpd and Nginx, or.... you get the picture. Competition in the free market and especially amongst software providers is good and healthy, and saying otherwise is tantamount to saying that software is sacred. That way lies patent madness. Besides, LuaDNS and I'm sure others have similar products. I was actually really excited about this, as it validates our market, theoretically - until I recognized the name and visited the site.
2) I'm furious that Steve blogged about us, mailed us directly - so he damn sure knows about us and our product - and then directly lifted our copy and messaging, and is now presenting this as an original concept on a Show HN post. That's where this all falls apart. Just - not cool, buddy. Not. Cool.
2. What you call "lifting our copy" I call "Making the obvious comparison" - given the implementation. If it were a whole page, rather than one identical sentence, I'd be more apologetic.
That said I am genuinely sorry that this has caused annoyance, and I didn't mean to imply this was a genuinely new idea - just a new implementation of a good idea.
I'm not sure if refuting point by point will be seen as a sign of good faith, or getting bogged down in the details.
As you say multiple people have had similar ideas, including people such as LuaDNS.
That said:
1. If you check back you'll see my blog posts mention you, and LuaDNS, and others. But yes I've heard of you. e.g. The post previous to the one you link to says, in short "People will pay for Git + DNS" - http://blog.steve.org.uk/some_things_on_dns_and_caching.html - Which clearly gives the motivation, and before I saw you.
2. I guess we'll never know how that could have changed things.
3. Genuinely not intended to be anything other than the obvious thing that popped into my mind - I will absolutely get that changed in the next while.
As for the server falling over, it's a little heavyweight on the front-end, using some Perl CGIs, so the fact it died when having only 512Mb of RAM isn't a surprise.
You'll see that I've just setup both dns-api.org, and dhcp.io, both of which are handling decent amounts of traffic - and both of which are free. I hope that I'm capable of doing DNS stuff.
I'm glad your service exists, I'm glad you implement all the records, but .. apart from the word-collision I'm not sure that I'm doing anything particularly bad here.
I have a tool that syncs my DNS records to CloudFlare using flat files that I keep under version control. I just extracted it from my personal tool set:
>The DNS itself places only one restriction on the particular labels that can be used to identify resource records. That one restriction relates to the length of the label and the full name. The length of any one label is limited to between 1 and 63 octets. A full domain name is limited to 255 octets (including the separators). The zero length full name is defined as representing the root of the DNS tree, and is typically written and displayed as ".". Those restrictions aside, __any binary string whatever can be used as the label of any resource record.__
>Implementations of the DNS protocols must not place any restrictions on the labels that can be used. In particular, DNS servers must not refuse to serve a zone because it contains labels that might not be acceptable to some DNS client programs.
As an example these are all valid domains
6.4424.cn, 6www.4424.cn, 6662.cn
But Separating the prefix and domain with a space would already fix the issue.
The record format is the same one that is used for DJBDNS, which by default does not support IPv6 addresses. There is a patch that adds IPv6 support, records start with 6 for IPv6 records.
If you want to create a record named:
6www.whatever.com
You would put that into the file as:
66www.whatever.com
Only the first character is used in the DJBDNS record format to specify what the rest of record type is.
That holds the Lua program to parse my domains [1] and also holds a Sinatra application that gets a post commit hook from GH and then it was as simple as updating the database that PowerDNS looked at. I don't think I ever ended up fully using it.
I currently have a Git-based DNS setup and can highly recommend the workflow. Having a history, review and team-visibility goes a surprisingly long way.
I don't see a way to add txt records, which are important for many things. Nor do I see srv records or others.
The documentation also doesn't make it clear because it links TinyDNS format, but says you're using a simplified version without mentioning any real details.
Are there any plans to support / document these other record types?
By simplified I mean that we don't support TXT, SRV, NS, or SOA records.
The missing record-types are highlighted as a concern, and it should be possible for me to add them quickly.
I've launched now mostly to see if there is a demand for this middle-ware - rather than having people jump-ship immediately to Amazon. (Plus I find the idea of Git being used neat.)
So, in conclusion yes missing SRV, missing TXT, and they will come.
That would be the end goal - but since all users get cookies there's not obvious "I'm anonymous" vs "I'm a signed-in-user" differentiator I can use to control whether to cache or serve live.
It'll happen, shortly, but the fastest solution was to re-deploy on a scaling platform.
I'm happy to support anything that will allow a WebHook to be invoked on a push event. I'm certainly intending to look at GitBucket, and similar.
Handling private repositories is a pain (at least with GitHub) because my key would need to be added to allow a clone/update. If there's a way round that, perhaps via applying patches on demand, I've not come across it.
As you say hosting DNS records publicly might be a concern for some. I don't really see a way round it, and I'd guess that by and large people consider DNS-data public, by definition ..
1) On April 19th, Steve wrote this blog post mentioning us, Namecast: http://blog.steve.org.uk/i_was_beaten_to_the_punch__but_felt...
2) At around the same time Steve sent me a personal email doing market research on the concept of Git-backed DNS. I didn't respond because, well, it was a bit of a clunky first way to ping someone. Still no problem, though - who hasn't sent a random stranger an awkward email before, right?
3) He then decided to build a competing product - and steal our messaging?! Seriously, go to http://www.namecast.net right now, check out our above the fold copy, and then check out dns-api.com. "Imagine if updating your DNS records was as easy as running "git push"." Really, Steve? Really?
This is where things go in my mind from "hey, two DNS guys had the same idea about Git and DNS, neat!" to "this dude can't create his own ideas so has decided to steal our copy and cargo cult copy our product."
Luckily Steve isn't very good at DNS or handling traffic, so his servers have fallen down and people are complaining about his feature set, so instead of complaining too hard:
For those of you who want a provider who's site won't fall over after a tiny crush of HN traffic, check out http://www.namecast.net.
We've also got working SRV, TXT and alias records - some of you have noticed dns-api.com doesn't - as well as geoIP and native IPv6 amongst other things, and as good members of the open source community, we're contributors to the open source geodns project (written in Go by Ask Bjorn Hansen, it powers the global NTP pool - so if you've got software that talks to pool.ntp.org, like say, ntpdate, it's talking to a server running geodns.)
mic drop
--afsheenb