On Thu, Apr 23, 2020 at 1:58 PM Patricia Shanahan <p...@acm.org> wrote:
>
> On 4/20/2020 6:49 PM, Sam Ruby wrote:
> > On Mon, Apr 20, 2020 at 8:38 PM Patricia Shanahan <p...@acm.org> wrote:
> ...
> >> Docker looked to me like a good way of getting a Ubuntu environment for
> >> Whimsy development under Windows 10. Is there a better way of doing that?
> >
> > Given your description, I would suggest that the best match would be:
> >
> > https://docs.microsoft.com/en-us/windows/wsl/wsl2-install
> >
> >  From my reading, WSL2 is much superior to WSL.  At the moment, it is
> > available on a pre-release basis.  My understanding is that the
> > official release will be in May.  Ubuntu 20.04 is due to be released
> > on Thursday, so if you are setting up a new system, I would be
> > inclined to start with that version.
>
> Unfortunately, wsl-2 is not acceptable for the computer I want to use
> for development. It requires installation of an insider-only prerelease
> of Window 10, and I use that machine for too many things to consider
> anything other than a released version.

My understanding is that wsl-2 will be released as a part of Windows
10 version 2004, which is scheduled to be released on May 12/May 13.

https://devblogs.microsoft.com/commandline/wsl2-will-be-generally-available-in-windows-10-version-2004/
https://thewincentral.com/microsoft-readying-to-launch-windows-10-2004-releases-iso-rtm-build-19041-to-wsus/

> You do not seem to be enthusiastic about Docker. Any particular reasons?

The short answer is: if you wish to create such an environment, I will
try it out and provide feedback.

Now a longer, a personal perspective.  It's a bit raw, please read it as such.

I've had several instances of people saying that they would be willing
to contribute, but only if I were to build a docker container for
them.  So I did so, at which point they disappeared.  Repeat that a
few times and I hope you can understand why I am less than
enthusiastic about doing that again.

I don't use a docker container myself.  As Matt points out, we don't
use docker in production.  Things run differently under docker than
they do natively, or even with a full VM.

My preferred development environment is Ubuntu.  Because there are
enough people who use Macs, I have reproduced that environment on
macs, and built a script that will create that environment.  But I
personally haven't substantially used Windows for nearly 20 years,
Nor do any of the other whimsy contributors actively develop on
windows.

Part of what makes Whimsy development daunting is the substantial
investment needed in creating a development environment.  I'm
currently working on a version that has substantially less
requirements.  One that I believe should be able to run on any
environment that can "shell out" to run svn commands.  That includes
WIndows, though I will admit that have not tested it.  I was ready to
test it, only to find out that you wanted an alternative to the
Windows shell.

So reducing the problem to the core (and please forgive me if I get
any of this wrong):

1) You want to develop Whimsy applications on a WIndows 10 machine
2) You don't want to use the Windows shell
3) Whimsy applications rely on the ability to shell out to commands like "svn".

My recommendations (in order of preference):

1) I know that this isn't your preference, but consider using the
windows shell (PowerShell or cmd.exe).  If you use an IDE, you won't
need to use it much, and you can configure your IDE to support
bash[1].  All you need to be able to do is to run the following
commands successfully to get started: "git --version", "node
--version", "svn --version", "code --version", and "yarn --version".
If you can get those five commands working, you should be able to run
the node version of the board agenda tool.

2) use WSL-2, either in inside-only preview mode this month, or wait
until next month when it it released.  It appears to be as close as
you can get to running a native Ubuntu seamlessly on Windows.

3) use a full VM, like VirtualBox, which is free.  You should be up
and running in minutes.  Ubuntu 20.04 came out today, and I will be
installing it shortly (first on a dual boot basis on one of my
machines, and soon enough as my primary OS on others).  I don't expect
that you will encounter any VirtualBox specific problems, but if you
do, I should be able to reproduce them.  Other than that, you will be
running on Ubuntu which is my primary development operating system.

4) use Docker containers.  If you go this route, I will warn you that
you will need to blaze a trail here.  If you have problems, I'm
willing to help resolve those questions, but it fundamentally will be
up to you to get it work.  I will warn you in advance that if you go
this route, you will need to become a master of containers, images,
Dockerfiles, Volumes, Port Forwarding, and likely Docker Compose.  An
example of what you will not be able to do is to run chrome or firefox
in the container unless you forward your display[2].

I hope this helps, and I apologize in advance if you find any of the
above offensive.

- Sam Ruby

[1] https://code.visualstudio.com/docs/editor/integrated-terminal#_windows
[2] https://www.youtube.com/watch?v=CCAK7GhmiEM

Reply via email to