News for hackers. Stuff that matters.
Re:Micro v1.0 – a terminal-based text editor written in Go by adontz on Tuesday August 30, 2016 @08:13AM (#12389289)
8.5Mb is a little too much for editor named micro. Whole DD-WRT/OpenWRT Linux Image is twice smaller.
Re:Micro v1.0 – a terminal-based text editor written in Go by bpizzi on Tuesday August 30, 2016 @08:53AM (#12389533)
That's because Go hasn't been historically very good at keeping binaries small.

However things are starting to get better: https://blog.golang.org/go1.7-binary-size.

Re:Micro v1.0 – a terminal-based text editor written in Go by anilgulecha on Tuesday August 30, 2016 @08:23AM (#12389334)
I think the name is a play on the other popular editor 'nano'.
Re:Micro v1.0 – a terminal-based text editor written in Go by JadeNB on Tuesday August 30, 2016 @09:27AM (#12389837)
Allowing it a comfortable 1000-fold growth factor! :-)
Re:Micro v1.0 – a terminal-based text editor written in Go by aruggirello on Tuesday August 30, 2016 @10:46AM (#12390613)
For a comparison, my /usr/share/atom folder is >200Mb - just the main Atom executable alone is over 54Mb.
Re:Micro v1.0 – a terminal-based text editor written in Go by kseistrup on Tuesday August 30, 2016 @09:20AM (#12389760)
The binary is unstripped. Strip it, and it loses ~3 MB.
Re:Micro v1.0 – a terminal-based text editor written in Go by f2f on Tuesday August 30, 2016 @10:17AM (#12390355)
also statically linked, at least on osx.
Re:Micro v1.0 – a terminal-based text editor written in Go by mrswag on Tuesday August 30, 2016 @10:22AM (#12390404)
All go binaries are statically linked. It's supposed to be one of the selling points of the language.
Re:Micro v1.0 – a terminal-based text editor written in Go by cstrahan on Tuesday August 30, 2016 @12:45PM (#12391682)
Go packages are statically linked into Go executables, yes. That doesn't mean that C libraries are, though -- and I think it's that level of static linkage that the parent meant.

If you're on macOS, try running $ otool -L some-go-program, or on linux:

  $ ldd ./team-service
        linux-vdso.so.1 (0x00007ffe492af000)
        libpthread.so.0 => /nix/store/9xsjqbsldr86vvs7p5ps4qlkjv9dhc0k-glibc-2.23/lib/libpthread.so.0 (0x00007f47ef267000)
        libssl.so.1.0.0 => /nix/store/v9mq9iv2sg017r7i0fpw8qlifvlpvlks-openssl-1.0.2h/lib/libssl.so.1.0.0 (0x00007f47eeff6000)
        libcrypto.so.1.0.0 => /nix/store/v9mq9iv2sg017r7i0fpw8qlifvlpvlks-openssl-1.0.2h/lib/libcrypto.so.1.0.0 (0x00007f47eeba4000)
        libc.so.6 => /nix/store/9xsjqbsldr86vvs7p5ps4qlkjv9dhc0k-glibc-2.23/lib/libc.so.6 (0x00007f47ee803000)
        /nix/store/9xsjqbsldr86vvs7p5ps4qlkjv9dhc0k-glibc-2.23/lib/ld-linux-x86-64.so.2 (0x00007f47ef484000)
        libdl.so.2 => /nix/store/9xsjqbsldr86vvs7p5ps4qlkjv9dhc0k-glibc-2.23/lib/libdl.so.2 (0x00007f47ee5ff000)
Re:Micro v1.0 – a terminal-based text editor written in Go by flukus on Wednesday August 31, 2016 @02:58AM (#12396444)
So go libraries can't be GPL'd?
Re:Micro v1.0 – a terminal-based text editor written in Go by kseistrup on Tuesday August 30, 2016 @10:21AM (#12390389)
And on x86_64 and ARM.
Re:Micro v1.0 – a terminal-based text editor written in Go by throwaway0209 on Tuesday August 30, 2016 @08:29AM (#12389352)
The compressed binary is only ~2.6mb.... Whereas nano is only 141k on my system uncompressed.
Re:Micro v1.0 – a terminal-based text editor written in Go by ChuckMcM on Tuesday August 30, 2016 @12:29PM (#12391556)
And kilo[1] is 28k but it doesn't have as many features. Also a "keyboard" vs "keystroke" editor, editors built before ginormous keyboards became ubiquitous use various keystrokes for commands, ones that came to exist in an assumed presence of a ginormous keyboard use special keys for commands. (example, if the only way to move the cursor up in your editor is the cursor up arrow key, you are a "keyboard" based editor. Not that either choice is better or worse just something I find an interesting distinction.

[1] https://github.com/antirez/kilo

Re:Micro v1.0 – a terminal-based text editor written in Go by SamReidHughes on Tuesday August 30, 2016 @03:21PM (#12393069)
That's weird, I didn't know keyboards used to be smaller. I assumed they started with the space cadet and kept shrinking.
Re:Micro v1.0 – a terminal-based text editor written in Go by ChuckMcM on Tuesday August 30, 2016 @06:01PM (#12394301)
You are right, that isn't the correct analysis. Initial programming editors like EMACS, vi, EDIT, TECO, FINE, SOS, and KED tended to keep cursor motion and edit commands bound to key combinations that would be available on most (if not all) terminals. This minimized the use of "special function" keys, even if they were there, because they weren't there for all terminals. So the working set of keys was smaller even though the keyboards themselves were of nominally average size.

My observation was around the use of the PC's special keys used in "generic" editors because the authors of those editors have chosen to assume that everyone it typing on a keyboard that matches, or emulates, the 101 or 108 key keyboard that the PC made standard.

Re:Micro v1.0 – a terminal-based text editor written in Go by falcolas on Tuesday August 30, 2016 @10:26AM (#12390441)
Relative to: Atom, VS, Sublime Text, the mac Notes app, and modern hard drive sizes - it's pretty small.

No, it's not as small as Nano, but I have a hard time getting my hackles up over a single binary I can download in under a second.

Re:Micro v1.0 – a terminal-based text editor written in Go by Tloewald on Tuesday August 30, 2016 @11:32AM (#12391039)
The Notes app executable is 2.4MB uncompressed and Notes handles a whole bunch of stuff this thing doesn't. Sublime is 12.5MB.
Re:Micro v1.0 – a terminal-based text editor written in Go by integrii on Wednesday August 31, 2016 @02:43AM (#12396408)
Leave it to HN to complain about an 8Mb go binary.