Skip to content

Instantly share code, notes, and snippets.

@cfebs
Created November 6, 2012 04:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cfebs/4022581 to your computer and use it in GitHub Desktop.
Save cfebs/4022581 to your computer and use it in GitHub Desktop.
linux

Linux

So here's the big guide of everything I have learned through about 4yrs of tinkering with this shit.

Why

Ruby, Python, pretty much anything open source and text based thrive on linux. It's the environment they were built to be used in, not Windows. In Windows you need to go get a weird exe, in some cases you have to manually do path editing, it's really common, but it sucks and is a giant pain in the ass to work with.

Options

So the big options are, dual boot or VM.

Dual Boot

I used to do this, but each and every time I have done it, I have always gone back to Windows. At first dual booting is sweet. The ubuntu disc takes care of everything, boom you have your partitions etc. But there will come a time where that partition will get annoying, you won't really use it much anymore and you'll want it gone. And idk if you have ever played the partition deletion resizing game, but it is no fun at all.

Pros

  • native, no VM so it's faster

Cons

  • rigid, you have to boot into another OS for certain tasks, that ends up getting shitty

If you must boot into linux, this is a good compromise: http://www.ubuntu.com/download/desktop/windows-installer

It installs dual booted ubuntu like a program in Windows. You're limited to like 40GB disk space, but it shouldn't be an issue. If you want to get rid of it, you can just uninstall it in the Add Remove Programs menu. Sweetness!

Graphical VM

This is a great solution. No matter how hard I have tried, I need native windows always running. I tried using linux exclusively for the entire senior year and got pretty far with installing games and Photoshop. But in the end, it just wasn't as smooth.

If you're concerned about performance, don't be. You have a sweet ass system, it'll kill anything you throw at it.

Pros

  • No restarts
  • Lightweight distros take performance out of the picture, you'll mostly just be using the browser, terminal and text editor
  • Dynamically expanding storage disk.
    • When you make a VM you specify a HD size. Virtualbox will take up only what the VM is currently using. So if you specify a 40GB harddrive and you are using 4GB of it, only 4GB will be used in windows.
  • portable. You can move the machine and HD around at will
  • Safe. No partitions, don't have to worry about fucking that stuff up.

Cons

  • not native, so you can't do any heavy movie editing

I have tried many combos, but my favorites are (in order):

These are lighter ubuntu derivatives meaning most of the core software is the same. The cosmetics and default programs are a little leaner.

Editors

Install gedit, nice little editor, the default on ubuntu. Good syntax highlighting, tabs. Anything more is overkill for learning.

Ninja VM

Perfection:

  1. Ubuntu Server, 512MB, 40GB HD. Usually always have it on
  2. Putty. I have it in bridged mode, so I can SSH into it right from my desktop and boom, local server to play with
  • When I do web work, I use my windows browser to point to the server's local IP. It works just like a VPS that you would buy
  1. screen - the terminal window manager
  2. vim

And that's it! Tiny footprint, minimal, fast and very versitile.

I wrote a guide for myself here so I wouldn't forget: https://gist.github.com/1063798

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