Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    S

    Scott Lowe

    blog.scottlowe.org · Personal blog · on HN since 2010

    Scott Lowe writes technical how-tos on networking, Linux, SSH, Docker, Git and virtualization, with posts dating back to 2006.

    Visit blogRSSHN submissions
    NetworkingDevOps & CloudOpen Source & Linux
    What HN says

    HN commenters call it a go-to for network-related reading and cite it for specifics like avoiding .local on macOS and Linux network namespaces.

    Stats for nerds
    27HN people shared it
    16linked in comments
    456story points
    Feb 2025last shared
    2010people per year2025

    Top posts on HN

    1. 1
      Conditional Git Configuration
      1 person · 287 points · first shared 2023 · 70 comments on HN
    2. 2
      A Quick Introduction to LXD
      1 person · 142 points · first shared 2015 · 37 comments on HN
    3. 3
      Introducing Linux Network Namespaces
      2 people · 6 points · first shared 2016 · Discussion on HN
    4. 4
      Using WireGuard on macOS via the CLI
      1 person · 3 points · first shared 2023 · Discussion on HN
    5. 5
      Running a Small Docker Swarm Cluster
      1 person · 3 points · first shared 2015 · Discussion on HN
    6. 6
      Mac OS X and .local Domains (2006)
      3 people · 2 points · first shared 2015 · Discussion on HN
    7. 7
      Using an SSH Bastion Host (2015)
      2 people · 2 points · first shared 2016 · Discussion on HN
    8. 8
      A Brief Introduction to Linux Containers with LXC
      1 person · 2 points · first shared 2013 · Discussion on HN
    9. 9
      Checking Out GitHub Pull Requests Locally
      1 person · 2 points · first shared 2015 · Discussion on HN
    10. 10
      The End of the Infrastructure Engineer?
      1 person · 2 points · first shared 2011 · Discussion on HN

    What HN people wrote when they linked it

    • teraflopMay 2014

      This is pretty interesting, but unfortunately their intro page doesn't do a good job of explaining why. (For instance, they use the word "unprecedented" without really saying what makes Arrakis different from previous exokernel-like designs.) I'll try to summarize what I got out of skimming the paper[1]:

      When you have multiple applications running on the same machine, you need some way to safely share resources between them; for example, incoming network packets are a resource. A kernel handles this by keeping a data structure mapping sockets to processes, and demultiplexing data that comes in from the network card. Hypervisors work the same way, except at the level of virtual machines rather than processes.

      Arrakis does the same thing, but relies on hardware support in the network card to dispatch packets to the right process. This relies on a standard called SR-IOV[2] which allows the OS to configure a PCI device to present itself as multiple virtual subdevices. The kernel programs the NIC to dispatch packets to different buffers depending on the incoming MAC address; after that, packets can be dispatched with no kernel involvement at all. Similarly, you can tell a disk controller to present a particular extent of a disk as a new virtual storage device.

      The blurb about memory protection seems to be a red herring, because as far as I can see they haven't done anything to change that. There's still a kernel, which handles requests for resource mappings, and processes are…

    • predakangaMay 2016

      Besides the usual public/private key system, OpenSSH supports a less-used system called user certificates.

      User certificates achieve the same purpose as your normal key but instead of pre-installing your public key on the server, you present a certificate during authentication and the server checks that it's signed by a trusted authority - it's more or less a PKI similar to that used for HTTPS, etc.

      One of the key advantages of this approach is that the CA can enforce limits on the key, such as validity periods and disabling SSH features like port forwarding, binding a certificate to only run a particular command, or only allowing it's use from a specific IP.

      BLESS appears to be a piece of infrastructure for autonomously signing these certificates - on it's own that gives you benefits like a proper audit log, but it seems that it's real purpose is to enable an SSH bastion host[0] to generate ephemeral keys for the servers it accesses.

      [0]: http://blog.scottlowe.org/2015/11/21/using-ssh-bastion-host/

    • pratioAug 2024

      Like other commentators have already mentioned but the openssl suite already solves these problems and even more complex ones

      For example:

      Specifying different keys different servers

      Host github.com

      User git IdentityFile ~/.ssh/id_rsa_github Host myserver

      User username IdentityFile ~/.ssh/id_rsa_myserver Reuse SSH connections for multiple sessions

      https://blog.scottlowe.org/2015/12/11/using-ssh-multiplexing/

      https://blog.poespas.me/posts/2024/04/27-optimizing-ssh-connections-with-multiplexing-and-control-master/

      Host *

      ControlMaster auto ControlPath ~/.ssh/sockets/%r@%h-%p ControlPersist 600 Other than that, you can also do ssh agent forwarding, port forwarding etc. These are all crucial functions that user like me need when we access remote machines.

      I hope you take this as constructive criticism and not a knockdown on your work. You've created and released something that's great but this site usually brings more advanced users.

    • coldteaDec 2020

      >I mean, wtf? With open source, there is at least discussion and education about something like this.

      You'd be surprised -- unless you follow dev forums for various elements of your DE/distro.

      macOS moves because it updates into a clean system as far as those configs are concerned.

      In any case, it takes like 2 minutes to write a shell script to deploy your pf.conf/automount config after every such upgrade, and 1 seconds to use it. Or to look for the proper, permanent, way to do it: https://blog.scottlowe.org/2013/05/15/using-pf-on-os-x-mountain-lion/

      With brew and brew mas you can also automate command line and GUI app installations, even custom font installs, among other things.

      I can get up and running into a new machine in ~2 hours from a clean install with an automated shell script and get all my apps and cli apps, custom shell aliases/scripts, configuration for dev tools like VSCode and IntelliJ, documents (from TM/Dropbox) and so on.

    • zanderhillFeb 2025

      Very excited about the fork's improvements given the lack of responsiveness in core repo. I've hit some of these bugs including the registry issue. Thank you for open sourcing it.

      I've used a combination of ProxyCommand directive in ssh config + a script it calls w/ the `%h` (host) to unpack what the correct instance-id is (like @galanwe). For the proxycommand, you can embed an `aws ec2-instance-connect send-ssh-public-key` for pushing a key valid for 60s followed by activating the SSM session.

      The downside is it adds ~20-30s delay in connection due to the API requests, but if you're making repeated rapid requests to same instance, I recommend looking into ssh's ControlPath, ControlMaster and ControlPersist to keep a longer lived session that's re-used for client re-connections (ref: https://blog.scottlowe.org/2015/12/11/using-ssh-multiplexing/)

      [Edit to add that I've hit the registry bug myself]

    • darrmitDec 2017

      I'm sure this might be an unpopular opinion here, but my experience has been that when you do normal business collaboration - WebEx, etc. - in Linux, you spend more time fighting to make things work than you do actually working. Chrome and the proliferation of webapps has helped this somewhat, but it always ends up being something.

      Scott Lowe did a pretty interesting series of blog posts [1] on it and ultimately ended up back on a Mac because it just killed his productivity and called it "death by a thousand cuts". This mirrors my experience. I want to be on Linux and there's a lot to love, but it's just not..stable? evolved? polished? (not sure what the right word is) enough to be a daily driver for most non-development oriented people.

      [1] https://blog.scottlowe.org/2017/10/25/linux-migration-wrap-up/

    Related

    Mattobox.matto.nl15 people

    We Must Revive Gopherspace (2017)

    Matto
    Personal · last shared 2025
    GNOME Blogsblogs.gnome.org490 people

    AirPods fast connect security vulnerability

    GNOME Blogs
    Company · last shared 2026
    CoreOS Blogcoreos.com316 people

    CoreOS is building a container runtime, Rocket

    CoreOS Blog
    Company · last shared 2020
    Stefan Judisstefanjudis.com49 people

    Git commit accepts several message flags (-m) to allow multiline commits

    Stefan Judis
    Personal · last shared 2026
    Zwischenzugszwischenzugs.com66 people

    Things I Wish I'd Known About Bash

    Zwischenzugs
    Personal · last shared 2026
    Matt Rickardmatt-rickard.com98 people

    Reflections on 10k Hours of Programming

    Matt Rickard
    Personal · last shared 2025
    Beejbeej.us233 people

    Beej's Guide to Git

    Beej
    Personal · last shared 2026
    Scott Hanselmanhanselman.com667 people

    I Miss Microsoft Encarta

    Scott Hanselman
    Personal · last shared 2026