I love that the networking stack uses SLIP and slattach(1)!
I was playing with a toy TCP/IP stack, and decided using SLIP over a pty on Linux was a great way to interface with the kernel. Unfortunately it looks like macOS previously shipped with slattach(1) a very long time ago, but no longer does.
I'm curios if other people have used SLIP on macOS to get a dead-simple, cross-platform API to the networking stack?
The alternative would be to use tun/tap on Linux and utun on macOS, but SLIP would be so much nicer.
Another option is to use the p5.js library. They also have a nice online editor, at https://editor.p5js.org/, which makes it easy for students to get up and running quickly.
Very interesting telnet site, thank you for sharing!
FYI, though, I think this may be looking at the wrong object ID.
It selected "31", which appears to be the entry for one of the Lagrange points. Voyager 1 and 2 appear to have negative ID numbers, "-31" and "-32".
I have a domain I've been using for some 20 years as my primary email address. There are some gmail users I can send mail to without any problems at all. For other gmail users, my messages appear to go into a black hole, not even showing up in their spam folder. Looking at my postfix logs, I can see gmail's SMTP servers don't report any problems at delivery time. It's frustrating.
The post does a poor job explaining it, but the term "gaping security hole" comes from traditional netcat's source code. In order to enable the "-e" (exec) flag, it must be compiled with "-DGAPING_SECURITY_HOLE".
> A “crash” is an unscheduled system reboot or halt. There is about one crash every other day; about two-thirds of them are caused by hardware-related difficulties such as power dips and inexplicable processor interrupts to random locations.
The README that Hobbit (author of the original netcat) wrote is a really good read. I learned a lot when I first read it years and years ago.
I especially remember it describing how it is possible to get "in front" of another daemon.
If the daemon has bound a listening socket to 0.0.0.0, as most do, you can bind to a more specific address on the same port and intercept inbound connections. Fun!
I've been using a perl-based calc for a number of years now. It started as a
one liner eval-ing expressions on the command line. My favorite feature is that
if symlinked as "hex", "oct", or "bin", it prints the output in hexadecimal,
octal, or binary. And, because the evaluation is done by perl, hexadecimal,
octal, and binary numbers can be entered using "0x", "0", and "0b" prefixes.
A minor improvement was the substitution of commas with underscores, which perl allows in numbers for easier readability. Entering "1,000,000"
is much nicer on the eyes than carefully counting the number of trailing
zeros.
Two weeks ago, after becoming fed up with having to copy and paste
results from one line to the next, I wrapped it in a repl and added
bc(1)-like support for "." expanding to the last value. Rather embarrassingly, I
started to implement bc(1)-style variables, but then
realized this was incredibly silly as you can simply use perl variables directly. :-)
I fully support writing other calc implementations, especially in languages
such as C! It's a great exercise, and can become very complex very quickly. bc(1) supports arbitrary precision (try: echo "scale=500; 4a(1) 42" | bc -l), which is super awesome. In C, I've only implemented RPN calculators, never infix, which would be fun to try.
It looks like the new XPS models have a single trackpad soft-button area (as all new laptops seem to). Have you been able to middle click to paste in X with this configuration?
Regarding a living will, one I've seen that I really like is Five Wishes (https://www.agingwithdignity.org/five-wishes.php). I have one filled out that I've been procrastinating giving to friends and doctors, which is a mandatory step for having it be an effective document. Thank you to GYST for reminding me I need to take care of this.
I get my hopes up when I see another vim emulation project, but after using it for just a few minutes, I already found a few missing vim features I use every day:
* Toggling if search results should be highlighted (:set hls, :set nohls)
* Opening the filename under the cursor in a new window (^W f)
Completely emulating an entirely different editor is very, very difficult :-(
I applaud everyone contributing to these projects, and hope they continue to improve! They've already come a very long way from evil, and viper-mode.
A few years ago, I heard an NPR interview with a doctor who's friend was
terminally ill. Rather than opt for treatment, the friend spent his remaining
time living with his doctor friend. He died a few months later. The doctor
said that this is how she wanted to die, too. I've tried a
number of times to find the story, but I haven't been able to. Does it ring a
bell for anyone? I'd love to listen to it again.
I wish I had time to cite a reference, but my memory is that an ANY query is not guaranteed to return all RRs, anyway. Running a quick experiment against bind 9.8.4 (as packaged in Debian stable), I can confirm that:
* When no entry already exists in the cache, bind will forward the ANY query to an authoritative server and return the result.
* When some information is already present in the cache, bind will return only the information already cached, without querying more information from an authoritative server
Thus, if you need to know if a specific RR exists, you must query for that specific RR.
Still, to aid humans in debugging DNS problems, a nice compromise might be to allow ANY queries only over TCP. That would alleviate the spoofing problem.
I was playing with a toy TCP/IP stack, and decided using SLIP over a pty on Linux was a great way to interface with the kernel. Unfortunately it looks like macOS previously shipped with slattach(1) a very long time ago, but no longer does.
I'm curios if other people have used SLIP on macOS to get a dead-simple, cross-platform API to the networking stack?
The alternative would be to use tun/tap on Linux and utun on macOS, but SLIP would be so much nicer.