dns question I'm having trouble googling the answer to: why do MX records have a priority (like '10 aspmx.l.google.com.')? like A records and NS records also have multiple servers, but they don't have a priority
I'm not going to do this but sometimes I think about writing a book called "networking for millennials" which explains which networking things still make sense today and which ones made sense historically but are kind of outdated given how we design infrastructure now
whether or not I ever write something literally called "X for millenials", a big part of my goals for wizardzines.com is to answer "ok, it's 2021, you want to learn this 30-year old technology for the first time, which parts do you actually have to know?"
• • •
Missing some Tweet in this thread? You can try to
force a refresh
computer language poll: is mail.google.com a subdomain of google.com? (not a trick question, no wrong answers, please don't argue about it in the replies, I'm just curious what different people think the word "subdomain" means :) )
the ambiguity here is that mail.google.com doesn't have its own NS/SOA record. An example of a subdomain that *does* have those things is alpha.canada.ca -- it has a different authoritative DNS server than canada.ca does.
anyway I think arguing about definitions of words is super boring but I always think it's interesting when a really common technical term has multiple meanings (so far 6% of people definitely voted no to that poll! :))
here's a fun open source story! i wrote a ruby profiler called rbspy 3 years ago. when I started the project, segiddins filed an issue asking for C functions to be profiled correctly (github.com/rbspy/rbspy/is…). I spent some trying to fix it but never figured out how to do it (1/2)
and then just last week, acj wrote a beautiful pull request that fixes the issue github.com/rbspy/rbspy/pu…! It uses a method of resolving the C function names that I didn't know was possible! It was so fun to get to see how it works and we merged it yesterday. (2/2)
maintaining an open source project is boring sometimes (like when you're redoing your CI again!) but I really love learning from other people's contributions to the project
does anyone know a clear explanation of **exactly* what happens when you send a packet to 8.8.8.8 from a docker container? (i *think* the packet goes out through the veth pair, gets SNAT-ed, and comes back through the docker0 bridge but I'm very confused about it)
found this great blog post thanks to @vaijab that shows how to trace a packet's journey with `perf trace` and I'm so happy right now blog.yadutaf.fr/2017/07/28/tra…
also I think this post by @iximiuz is the clearest explanation of container networking I've ever read (though it still doesn't feel simple to me :) ) iximiuz.com/en/posts/conta…
I run a business called Wizard Zines (wizardzines.com) where I sell short (20-28 page) books (aka "zines") on Linux, Git, HTTP, SQL, bash, CSS, containers, tcpdump, networking, and more
I spent most of October tweeting bash comics, and I’m excited to announce that my “Bite Size Bash” zine is coming out on Wednesday!
here’s a thread with a little bit about why I wrote the zine…
I have a friend who’s a super accomplished senior engineer who mentioned once that they find working on bash scripts really scary and demoralizing.
so, why do really talented programmers struggle with bash?
some problems with bash:
1. It's a weird & counterintuitive language 2. you probably don't need to write it that often, so you don't practice 3. the times you DO need to use it, it's often because something important (like a build) broke and it needs to be fixed RIGHT NOW
- at least in firefox, <input> & <button> are inline-block by default, not inline
- the width on a block element defaults to auto, not 100% (though it will often look like it's 100%)
- you can set the width on an inline element if it's a "replaced" element
this "replaced element" thing is really confusing (developer.mozilla.org/en-US/docs/Web…). I did some tests and it seems like in Firefox a textarea is `display: inline` by default, but it's a "replaced element" so you can still set the width in CSS