Skip to content

Instantly share code, notes, and snippets.

@danabauer
Created March 30, 2013 14:29
Show Gist options
  • Save danabauer/95417ae5a86c4c89b2ee to your computer and use it in GitHub Desktop.
Save danabauer/95417ae5a86c4c89b2ee to your computer and use it in GitHub Desktop.
Here's what I'm using now. I'd like to make the transition to Linux. It doesn't have to be Ubuntu.
iMac (2 yrs old): primary work machine; OS X 10.6 / Windows 7 dual boot
* I keep Windows around because I run mapping software that only works on that operating system
* I'm working hard to transition to 100% open source mapping/GIS software so I can ditch Windows
* I spin up Ubuntu VMs when I need them
Macbook (3.75 yrs old): kid/music/entertainment machine, traveling work machine; OS X 10.6
* Lately I've been using this for work-related tasks during the day (when I'm coworking); family stuff at night
* I spin up Ubuntu VMs when I need them, but they feel painfully slow
I also have an old Dell around that is semi-functional.
@delagoya
Copy link

Yes, all kidding aside now. Both Tom and I agree that messing with VM's is something you should not be doing. Also agree that compiling SciPy and other tools for OS X is more of a pain than it needs to be. Luckily, the Anaconda CE packaged Python does all of the hard work for you :

https://store.continuum.io/cshop/anaconda

List of precompiled packages they provide, installed using their "conda" command line tool:

http://docs.continuum.io/anaconda/1.4/pkgs.html

You would still need OS X command line tools to compile packages and homebrew for external dependencies not in the Anaconda CE repo. Also the use of virtualenv with Anaconda is unsupported. But it is what we are recommending folks to use as a base Python env for a tool we have recently developed that has Numpy and HDF5 dependencies.

@tpanzarella
Copy link

@neirbowj From your post it is not clear what about Ubuntu made your Linux developer experience not-so-good. I too choose Ubuntu as my Linux distro. Primarily because I want a debian-based system (apt is unrivaled, IMHO) that is a bit more modern in its stock packages. In terms of development tools, there is nothing Ubuntu-specific about what I use so I question where your troubles came in. I employ the "Unix is my IDE" philosophy. To that end, Emacs, gcc, CMake, python, and then the standard Unix utilities: grep, sed, awk, strace, valgrind, gdb/ddd, etc etc make up my development environment. Those tools on Linux are superb. What didn't work for you?

While I am not so sure this applies to Dana and her original request, I would like to point out that the choice of GNU (Linux) vs. a BSD system will make a difference to systems programmers and application programmers writing in C/C++ when making system calls. In general, both systems are POSIX and provide that level of portability. However, in practice there are subtle differences between a BSD and GNU system that "low-level" programmers will eventually encounter -- e.g., slight differences in systems calls, reliance on an OS-specific library, ABI changes, managing compiler versions, etc. Additionally, if you write kernel code, your choice of system obviously matters. For example, in robotics, it is not uncommon to have to write a device driver for some piece of unsupported hardware you would like to integrate into your system. Again, I don't think this applies to Dana's initial query, so I will stop talking about it now. In summary: "Unix is Unix is Unix" is a dangerous position to take sometimes.

@delagoya While I have not used anaconda I suspect it is a nice option. In the past I have recommended EPD Free: http://www.enthought.com/products/epd_free.php And there is also this: https://github.com/fonnesbeck/ScipySuperpack

However, I view Anaconda and EPD (and others like those) as "Enterprise Python" distributions -- great if you need a common environment for 100's of developers or a runtime for non-developers. For Dana, an independent developer, I would expect she wants more control over her Python distribution, versions of modules, etc. That means running CPython from Python.org. Not being able to SIMPLY update her stack to whatever it is she wants to use is a non-starter if you ask me. That is why most people I know using scientific python on Mac OS X tend to run Linux in a VM. Which starts the vicious cycle of VM vs. bare metal, etc etc. This song-and-dance is what leads one back to Linux on the bare metal for work.

@dherbst
Copy link

dherbst commented Apr 1, 2013

Hi Dana,

Another option is to get a chromebook, and run ubuntu in developer mode. We have a couple of developers where I work that do this, but I haven't made the leap myself. Here's another story from someone that does it with the samsung chromebook: https://plus.google.com/112449749826562830126/posts/ZS9WaegrZYH with crouton, so it can run side-by-side instead of dual booting.

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