Skip to content

Instantly share code, notes, and snippets.

@melissasage
Created December 12, 2018 23:18
Show Gist options
  • Save melissasage/c576efc87e6067a045ad619f61897c95 to your computer and use it in GitHub Desktop.
Save melissasage/c576efc87e6067a045ad619f61897c95 to your computer and use it in GitHub Desktop.
How to Use Windows at Fullstack Academy

How to Use Windows at Fullstack Academy

Hello, future devs at Fullstack Academy and the Grace Hopper Program! Do you use Windows? Not really sure you want to make the switch to a Mac? I don't blame you; I had been a Mac user for the better part of a decade before switching to Linux, and then to Windows a few months before I started at Grace Hopper. As I'm writing this, I graduated from the program less than a week ago, and so I wanted to write some thoughts up while they're fresh in my head about using Windows. I figured a lot of this out on my own and in consultation with other non-Mac users, and so, rather than let others reinvent the wheel, I thought I'd provide a brief guide.

Linux on Windows

The simple fact is that you will have to use a Unix system of some sort, for technical reasons having to do with computer architecture. Git Bash, the provided Unix shell on Windows, is woefully inadequate. You can go the route of dual-booting your computer into a Linux partition or using a virtual Linux distribution, but I find those rather cumbersome, personally. If you've always wanted to try out Ubuntu, though, mazel tov.

The best solution in my mind is Windows Subsystem for Linux, or WSL. It's essentially a lightweight Linux shell that shares the same hard drive with Windows. Windows provides official instructions on how to install WSL; I recommend following them and installing Ubuntu Linux through the official Windows Store.

Package Management

You can install packages in WSL using the normal apt method for Linux. Keep in mind that WSL doesn't like rendering any kind of graphics or GUIs, however.

I'm also going to take this opportunity to plug Chocolatey, which is a package manager akin to apt on Linux or brew on Mac- on the occasions where you need to install a program on Windows, run choco in PowerShell.

If WSL acts weird or isn't working on startup

Run Restart-Service LxssManager in an admin PowerShell. That should clear it up. I don't know why this happens, but at least it's easy to fix. Note that this will kill any active WSL instances.

Individual Technologies

You don't need to worry about this all up-front; just refer back to this whenever you're up to a point in the curriculum where you need to install something new.

VSCode

You can make VSCode use WSL as its default terminal by changing the Terminal > Integrated > Shell: Windows setting to C:\Windows\System32\wsl.exe. Also, there's a nifty VSCode extension that lets you select your shell with a shortcut. Note that, due to a limitation of how Windows works, you can't open a shell with admin privileges in VSCode.

Notes

Boostnote is a great open-source programmer's notebook that works on Windows; you can download it with choco install boostnote.

PostgreSQL

Follow the directions for Linux provided. DO NOT install postgres on Windows as well; having two copies of Postgres running can cause some really weird errors.

To start up Postgres, you'll need to run the command sudo service postgresql start.

When creating or editing a database, you may see the message WARNING: could not flush dirty data: Function not implemented repeat across your screen. This is normal and a known bug. Ignore it. Postgres should still work.

Instead of Postico, which is Mac-only, I recommend dbeaver. choco install dbeaver in PowerShell to get it. Yes, dbeaver on Windows can listen to your databse running in WSL.

Tessel Hackathon

I'll save you an hour or two here: WSL currently has no access to a device's USB ports. You'll need to connect to the Tessel through PowerShell.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment