ipython notebook - a web-based interactive computational environmentJanuary 5, 2014 6:53 PM   Subscribe

"The IPython Notebook is a web-based interactive computational environment where you can combine code execution, text, mathematics, plots and rich media into a single document". It can be installed faily easily with anaconda or on Amazon EC2. Various interesting notebooks are to be found at the official Notebook Viewer site Another collection of interesting notebooks on many topics.

Python science and plotting tools numpy, scipy and matplotlib can all be used within a notebook. Latex and markdown as well. It is being used in a few classrooms: link1, link2 Resources for learning how to use ipython notebooks: tutorial, book, youtube1, youtube2
posted by meta87 (56 comments total) 90 users marked this as a favorite

iPython is great; I use it on a daily basis!

It's also a pretty integral part of Sage at this point; I think there was some interesting cross-development of the Sage notebook and iPython notebook, though I don't know the full details.
posted by kaibutsu at 6:59 PM on January 5, 2014 [1 favorite]

It can also be used locally, no server necessary. Just:
 sudo pip install ipython[all] ipython notebook 
posted by signal at 7:22 PM on January 5, 2014 [3 favorites]

Or; RStudio -> R Markdown -> RPubs, for those of us who don't want their scientific computing messed up by all that Python gobbledygook.
posted by Jimbob at 7:27 PM on January 5, 2014 [5 favorites]

You can use R in a IPython notebook :)

Sry onee more cool thing I just saw: Titanic Machine Learning
posted by meta87 at 7:38 PM on January 5, 2014

Or; Org Mode, for those who never want to leave emacs.
posted by The Ted at 7:39 PM on January 5, 2014 [2 favorites]

I use IPython notebooks for both my job and my data-intensive blog posts; at this point, I'd be a bit lost without it.
posted by MidsizeBlowfish at 7:48 PM on January 5, 2014 [1 favorite]

Looks like a straight rip of the Wolfram Mathematica notebook interface, only clunkier, probably because they insist on putting in a web browser instead of as a traditional desktop application. Still, I think it will make Python a lot easier to work with, since -- at least in a Mathematica notebook -- you can be in the middle of typing a function in, and start a new cell to try some simple tests to be sure you're coding your main function right.
posted by Harvey Kilobit at 8:03 PM on January 5, 2014

there is a traditional desktop application for it as well if that meets your needs better than the web based thing does
posted by Perfectibilist at 8:38 PM on January 5, 2014 [2 favorites]

Awesome, thanks for the post meta87.

Harvey, there is a lot of inspiration from the notebook interfaces of other languages, and you are correct that you can edit multiple cells and execute them in any order. Note that there are a number of advantages to using a web interface, not the least of which is that the notebook can be run on a different computer than the kernel, which does all of the heavy lifting.

Perhaps a little history might help.In 2001, Dr. Fernando Perez, then just Fernando Perez and a graduate student in physics at CU Boulder, thought he could add a few nice touches to the Python interpreter to make it easier to use for his work.

This "afternoon hack" grew slowly, and by pieces, to become a full-featured shell with some very nice features like tab-completion, history-caching, and an (in the original Qt console) inline mode that could allow nice visualization interactions with matplotlib.

Thanks to the addition of several other core developers, including Prof. Brian Granger (Cal Poly), and Benjamin Ragan-Kelley (Berkeley), IPython was able to grow from a thin shell around the Python interpreter to a client/controller/kernel multiprocess framework, which then supported the development of the IPython Notebook, which is what IPython is probably best known for. Two other contributors from the core team worth mentioning are Thomas Kluyver and Matthias Bussonnier, both who have put a lot of time and effort into improving the project.

The IPython Notebook is beginning to play a number of important roles. Because IPython is based on Python, and is openly licensed itself, it is easily available and free to install. As mentioned in the front page post, Continuum Analytics packages a free version of the IPython Notebook for the three major operating systems in its Anaconda binary installer. Enthought offers Canopy Express for free as well, which offers an integrated development environment at the cost of being a less "open" product.

Don't feel like installing something on your computer? No problem. The Notebook is available on the web through Wakari.io, another Continuum Analytics offering, completely free. SageMathCloud, offered by the SageMath project based out of the University of Washington, is in early beta, but has an intriguing collaborative editing mode, allowing users to work on an IPython Notebook like a document on Google Docs.

