
Gow - A lightweight alternative to Cygwin - rlaitila
https://github.com/bmatzelle/gow
======
statico
Related: If you find yourself in a Windows terminal a lot, check out Cmder
([http://gooseberrycreative.com/cmder/](http://gooseberrycreative.com/cmder/)).
It's the only thing keeping me sane when using a Windows console.

Cmder is a little slow by default, but faster if you disable the git branch in
the prompt. Other people I know use Clink
([http://mridgers.github.io/clink/](http://mridgers.github.io/clink/)), the
library the powers the readline-like portion of Cmder.

~~~
lkjasdoiuqwe
Why not mention ConEmu, the best solution? [https://code.google.com/p/conemu-
maximus5/](https://code.google.com/p/conemu-maximus5/)

~~~
code_sterling
Because that's a very subjective answer. I've had a lot of issues with ComEmu.
On several occasions, (I'm speculating that it's been after updates) it seems
to completely forget all of my settings, and revert to defaults. It happened
several times when I didn't have the time to track down the problem, so I've
stopped using it.

~~~
swinglock
Cmder is just a shortcut to using ConEmu. It literally is ConEmu with a
different set of default settings and some extras preinstalled.

------
saboot
Is there an overview article about the different unix emulators on Windows and
how they differ in terms of what they provide, and how they are supposed to be
used?

Between MSYS, MINGW, Cygwin, Cmder, Clink, Babun, etc. I am just wildly
confused in general. I've used linux, I've used windows. Admittedly I am
blessed enough to stick with Python but I know that even Anaconda does some
msys magic behind the scenes on windows as well.

~~~
rasz_pl
They all have something wrong with them. Grep is broken(so old there is no
recursive option, or there is one but doesnt work) at least in MSYS, MINGW and
Cygwin.

~~~
scw
Not a direct answer, but I use the Windows port of The Silver Searcher (ag)
and it works well: [http://blog.kowalczyk.info/software/the-silver-searcher-
for-...](http://blog.kowalczyk.info/software/the-silver-searcher-for-
windows.html)

~~~
Too
Windows has this built in, it's called findstr, probably some gaps in the
feature set compared to ag but it's quite capable.

------
tmuir
The testimonials remind me of infomercials that exaggerate people's struggles
to do everyday tasks like cracking eggs or retrieving items from shelves.

Who frets about 100MB on their hard drive in 2015, and why wouldn't these
mythical users just install only the cygwin packages they need?

------
rmyorston
This won't be to everyone's taste but if you value 'lightweight' over
'feature-complete' busybox-w32 [1] may be worth a look. It's a port of BusyBox
to WIN32, with random code borrowed from GNUlib for stuff that Microsoft
omitted.

I maintain the most active fork and got into using it when I ported my last
employer's software to Windows. This was originally developed in the early
1990s to run on Unix workstations. For portability it used Bourne shell (not
bash) and nawk (not gawk). BusyBox allowed them to bundle a single executable
with the Windows version that was adequate to run those scripts.

Some projects use busybox-w32 to allow a Unix-centric build system to work on
Windows. Julia, for example, seems to use it just to get echo and printf.

[1]
[https://github.com/rmyorston/busybox-w32](https://github.com/rmyorston/busybox-w32)

------
trengrj
If Microsoft added these utilities to Windows and included a decent shell it
would go a long way to getting developer mind share back from Apple.

~~~
tracker1
FYI: these tools install with GitExtensions for windows, and that includes a
bash shell.

I use it with ConEmu, and it goes a long way towards usability. I also use
Clover as a file explorer wrapper/replacement. I usually have a couple
browsers, editors/ide, clover and conemu open at all times.. tabbed interfaces
are beyond useful.

As is having a bash shell (although some things aren't quite the same).

------
ericfrederich
Lol... Bunch of .exe files checked into Github. Seems legit

------
0x400614
Why put the executable in source control without the actual source text files?

~~~
lubos
Or why put output binaries to source control at all? Who is going to ever
clone that? Github has "releases" feature for that which the project seems to
be using too
([https://github.com/bmatzelle/gow/releases](https://github.com/bmatzelle/gow/releases))

~~~
0x400614
You've expanded my point, which made me reflect on how I communicate. In my
mind I did mean what you said, "binaries to source control at _all_"

------
skrebbel
I really like the idea of gow but it's _horribly_ unmaintained. Check the
issue list length. You're probably better off installing Git with the "add gnu
utilities to PATH" option ticked.

~~~
ogurechny
Yes. wget 1.11? It's not even funny. I understand author took last GnuWin32
release, but amount of changes in wget related to many things (including
adequate https support) since 2008 is too big.

Moreover, using cross-platform Unicode-aware tools in (still not really
Unicode-aware) cmd.exe will blow up sooner than later on “funny” filenames. As
others said, you need proper shell and terminal.

~~~
0x400614
Honestly, I'd recommend anyone to just install native GNU/Linux operating
system. Getting the awesome, absolutely amazing coretuils to work on Windows
seems like swimming upstream.

~~~
brianwawok
Windows is pretty ok for my gaming box. Nice to also be able to sling some
code with it.

------
Turbo_hedgehog
Am I blind or are there no sources for the binaries?

~~~
rlaitila
Looks like the maintainer provides the sources in the release section:

[https://github.com/bmatzelle/gow/releases](https://github.com/bmatzelle/gow/releases)

~~~
kardos
Most of the sources and binaries are from 2012. That version of bash would
have the shellshock bug(s).

This project is a Good Idea, but it would be overwhelmingly more useful if it
tracked modern versions.

------
acranox
Channeling my inner stallman. This looks like a lot of GNU utilities for
windows, just like the name says. But the title says Linux utilities.

~~~
rlaitila
My first post. I wanted to put something up that would spur interesting
discussion. I'll be sure to look closer at how I name a submission.

------
daveloyall
Can someone familiar with `UnxUtils` evaluate this and determine the
difference?

Both are out of date and distributed as binaries... What else? :)

Seriously though, if you fork the project and dump the tarballs into a branch,
I'll check it out and run make. Or, I'll write a script that runs a bunch of
individual makes. Whatever.

I like `UnxUtils` (and Gow) but this practice is not sustainable..

~~~
tbyehl
UnxUtils hasn't been maintained for a dozen years. There is also GnuWin32
which has only been dead for five years.

GoW is pretty much the same thing but not abandoned yet. Some things are
definitely out of date, I end up pulling curl from elsewhere, but it provides
most of the important things and they Just Work. Beats the hell out of using
Cygwin.

------
AlexeyBrin
msys2 is also a good alternative to Cygwin with slightly more up to date
packages than Gow.

~~~
marktangotango
Msys2 doesn't emulate file permissions, at least not since I checked last.
Cygwin does. This saves a lot of hassles when working with version control.

------
Too

        > * Shell window from any directory: Adds a Windows Explorer shell 
        >   window so that you can right-click on any directory and open a 
        >   command (cmd.exe) window from that directory.
        > * Simple install/remove: Easy to install and remove, all files 
        >   contained in a single directory in a standard C:\Program Files path.
        > * Included in PATH: All binaries are conveniently installed into the Windows 
        >   PATH so they are accessible from a command-line window.
    

These three bullets seem contradictory, how can it modify explorer context
menu and PATH by just adding files in a Program Files directory. Besides, the
first bullet is already built into windows explorer without any add-ons, just
hold shift while right-clicking and the option will appear.

------
airtonix
@statico cmder is definitely a great thing for windows, however it's fault
buggy due to way it operates.

Overall the best long term option is to simply stop developing on windows and
start using Linux, docker, mono, nodejs etc.

I did this 10 years ago, and the situation on windows still hasn't improved.

~~~
mapunk
What do you mean "due to way it operates?" Can you explain?

Also, how does node have anything to do with this discussion?

------
callesgg
earlier thread:

[https://news.ycombinator.com/item?id=8577359](https://news.ycombinator.com/item?id=8577359)

------
RaleyField
> Shell window from any directory: Adds a Windows Explorer shell window so
> that you can right-click on any directory and open a command (cmd.exe)
> window from that directory.

That's one of the reasons why I keep virtualbox around on my Windows box. I
don't want any integration with the shell, I want applications to be self-
contained and not spam on Windows as much as possible.

------
maxerickson
Along sort of similar lines, StExBar adds a few nice features to explorer:

[http://stefanstools.sourceforge.net/StExBar.html](http://stefanstools.sourceforge.net/StExBar.html)

The regex rename for multiple files is quite nice.

------
leni536
> It is designed to be as small as possible, about 10 MB, as opposed to Cygwin
> which _can_ run well over 100 MB depending upon options.

What's the size of a new cygwin install? Well it _can_ be larger than 100MB,
sure. It has lots of packages.

------
aikah
I personnally use mingw if I need to compile something to C or C++ for windows
, and for any serious work , Vagrant and Linux. Cygwin an likes are just
horrible and I just don't see the point of these today.

~~~
0x400614
Nit pick, but, I think it's safe to say you don't compile anything to "C" or
"C++", when you're using mingw, you're compiling a "C" or "C++" program to
assembly.

~~~
ectoplasm
Nit pick, but plenty of things compile to C / C++.

[https://stackoverflow.com/questions/6498850/programming-
lang...](https://stackoverflow.com/questions/6498850/programming-languages-
that-compile-into-c-c-source)

~~~
0x400614
Sure, I agree. But, I believe the parent comment believed she was compiling to
C/C++ from C/C++

~~~
ectoplasm
Hmmm, the other grammar and spelling errors made me think that "to" was also
just a mistake.

------
farresito
The terminal is one of the most painful things about Windows. Every time I
give Windows a try (I'm a Linux user) I end up getting sick because of the
terminal. The tooling in Windows is in general good.

------
wfunction
How's this different from MSYS(2)?

------
rbanffy
What are the advantages in relation to Cygwin?

