Live data from Hacker News

Why is DNS still hard to learn?

jvns.ca

251–260 of 261 posts

Re: Why is DNS still hard to learn?

#251
tl;dr: suggestion: DNS is really hard to unlearn.

I do not agree with the implied sentiment of the article. And thus with some of the comments (from "both" sides) of the arguments presented here in the comments.

Hard is not defined, but is implied to be "harder than you believe it is."

That is a general characteristic of perhaps most topics worth pursuing in our field: computer science/engineering. (Defining it in this closed field space on purpose for brevity.) And especially in distributed systems, which DNS in some way falls under.

Further you have business interests, which have affected and will affect DNS -- we like it or not. And have added on top of it.

A number of individuals then use hard as "it is intractable" [to learn].

Is DNS harder to learn than BGP routing: I think not.

Does one need to spend a decade focusing on using and debugging DNS. I would argue not.

Does one need more time to dive into BGP than DNS to do state of the art work: I would argue yes.

DNS is simply not the hard and hot scientific problem people go around tackling from a research perspective.

It is a federated business (and political perhaps) problem at this point.

I do agree there is a lot of caching involved, which creates a ton of coherence and invalidation issues. That does not make the topic hard, it makes DNS problematic. (The other word I would use, and that I think Ms. Evans [the author] implies perhaps.) I agree totally with that.

I also think it is a point of approach the learning path to it for the average scientist here. A lot of people are introduced to DNS (or email to that extend) as: here is the sketch idea, we make sure it works, trusts us, and there is this single deified entity that makes sure it works, and it is not patched with other branches "constantly." All of the aforementioned sentence of course is a lie. But a lot of engineers learn that. (I was lucky to not have that introduction.) And then it comes time to debug a DNS issue -- when they actually realize it is a DNS issue.

So I would recommend a revised blog title to: DNS is really hard to unlearn.

Re: Why is DNS still hard to learn?

#252

Earlier quoted context omitted.

You might actually be surprised, or at least I was, that browsers -- and typically worse, IoT junk, still generally respect the DNS server(s) served to them via DHCP or they use plain ol' 53 to the hardcoded Google/Cloudflare standards. Some (like the Facebook Portal) are tricky enough to try DNS over TLS, but insofar as my big-list-of-common-DNS-IPs in the block rule is accurate, nothing reaches out over DoH unless…

Yes, but in the end unless they change the underlying transport (i.e. TCP/IP) to something that is not the Internet, you can still see that the traffic is happening and block the endpoint. If the device doesn’t work after that, well, maybe I didn’t need it.

I agree with that, but there's always going to be exceptions like 'smart' TVs. I have a Roku-based one, and I accept that whatever service (Disney/Hulu/etc.) I connect to can track what I do on their app, but I don't consent to Roku themselves tracking every click I make, app I'm using, or setting I change. Plenty of people have pointed out this traffic to Roku on their support forums, and AFAIK, they've never come clean as to what, exactly, they track.

Just because I let someone sleep on my couch doesn't mean I accept that they sneak into my bathroom and watch me shower.

Re: Why is DNS still hard to learn?

#253
post #249

Earlier quoted context omitted.

I've been using Linux for 25 years, spent 6 or so years doing administration type work on large Unix systems, and spent 10 years in a back-end developer role. I've somewhere in the high five figure range of hours spent contributing to FOSS software. More recently, I've gotten formal interface design education and worked in design roles. I am not a 'new school' FOSS nerd by any measure. > New-school FOSS nerds don't s…

> I've been using Linux for 25 years, spent 6 or so years doing administration type work on large Unix systems, and spent 10 years in a back-end developer role. I've somewhere in the high five figure range of hours spent contributing to FOSS software. More recently, I've gotten formal interface design education and worked in design roles. I am not a 'new school' FOSS nerd by any measure. If you have trouble with tool…

Edgy. Asserting that my deep consideration and professional concern with usability means that I don't understand the software is the most deliberately obtuse thing I've read this week, and I browsed Slashdot comments.

Measuring usability by your own comfort level is the reason user-facing "open source alternatives" that aren't foundation-backed with dedicated designers will remain "alternative" in perpetuity. It's also the reason that centralized managed environments like AWS et al will keep replacing in-house self-hosted systems throughout the world, despite the cost, as the need for that functionality exceeds the number of people willing to learn to use the archaic unix admin tool kit circa 1985.

Re: Why is DNS still hard to learn?

#254
post #201

Earlier quoted context omitted.

> Git is analogous - most uses of Git are formulaic, and the underlying concepts are simple enough - but actually accessing the right lever to pull when disaster strikes is unclear and hard to experiment with. Would you mind sharing some examples of hard-to-recover git related disaster? I ask because I previously worked with applying hundreds of patches on top of chromium (yes, Opera). This resulted in __multiple__ m…