The IPython Notebook is being used heavily for teaching as well. Greg Wilson of Software Carpentry has committed to using the IPython Notebook as part of our curriculum to train scientists around the world to better leverage principles of software engineering such as modern programming, version control, testing, and command-line interfaces. As a Software Carpentry Instructor, I've found IPython to be an invaluable tool in helping scientists from a variety of disciplines embrace the new domains of data and computational science.

Beyond its use in the classroom, the Notebook is seeing growing use among data scientists for analytics, and by scientists from other domains as a reproducibility aid. The notebook captures prose, code, and results, all in the same document, helping scientists capture, reproduce, and share complicated analytical workflows. There are some nice examples linked from the NBviewer main page.

Disclaimers: I've landed a few commits in the IPython repository, I've worked with Continuum Analytics in the past, and I'm an active instructor with Software Carpentry.
posted by onalark at 8:39 PM on January 5, 2014 [31 favorites]

onalark: I'm with SWC too and know all the folks mentioned above quite well. ;)
posted by special-k at 8:42 PM on January 5, 2014

Holy fuck. Aron.
posted by special-k at 8:42 PM on January 5, 2014

The Ted, there's an IPython Notebook Emacs-mode, but it does not appear to have received a lot of love lately :(.
posted by onalark at 8:50 PM on January 5, 2014

Still, I think it will make Python a lot easier to work with, since -- at least in a Mathematica notebook -- you can be in the middle of typing a function in, and start a new cell to try some simple tests to be sure you're coding your main function right.

Or, you know, you could just start IDLE.
posted by JHarris at 8:52 PM on January 5, 2014

I use IPython Notebook all the time. It's quite lovely for impromptu sessions where you want to see what certain function graphs look like.

Wish they'd make a basic client-server Notebook without the ZeroMQ copyleft, though :( Yeah, yeah, I know, it's open source, I could do it myself...
posted by qxntpqbbbqxl at 9:40 PM on January 5, 2014

I was looking at trying out Sage a while back, and found out that I (with my Win7 computer) would have to install and manage a virtual machine environment to do so. Can anyone here tell me

- Is that still the case for Sage?
- Is IPython any better (on Windows)?

I can see there are some Internet version mentioned above, but I really prefer a stand-alone installation.
posted by benito.strauss at 9:46 PM on January 5, 2014

I've worked professionally with python and data/math stuff for years, but always avoided iPython for a number of reasons. But MeFi might be the thing to finally make me try it out.

Also I blame signal for pointing out that it's just a normal pip install without a bunch of crap OSX ports and smegma.
posted by freebird at 10:28 PM on January 5, 2014

