Only oddity was the reference to the "router cache". I agree if your browser tried to lookup example.com the local cache would be used, but then it would be the system's configured DNS server - and that would most likely be an ISP, rather than your local router.
(Assuming a typical home connection, your router is _probably_ not a DNS server with local cache, it probably is a DHCP server which will hand out the upstream/ISPs' nameservers.)
I think this is probably quite dependent on what’s normal for ISPs in the region. In the UK for example, every ISP router I’ve had runs a DNS server and it’s that which is given out via DHCP. It then forwards onto the ISPs DNS platform.
American here, most of ISPs here do it as well. With modern router hardware, there is plenty of hardware available to run tiny DNS server that caches and forwards all requests to ISP upstream. Memory overhead is probably about 50MB and CPU overhead is trivial, probably .1% or less.
I would argue the contrary - most home routers are running a DNS server of some kind. They forward to upstream, but will resolve local names like your printer and whatnot.
dnsmasq is the defacto tool on these embedded devices for dhcp+dns. probably a billion deployments. it's up there with sqlite for most used tech.
IIRC a resolver is what people would think of as a DNS server only it's not an authority for any domains. Like you said, they're used to get load off of authoritative servers and are very common. I think dnsmasq is mentioned explicitly in the O'Reilly locust book but it's been a while.
My parents are with Bell (the biggest ISP in Canada) and use the Bell Gigahub (Router/AP/Switch in one). It does have a DNS cache and the its set as the DNS resolver in their DHCP configuration.
Indeed. A big chunk of my email parser deals with missing or incorrect content headers. Most of the rest attempts to sensibly interpret the infinite combinations of parts found in multipart (and single-part!) emails.
Most of the "Awesome XXX" lists are designed solely to promote their creators pet project.
You can see the gaming happen early on in many of these lists, where commercial things start appearing quite highly, or weirdly the project get sponsored.
Once they get popular the creators abandon them and start ignoring the updates/PRs because their task of feeding traffic to their personal projects has been accomplished.
It was only a couple of years ago since I wrote an assembly language program of my own and got hit by branching-limits on the Z80 processor.
I did exactly the same things that were suggested in this article, either inverted conditionals, or had a thunk - essentially "jmp nextJump", where that jumped to the actual location.
I sometimes spent a few hours shuffling code around to remove the longer jumps and re-order code in groups closer together to save individual bytes.
I think "for work" is very definitely the reason for me. I've run Linux at home since 1994 or so.
As a sysadmin/devops person 90% of my life is emacs, a browser, and collection of terminals. When I get a job I get offered a choice between a windows laptop or a macbook. Sometimes, rarely, I'm allowed Linux, but usually they say "compliance" or that their security scanning software won't support it.
So I use macbooks for work, but I wouldn't pay for one personally. But they allow me to run terraform, git, shells, and similar things in the way that I'm comfortable with.
reply