Not OP, but I've encountered a few situations where the solution was modifying .git/ manually. The one that comes to mind was having two branches with names separated only by case on a case sensitive system, and then checking out both on a case insensitive system.

> I've encountered a few situations where the solution was modifying .git/ manually

Would be very interesting to know the purpose of modifying .git/ manually.

Re: Why is DNS still hard to learn?

#255

I feel like DNS is one of the more straightforward protocols, especially on a practical level, and especially given that most interfaces are a dropdown and two text boxes. I have noticed a lot of developers shy away from it, probably because they don't use it much or it's not their job (rather than it being hard).

Of the similarly-aged protocols, I think it's the most difficult (which is not saying much).

SMTP and HTTP can be pretty easily done by hand, which makes them more accessible to a person learning the protocols themselves.

DNS the protocol is simple, but I do think there's something to be said for how complex it is if you want to say, set up your own domain from which to reliably send e-mail.

Re: Why is DNS still hard to learn?

#257

Earlier quoted context omitted.

The "get off my lawn" vibe was totally intended. Doesn't change the fact that there are a bunch of "AWS architects" out there running Terraform and building future disasters because they don't properly understand the infrastructure that the whole thing sits upon. It's just like the morons who think that dynamic linking should be abolished for everyone, because they don't understand the use cases for distributors from…

> are a bunch of "AWS architects" out there running Terraform and building future disasters because they don't properly understand the infrastructure that the whole thing sits upon Back in my day we had two servers handle more requests than your 1000 nodes.

Back in my day all requests went to Hammurabi who just impaled you if he didn't like your requests.

simpler days. Goddoggone millennials.

Re: Why is DNS still hard to learn?

#258

Earlier quoted context omitted.

I disagree. The CLI is inherently a super-user oriented interface. The CLI needs to let an experienced user be as productive as possible. If you need a pretty UI with everything spelled out, you should go on GitHub and find a GUI that someone built on top of the core tool. But dumbing down the core tool is not the way to go. The --help message should be good, and the man page needs to be good, but the tool itself sho…

You are seriously taking the position that writing “received” instead of “rcvd” is “dumbing down”?

Someone who knows what information to expect doesn't even need a label. Once you're past that hurdle, it's redundant.

For instance, you look at the dash of your car every time you drive, and what little is labeled is abbreviated. The expectation is that when you understand how the vehicle operates, the gauges and lights will make sense. The information is encoded behind your knowledge. dig isn't really different.

Some people want the tools to teach them everything, but that's just not appropriate or necessary, whether you're talking about a hammer, a firearm, or a computer.

Re: Why is DNS still hard to learn?

#259
post #2

It’s not. It’s one of the few things that hasn’t changed much and it’s operation is fairly straightforward. dig is a little confusing. It’s more capable but less straightforward than good old nslookup (which still works fine BTW). I think partly DNS and the core protocols may seem confusing to younger people in the industry because so much stuff “just works” now. For example, today wifi routers “just work” right out…

> I think partly DNS and the core protocols may seem confusing to younger people in the industry because so much stuff “just works” now. Younger people aren't dumber than old one, they build even more complex stuff on top of these old abstractions.

Agreed. Not dumber, just building higher level stuff.

The value of deeply understanding all 7 layers has diminished because generally things are standardized and work well so it’s not required. This frees up some calories to work on higher level stuff like LLMs. That’s good.

It’s also good to encourage some people to understand the wisdom of the ancients in case SHTF.

Re: Why is DNS still hard to learn?

#260

Earlier quoted context omitted.

You are seriously taking the position that writing “received” instead of “rcvd” is “dumbing down”?

Someone who knows what information to expect doesn't even need a label. Once you're past that hurdle, it's redundant. For instance, you look at the dash of your car every time you drive, and what little is labeled is abbreviated. The expectation is that when you understand how the vehicle operates, the gauges and lights will make sense. The information is encoded behind your knowledge. dig isn't really different. Som…

KPH/MPH are ubiquitous standard abbreviations that exactly zero percent of people encounter for the first time when they drive for the first time. Occasional and brand new drivers will never not know what those things mean. Kilometers Per Hour is also 600% larger than KPH, and visual clutter while driving at highway speeds is a much bigger problem than when examining DNS records.

> Once you're past that hurdle, it's redundant.

Yeah, then multiply that hurdle times the thousand others someone has to memorize to work in *nix.

> Some people want the tools to teach them everything, but that's just not appropriate or necessary, whether you're talking about a hammer, a firearm, or a computer.

Textual output on a computer is a communication medium-- hammers and firearms are not.

Post reply on HN