The book from the post can also be downloaded from Packt Publishing as a pdf for $5. They've got all manner of other cool programming books as well. If I was teaching a class on programming I would start the students with IPython Notebook. It's awesome. posted by quadog at 10:52 PM on January 5, 2014 Hooray for Python! posted by Our Ship Of The Imagination! at 11:04 PM on January 5, 2014 [3 favorites] IPython is completely indispensable in my daily work. What really really helped was anaconda, though - it basically gives you the full scientific python stack out of the box (even on Windows!), and installing other stuff is a matter of a one-liner as opposed to the usual faffing around with manual builds or messing around to get pip not to put things in the system python dir or whatever. The obligatory xkcd really didn't seem too much of an exaggeration. posted by doop at 11:24 PM on January 5, 2014 it basically gives you the full scientific python stack out of the box (even on Windows!), and installing other stuff is a matter of a one-liner as opposed to the usual faffing around with manual builds or messing around to get pip not to put things in the system python dir or whatever. I think I'll have to give this a try. I posted an Ask Metafilter some time ago asking for an RStudio equivalent for Python; the answer was, nothing really comes close. Which led me to think about why I prefer R (apart from how brilliant RStudio is). Package management is probably the biggest thing. Installing a package in R is incredibly simple; one command, from within the R interactive prompt, and the package and all its dependencies are downloaded, compiled and installed. It works out of the box 99% of the time, with version conflicts sorted out and everything. All you get is a warning; "This package was built in R 2.15.2." but almost without fail the package works anyway. The "simple" way in Python, using pip, is still a pain in the ass. Version conflicts. Platform conflicts. You can never quite figure out where in the maze of the Python file tree the packages are being installed to and loaded from. You have to mess around with virtual environments to get any kind of stable, reliable development environment. And doing all this on Windows multiplies the pain. It shouldn't be that hard! But I'm still looking to overcome all this and give Python another try, and it sounds like iPython / Anaconda might be the next thing to investigate. posted by Jimbob at 11:40 PM on January 5, 2014 Enthought provides another great Python package distribution. There's a free version you can test out. It's cool running 'enpkg --imports' from the command line and seeing the boatload of packages it takes care of for you. posted by quadog at 11:58 PM on January 5, 2014 So, it's like an HP48 that doesn't take AAA batteries? posted by scruss at 2:23 AM on January 6, 2014 [1 favorite] I develop websites using Django, and with the django-extensions app you can start a Django shell with Notebook, which is super useful for prototypoing and debugging. posted by signal at 4:19 AM on January 6, 2014 [1 favorite] … and just to close the XKCD irony loop, there are now slightly wibbly XKCD Plots in Matplotlib. posted by scruss at 5:25 AM on January 6, 2014 [2 favorites] At one point, I was terribly impressed that IPython could give you syntax highlighting in Sage (in the terminal, not the Sage notebook), but I never got it to work. Sage is now somehow sitting on top of IPython in some way I didn't pay attention to, but it still doesn't have syntax highlighting in the terminal. (Well, the sage prompt is now blue.) (And yes, I'm using a post about a notebook interface to moan about the terminal.) It's also a pretty integral part of Sage at this point; I think there was some interesting cross-development of the Sage notebook and iPython notebook, though I don't know the full details. I had the vague impression there was talk of forking the IPython notebook--I think the Sage notebook is still its own thing, despite the IPython stuff in the terminal (magic functions don't work in the notebook and I'd hope they work in the IPython notebook). But I live in denial of the existence of the notebook. posted by hoyland at 5:32 AM on January 6, 2014 Even if you have no intention of using all the fancy notebook stuff and you prefer to work in terminals, you absolutely must install IPython for its replacement REPL with tab completion, pretty-printing, and a million other features. Every time I find myself in the stock Python REPL I feel completely naked and lost. posted by Rhomboid at 7:32 AM on January 6, 2014 [4 favorites] yay, software-carpentry people are mefites. posted by bleary at 8:00 AM on January 6, 2014 [1 favorite] Is there any particular advantage to Python vs. R for data analysis/machine learning stuff? From what I can tell, Python appears to be inferior in just about every way - there's nothing like RStudio in the python environment, package management is a breeze, and ggplot2 is immeasurably better than matplotlib. I suppose that Python might be better for low-level control and more computer sciencey type applications, but these don't seem particularly relevant for people running relatively simple analyses. posted by downing street memo at 8:09 AM on January 6, 2014 I'm not aware of the specifics, but I think R is written in a way that isn't very conducive to taking advantage of the latest low level hardware optimization techniques, so if you're doing anything that's especially demanding, python is probably the better way to go if you still want to avoid a compiled language. posted by RonButNotStupid at 8:42 AM on January 6, 2014 downing street memo, I hope someone follows up who knows more about why Wes McKenney created pandas. He was an R user and started work on pandas due to some R dissatisfaction. I don't know if he covers his motivation in this talk http://pyvideo.org/video/970/pydata-data-analysis-in-python-with-pandas but I'm leaving a link here for you. I only used pandas a little bit to do some log and metrics analsyses on things while I was working at my bigjob, and I've only played around with R a tiny tiny bit. I picked pandas merely because I use python a lot. posted by bleary at 8:44 AM on January 6, 2014 downing street memo, I suppose it depends; Numpy / Scipy will be considerably faster than R for most linear algebra work (I'd go so far as to say most calculations, though there are some exceptions. In short, Numpy tends to be far more highly optimised using C extensions). The Pandas data analysis package is just a joy to work with (it's heavily influenced by R in some ways, and it's easy for R users to get to grips with, mostly), and again, it's aggressively optimised, beyond the existing Numpy internals it uses. Other useful packages, e.g. Statsmodels work very well in conjunction with Pandas dataframes. Matplotlib isn't as easy to to use as ggplot2, but it's just as useful, shares most (if not all, I'm not sure that it's a strict superset) of its features, and it's certainly as flexible, if not more so. There's also a good (and getting better all the time) port of ggplot2. In addition (caution: non-empirical observation) people find Python easier to pick up than R, which with the best will in the world isn't easy to get to grips with, functional-programming background or not. Also, there are obvious benefits to using Python, because you get all the other Python packages, which R doesn't do nearly as well (ORM and general database toolkits, web frameworks, NLTK, scikit-learn for machine learning etc. – the list is very, very long). Python's also come a long way in the world of GIS: Geopandas, Shapely, Basemap, Fiona etc. all of which go a long way towards replacing basic GIS operations in a highly flexible way (in fact, QGIS and Arc both use Python for scripting and extensions now). I've actually produced a basic mapping tutorial using Python, available here as a blog post (and, naturally, as an IPython notebook). posted by urschrei at 8:54 AM on January 6, 2014 [4 favorites] Seconded about Python. It's amazingly easy to learn, especially if you had a little early programming instruction. And while I don't know how applicable it is to use for these math applications, you can compile Python, in multiple ways, like Cython, PyPy and Psyco. (Indeed it is compiled by default, although to bytecode.) posted by JHarris at 9:00 AM on January 6, 2014 [1 favorite] Yup; Python gives you extremely fast and easy prototyping of your algorithms, with a fast numpy backend. You can then compile with Cython or similar if you want an almost-as-fast-as-straight-C version of your program. In my experience, Cython gets you something like 95% of the speed of writing in plain C, and almost all of your speedup in Cython comes just from declaring your variables, without any further tricks. The result is that you can get fairly lean, mostly self-contained programs, without having to load up a full stats package. And then you can deploy to small environments (like Raspberry Pi's or phones) without having to deploy/load an entire stats package like R. posted by kaibutsu at 9:24 AM on January 6, 2014 [3 favorites] Here's a list of IPython notebooks that have been posted to reddit, mostly in /r/IPython. posted by Rhomboid at 10:16 AM on January 6, 2014 downing street memo, I suppose it depends; Numpy / Scipy will be considerably faster than R for most linear algebra work Not to start an R vs. Python war, because actually the best possible world includes both, but internal R functions for things like linear algebra are also highly optimized C. In fact, R has libraries to leverage GPUs, or parallel CPUs for your matrix operations that are very simple to use - essentially drop-in replacements. R can be quite slow to execute compared to Python if you go around reinventing the wheel with it. But if you take advantage of functions internally coded in C, use a functional programming style, and learn a few optimizations (eg. don't write and update data.frame columns directly, pull them out as vectors first), R can be quite fast. posted by Jimbob at 11:06 AM on January 6, 2014 [1 favorite] Jimbob, I work in high performance computing, and I'm pretty familiar with both the R and Python communities. I also teach scientists who work in both languages, and my inevitable advice for short-term work is to always use the language that allows you to be more productive. One performance advantage Python has is the ability to statically and dynamically compile its code. This allows users to write code in Python (or near-Python in the case of Cython), and achieve C-like speeds and interfaces to native libraries. This has been a large part of the success of the Sage project, although it comes with other linking issues. I'm just glad that the coming battle for mindshare is between two open source languages that have many features aimed at scientists in mind. It would also be great if Julia broke into the arena in a more serious way. I think diversity in the software gene pool is good for a number of reasons. All three languages have motivated, vibrant, development communities, and I'm looking forward to seeing them continue to develop and grow in 2014. It's an exciting time to work in digital science! posted by onalark at 12:15 PM on January 6, 2014 [5 favorites] sudo pip install ipython[all] I'm interested in learning who has had success with this. I believe Min patched PyZMQ so it will install a local version of 0MQ if a system 0MQ is not available. As a piece of advice, you should never use sudo when installing Python packages. It's a much better idea to install these packages in local user locations. The corresponding pip command is a little less pretty:  pip install --install-option="--prefix=$HOME/.local" ipython[all]
posted by onalark at 12:20 PM on January 6, 2014

One performance advantage Python has is the ability to statically and dynamically compile its code.

The compiler package in R, now enabled by default for all packages when you build them on a recent version of R, aims for this; benchmarks are still not up to scratch of Python or C code, however. The biggest step R could take would be to improve on this side of things.

It would also be great if Julia broke into the arena in a more serious way.

I tried Julia. I like what it's trying to do, but it's still quite incomplete. Just trying to get it to plot a graph threw up all sorts of failed-dependencies for me. Hopefully it continues on and gets stronger.
posted by Jimbob at 12:20 PM on January 6, 2014

Good point about not using sudo pip, onalark. Also thanks for the in-depth comment earlier! It takes a bit more work, but I had success setting up ipython notebook within a virtualenv following this guide:

remote ipython notebook setup ubuntu
posted by meta87 at 12:28 PM on January 6, 2014

there's nothing like RStudio in the python environment

Please excuse my naïveté, but what is the appeal of RStudio? I really don't use R all that often, so for me, all RStudio does is keep windows nicely organised. It's really resource intensive on my computer, so I have this tension between corralling the windows and the general sluggishness of RStudio. Do other OSs not have an equivalent of R.app on the Mac, making the answer totally obvious? Or is the appeal of RStudio something that would be obvious if I used R more?
posted by hoyland at 1:56 PM on January 6, 2014

meta87, that approach seems a little convoluted, but I'm glad it worked for you :)

Within the Python community, there's an effort to push users to get more comfortable with the pre-packaged solutions. You should really try out Anaconda for yourself, and if it's falling short for you, get active on the mailing lists.

As a side note, another project I work on, HashDist, is also trying to solve the packaging/distribution/sharing/collaboration problem. Instead of a binary-package approach, though, we tend to specialize more in source builds and very hostile environments such as supercomputers, and we're looking at ways to integrate with other local package managers like homebrew.
posted by onalark at 2:04 PM on January 6, 2014

I dunno, maybe I'm simplistic, I like to see my data and objects on the screen, I like the ability to write blocks of code and try them out in the same window, it just keeps things nice and simple for me. The debugger is pretty slick too. I've written a few things in Python and I spent lots of the time dealing with overhead - remembering what I had named certain objects, remembering where I had installed packages, etc.

There's probably something really simple to running a clean python environment for data analysis that I'm missing, though.
posted by downing street memo at 2:40 PM on January 6, 2014

Please excuse my naïveté, but what is the appeal of RStudio?

I'll try to come up with some reasons, but for me it's just the best IDE I've ever used.

- There is a native application version, and a version you can install on a server and access through a web browser that are almost completely perfectly identical. I can install RStudio on a high performance computing cluster, and control R, doing computationally intensive tasks, from anywhere in the world on that server, using a very simple, easy to use GUI in my browser. Much more functional and useful than logging in by SSH.
- Similarly, the OSX, Windows and Linux versions of RStudio are identical.
- Excellent syntax highlighting, function and variable completion. You can hit TAB to drill down through hierarchical list and data frames as you type their identifiers. You can hit TAB to see the arguments a function takes, and their defaults.
- Perfect integration with R's packaging system.
- Perfect integration (and improvement) on R's help system.
- The simplest, easiest to use integration with Git / Github I've ever seen.
- Plots and graphs appear in the interface in a docked window - and a history of plots is retained so you can go back and look at previous output. You can also export these graphs in a range of formats - it does a bit more than the basic R.app.
- It leverages R's introspection abilities to let you examine objects. Got a data frame in your environment? It appears in a list of objects in the top-right window. Click on it to get a spreadsheet view of your data that you can edit.
- It includes RMarkdown/Sweave. You can annotate your R scripts with descriptive text, and turn them into "notepad" style online documents including figures with a couple of clicks. You can also use this same functionality to turn your R scripts into slide-based presentations.
- If you're creating R packages, it does most of the dirty work for you, creating the package skeleton etc. and letting you build/reload packages with a single click.
- It now has debugging tools and breakpoints.

I've never experienced a performance problem with it - there was an issue when the latest version of OSX came out where performance was bad, but they've fixed it now.
posted by Jimbob at 2:42 PM on January 6, 2014 [1 favorite]

Ha, Jimbob, I think I disagree with at least a third of your bullet points, at least in the sense that they're meaningful advantages over R.app (I couldn't tell a difference in tab completion, for example). I had forgotten about being able to flick through different plots. Sweave and knitr were actually where I had the worst performance issues. I have no idea what it was doing, but my computer shouldn't be straining to latex something and show me a PDF.
posted by hoyland at 5:02 PM on January 6, 2014

