NetBSD adds a new beginner-friendly text editor called atto

(mastodon.sdf.org)

83 points | by luke8086 3 hours ago

16 comments

  • chipotle_coyote 1 hour ago
    To promote this to a top-level comment, because I think it's important context: nothing in the README file says the point is to be "beginner-friendly". As far as I can tell, that's something that Hacker News or whoever submitted this used as a description. Neither the word "beginner" nor the word "friendly" appear in the README; its goal is to "be the smallest functional Emacs in less than 2000 lines of C."

    I think somebody incorrectly described Atto as comparable to nano/pico, and these comments are dragging it because it's not something that it was never intended as.

    • luke8086 1 hour ago
      OP here, I just paraphrased the announcement:

      > To ease the transition for new users, #NetBSD -current now includes an alternative editor to vi(1) and xedit(1) in its base system, atto(1). https://man.netbsd.org/atto.1

      > It is a modeless screen-based editor similar to nano, pico, xedit, or emacs. It is only 48 kilobytes, making it suitable for inclusion in the rescue system.

      I think it's fair to call it beginner-friendly, in context of BSD and vi, but maybe indeed it shouldn't be part of the title.

      • SoftTalker 45 minutes ago
        I can't imagine a beginner really knowing what is going on in nano.

        Every time I get launched into nano/pico on a new system I find it very confusing. To use the help menu you need to know that ^-X means Ctrl-X and M-X means Alt-X. Why "Write Out" and not "Save"? And when I "Write Out" I'm offered DOS format or Mac format, and options to Append or Prepend (not even sure what that does).

        It's completely bizarre if you're used to something like Notepad or Word.

    • drummojg 1 hour ago
      I would never drag pico. I wrote software that's been packaged in Linux distros in pico. And I lost the urge to be The Smartest Guy In The [Room/Mailing List/Forum] a long, long time ago.
      • Natfan 1 hour ago
        what's really the point in being the smartest person in the room? you'll never learn anything!
        • MonkeyClub 1 hour ago
          Yep, whenever you find yourself being the smartest person in the room, you need to find yourself a smarter room.
          • vinceguidry 1 hour ago
            Or just learn how to teach.
            • aleph_minus_one 7 minutes ago
              > Or just learn how to teach.

              Most people don't want to learn (in particular not learn sufficiently hard to really improve).

        • metchio 1 hour ago
          sometimes humans do irrational things / have illogical behaviour just to glorify their own ego. it happens also to the very best sometimes
    • insanetake 1 hour ago
      From the announcement

      > To ease the transition for new users...

      So I would consider it for beginners ("new users") and friendly ("to ease").

  • MonkeyClub 1 hour ago
    OpenBSD also has an Emacs-y non-extensible editor, mg(1):

    https://man.openbsd.org/mg

    Just noting for completeness, as I didn’t catch any mention of it.

    • torstenvl 42 minutes ago
      I've used mg and find it generally useful. It's my default editor pretty much everywhere.

      However, the code is a mess, with deliberately cryptic identifiers (e.g., `w_doto` for `cursorOffset`), redundant functions (e.g., `vtputc()` is a strict subset of the behavior of `vtpute()`) and a bunch of other weird choices (e.g., deeply-baked assumptions that one byte == one char == one column, even thought Big5 and ShiftJIS were already a thing when it was written).

      I tried adding UTF-8 support to mg a couple years ago and basically gave up.

      I'll probably be an atto convert.

    • SoftTalker 43 minutes ago
      Also available for most linux distros as a package.
  • Levitating 2 hours ago
    NetBSD isn't the first to use the name. My pet text editor is also called atto: https://git.levitati.ng/Levitating/atto
  • codedokode 2 hours ago
    Why are they using weird key combinations instead of traditional Ctrl + S, Ctrl + A, Ctrl + C used in desktop applications? Why every console program wants to be a special snowflake and not use standard key combinations, please explain. I do not care that 40 years ago someone used Ctrl + C to send SIGINT, it is 2026 now.
    • elehack 1 hour ago
      Atto's default key bindings match Emacs, which is about as standard as you get for non-modal editing keys in older Unix traditions.
      • pjmlp 1 hour ago
        I would assert Wordstar style are equally as old.
        • Narishma 52 minutes ago
          But are mostly forgotten while emacs keybindings are still popular and found in all kinds of places you wouldn't expect, like MacOS textboxes.
          • pjmlp 2 minutes ago
            Not when using joe, for example.
      • cowlevel 1 hour ago
        and isn't at all beginner friendly
      • codedokode 1 hour ago
        Emacs is probably older than me why should we care about what they used in 80s?
        • MonkeyClub 1 hour ago
          I see you’re using Latin characters...
        • pjmlp 1 hour ago
          Depends, do you care about UNIX and C, as products from 1970's?
          • codedokode 52 minutes ago
            UNIX doesn't exist anymore, and C has lot of negative points (easy to create buffer overflows, integer overflows, use-after-free, and other vulnerabilities).
            • pjmlp 2 minutes ago
              It surely does, Linux distros, BSDs, Aix, z/UNIX are all alive and well.

              Despite all those flaws, people keep writing new software in C every day, go figure.

    • currysausage 1 hour ago
      You might enjoy the new Microsoft Edit [1].

      [1] https://github.com/microsoft/edit

    • athorax 1 hour ago
      These are about as standard as you can get when it comes to Unix keybindings
    • superbaconman 1 hour ago
      I think you're underestimating just how "standard" many of the shortcuts are when mapped against a standard shell.
      • codedokode 51 minutes ago
        "Standard shell" also should allow Ctrl + C for copying, it makes no sense to use a different combination for console.
    • rustyhancock 1 hour ago
      Because this isn't beginner friendly it's a new micro Emacs and those are standard libreadline/emacs bindings.
    • boricj 1 hour ago
      That sounds like Emacs. Wouldn't know though, given that I dislike vim too.

      I would prefer ms-edit or nano if I have to edit text files from the terminal.

    • insanetake 1 hour ago
      These key combinations have been used for 50 years, so I'm not sure why you call them non-standard. They're just a different standard from what you're used to.
  • mig39 1 hour ago
    Is this the same editor that is used in the open-source Moodle LMS?

    https://docs.moodle.org/400/en/Atto_editor https://github.com/moodlehq/moodle-editor_atto

  • itomato 2 hours ago
    NetBSD has beginners?
    • officeplant 2 hours ago
      Currently seeing an influx of interest from new people who want an OS with strong anti-ai stances.
      • Narishma 56 minutes ago
        And those who still use 32-bit machines, as Linux is in the process of killing support for them.
    • graemep 2 hours ago
      Beginners to NetBSD who are not vi users.
    • alnsn 2 hours ago
      You can ask Claude to cross-complie, prepare an image (aka install) and run an emulator. I tried exactly this yesterday and in about an hour I could attach to tmux and run tests on emulated riscv64 board.
      • daishi55 2 hours ago
        Careful, they might ban you!
  • markusQi 2 hours ago
    The source code and README are here: https://github.com/NetBSD/src/tree/trunk/usr.bin/atto

    You are welcome!

  • Gracana 1 hour ago
    Who knew a little emacs-like editor would be so controversial.

    I think it looks great. Syntax highlighting, multi-buffer, splits, standard emacs commands... For new users in the emacs camp, this seems like a nice editor to include in the base install. Even as a vi user, I'd be pretty happy being stuck with this in a rescue system.

  • OnlineTux 2 hours ago
    Why not just add nano?
    • Matl 2 hours ago
      Because the BSD's are reflexively anti GNU.
      • ninjin 2 hours ago
        nano(1) is GPLv3 last time I checked and that imposes more restrictions than most (all?) of the rest of the code in NetBSD. It is not about being "reflexive", it is a violation of the very ethos of the project. Gnu rejecting non-free licenses from their own distributions is not "reflexive", it is simply not in line with what they want to achieve and one should respect that.
        • Matl 2 hours ago
          Unless they modify it, the GPL really doesn't impact them. AFAIK FSF considers most BSD/MIT style licences to be compatible. It's the other way around where things gets stuck. Unless they need Linux GPU/WIFI/BT drivers to make things work, of course. Then it's fine.
          • brewmarche 1 hour ago
            > Unless they need Linux GPU/WIFI/BT drivers to make things work, of course. Then it's fine.

            The parts of Linux that get integrated into BSDs should not be GPL-licensed, e.g. <https://github.com/torvalds/linux/blob/c339f4010dea8b0d754f8...> and its siblings use MIT.

          • ninjin 2 hours ago
            Modification is the whole point of open source: "Unless you want to modify Windows, the closeness does not impact you". If you want to learn about how NetBSD looks at things, there is this page:

            https://netbsd.org/about/redistribution.html

            As for being compatible. Yes, FSF considers anything permissive to be compatible with their family of licenses. However, it is a one-way relationship in that permissive code can be freely used by GPL projects, but not the other way around as using GPL code would impose further restrictions compared to a permissive license.

    • jmclnx 2 hours ago
      Size:

      Linux:

           -rwxr-xr-x 1 root root 321832 Dec 15  2021 /usr/bin/nano
      
      per the link, atto(1) is 48 kilobytes.
  • Rucadi 2 hours ago
    For me the most easy-to-use editor for cli / ssh and relatively lightweight is https://github.com/sinelaw/fresh everybody can just use it intuitively.
    • hnlmorg 2 hours ago
      I’ll take a look at this. But it’s worth noting that NetBSDs goal was to have something small enough that it can be used in a recovery shell.
    • Daunk 1 hour ago
      I think they'd have your head on a plate if you suggested a vibe coded text editor.
    • stonogo 1 hour ago
      There is nothing intuitive about any text editor.
  • cowlevel 1 hour ago
    To be beginner friendly they should call it text editor. Or notepad, or quickwriter. No beginner is going to guess that something called Atto lets you write words on a computer.
  • bmacho 1 hour ago
    Badly editorialized title.
  • jmclnx 2 hours ago
    >making it suitable for inclusion in the rescue system

    People seem to be missing the point. Also NetBSD has what I call a "real single user mode". Last time I had to boot single user, ed(1) was the only editor available without some work. My guess is this new editor will be useful for people who do not want to deal with ed(1).

    I have not seen it yet, but I guess it will be included in 11.1.

    • iamnothere 1 hour ago
      I think single user has nvi as well.

      Edit: apparently it requires /usr to be mounted though

  • arbor-group 1 hour ago
    [flagged]
  • georgestones 2 hours ago
    [dead]
  • IshKebab 2 hours ago
    > Perhaps all that needs to be known to use atto at a basic level is that holding the control key, pressing x, then pressing w will write the currently open file, and holding the control key, pressing x, then pressing c will exit the editor.

    Very beginner friendly lol. These people have no idea.

    Micro is a beginner-friendly console text editor. This isn't.

    • hnlmorg 2 hours ago
      I don’t think NetBSD and yourself are using the term in the same context.

      By this I mean, a beginner to NetBSD is already a far more competent user than a beginner in many other contexts of OS users.

    • passthejoe 2 hours ago
      Micro is MIT licensed, so it should be shippable in NetBSD base.

      https://github.com/micro-editor/MICRO

      • lukaslalinsky 2 hours ago
        But written in Go, and I would expect the NetBSD base only includes software buildable using tools already in the base system.
        • iamnothere 1 hour ago
          11 MB is also a lot bigger than 48k

          I do think Micro is a nice editor, but we need a tiny, BSD licensed pico/nano for true beginners

          • passthejoe 1 hour ago
            I didn't realize the size difference was so huge.

            Atto has a great man page that would give a user everything they needed to know if they were unfamiliar with emacs keybindings.

        • passthejoe 1 hour ago
          Good point
    • chipotle_coyote 1 hour ago
      Nothing in the README file says the point is to be "beginner-friendly"; as far as I can tell, that's something that Hacker News or whoever submitted this used as a description. Neither the word "beginner" nor the word "friendly" appear in the README; its goal is to "be the smallest fuctional Emacs in less than 2000 lines of C."

      tl;dr: I think somebody incorrectly described Atto as comparable to nano/pico, and these comments are dragging it because it's not the thing that it was never meant to be.

    • CodeCompost 2 hours ago
      It's using keystrokes inspired by emacs. Ok.
      • pwdisswordfishq 1 hour ago
        As we all know, beginners love Emacs keystrokes.
    • yearolinuxdsktp 1 hour ago
      Project headline is “The smallest functional Emacs in less than 2000 lines of C.”

      How someone jumped to beginner-friendly from that is the real question.