There's probably something really simple to running a clean python environment for data analysis that I'm missing, though.

virtualenv. In the current directory, it creates a standalone python environment with empty site-packages:

virtualenv env
source env/bin/activate
pip install ...

And you have a completely self-contained environment with whatever you want in it. The best part of this is that you can have multiple versions of python installed, and create a specific version env just by specifying the path to the python executable. Virtualenv has proven so useful that it got moved into the standard library for 3.3.
posted by fatbird at 7:26 PM on January 6, 2014

Virtualenv doesn't solve a lot of the problems for scientific computing and data analysis. A major issue is that many Python libraries sit atop libraries written in other languages (HDF5 is one of many examples). Virtualenv sort of helps solve this problem, but it's a challenging one.

As I mentioned earlier, Anaconda/Conda help with binary installation and independent "environments". For users who want a close-to-the-metal experience (as in, supercomputers), HashDist also provides clean development environments/profiles.
posted by onalark at 8:47 PM on January 6, 2014

a basic mapping tutorial using Python

Very neat, but it looks like a whole lot more work than using QGIS. I do use pyproj and shapely now and again, but I wouldn't base my entire workflow on them.
posted by scruss at 6:38 AM on January 7, 2014

Also worth checking out, if you're looking for a RStudio-like experience in Python, is Spyder.
posted by grog at 6:50 AM on January 7, 2014 [1 favorite]

The only thing keeping me short of achieving nerd Nirvana is an option for the MathJax renderer in these notebooks to display equations in the form of a PNG or SVG. Then I could load these notebooks on my Kindle.
posted by ocschwar at 7:27 PM on January 7, 2014

Also worth checking out, if you're looking for a RStudio-like experience in Python, is Spyder.

Ooo so close, but once again, Python comes and bites me on the butt. I downloaded Spyder. I ran the installer. The installer finished. Where's Spyder? There's no Spyder shortcut on my desktop or in my start menu. There's no indication that anything happened. Oh hang on, what's that hidden deep inside C:\Python27\Libs\site-packages? Some things with "spyder" in their filename. What do I do now? I go back to the Spyder site and discover two screens of installation instructions with four screens of people complaining that the installation instructions don't work. As far as I can see from the instructions, in order to run Spyder on Windows, I shouldn't have actually downloaded the Spyder installer for Windows. Apparently that's the "hard" way, and obviously I should have downloaded something called "Python(x,y)" instead. Of course!

This is why I don't Python. It's easier to get RStudio running as a server installation on Ubuntu, than it is to get Spyder running in Windows.
posted by Jimbob at 8:40 PM on January 7, 2014

Spyder is included when you install Anaconda. It's a really easy install I swear! Thanks for mentioning it grog, I'm going to check it out.
posted by meta87 at 8:02 AM on January 8, 2014

Here's a series of blog posts in which an R user and a Python user develop code for the same problem side-by-side, to show relative strengths and weaknesses of each platform:
http://www.theswarmlab.com/r-vs-python-round-1/

It doesn't seem to be too evangelical, and should be some interesting reading! (starting on it now)
posted by kaibutsu at 9:27 AM on January 8, 2014 [5 favorites]

As a piece of advice, you should never use sudo when installing Python packages. It's a much better idea to install these packages in local user locations. The corresponding pip command is a little less pretty:
pip install --install-option="--prefix=\$HOME/.local" ipython[all]
The shorter way to do this is to pass the --user argument:
pip install --user ipython[all]
posted by khedron at 9:41 PM on January 8, 2014

Also, here's a neat article about the "Pythonification" of today's scientific computing ecosystem:

The homogenization of scientific computing, or why Python is steadily eating other languages’ lunch
posted by grog at 8:54 AM on January 9, 2014 [1 favorite]

kaibutsu: "Here's a series of blog posts in which an R user and a Python user develop code for the same problem side-by-side, to show relative strengths and weaknesses of each platform:
http://www.theswarmlab.com/r-vs-python-round-1/

It doesn't seem to be too evangelical, and should be some interesting reading! (starting on it now)
"

Oh I like the link to the ipynb where someone plays with the dataset in more ways http://nbviewer.ipython.org/github/yaph/ipython-notebooks/blob/master/Exploring%20Movie%20Body%20Counts.ipynb

There's no r version to that, but I thought someone might enjoy seeing the notebook.
posted by bleary at 11:21 AM on January 9, 2014 [2 favorites]

Also, here's a neat article about the "Pythonification" of today's scientific computing ecosystem:

It's not a bad article, but I think it suffers a little from confirmation bias. My experince has been the opposite. 6 or 7 years ago, I used Python, R, PHP, ArcGIS, ENVI and various other tools. Now I use R for most things. R is the first place I turn for GIS work - only trying ArcGIS if I really have to. I'm using R to generate web pages. I'm using R for web crawling and data extraction. As I've indicated in this thread, I've made a conscious effort in recent times to get back on the Python bandwagon, but R's just so much simpler and quicker for me that Python hasn't given me much joy. Everyone's experience is different, I guess.
posted by Jimbob at 8:04 PM on January 10, 2014 [1 favorite]

« Older Balls   |   Carefully Screened Young Adult Male Ella... Newer »