Live data from Hacker News

Announcing RStudio v1.0

blog.rstudio.org

31–40 of 68 posts

Re: Announcing RStudio v1.0

#31
post #22

I've been co-teaching a class in computing for statisticians this semester (some details on the previous iteration here https://www.refsmmat.com/posts/2016-01-22-stat-computing.htm... ) and have mixed feelings about RStudio. Most of our students use RStudio for their work. It's convenient and easy. For developing standalone scripts or functions, rather than notebooks or R Markdown files, the typical workflow is to wr…

Isn't this a simple instruction you give students in the very first class like "before you submit your homework, restart R session, and make sure your submission runs in the new session"? This only requires them to click a menu item (Restart R session), and a button (Knit or Source or something). Not really a burden for them, but will save your life as the instructor. As someone who had been a student in statistics f…

> Isn't this a simple instruction you give students in the very first class like "before you submit your homework, restart R session, and make sure your submission runs in the new session"? This only requires them to click a menu item (Restart R session), and a button (Knit or Source or something).

It's the nature of learners to make mistakes. The more things they have to remember to do, the less cognitive power they'll have to focus on what they're trying to learn.

Re: Announcing RStudio v1.0

#32

For all the naysayers... Try installing python/jupyter in a corporate environment. It was a no go from the start at the last 4 companies I have worked at. R and RStudio just installed and worked for 3 of the 4 companies. The 4th required a tweak to one environmental variable and everything installed/worked after that. Corporate IT restrictions can make or break software.

Have you tried the Anaconda distribution? You should be able to install it entirely in user space.

Re: Announcing RStudio v1.0

#33
post #32

For all the naysayers... Try installing python/jupyter in a corporate environment. It was a no go from the start at the last 4 companies I have worked at. R and RStudio just installed and worked for 3 of the 4 companies. The 4th required a tweak to one environmental variable and everything installed/worked after that. Corporate IT restrictions can make or break software.

Have you tried the Anaconda distribution? You should be able to install it entirely in user space.

I can confirm that that is possible. I have it running on my locked-down employer-issued windows machine.

Re: Announcing RStudio v1.0

#34
post #22

Earlier quoted context omitted.

Isn't this a simple instruction you give students in the very first class like "before you submit your homework, restart R session, and make sure your submission runs in the new session"? This only requires them to click a menu item (Restart R session), and a button (Knit or Source or something). Not really a burden for them, but will save your life as the instructor. As someone who had been a student in statistics f…

> Isn't this a simple instruction you give students in the very first class like "before you submit your homework, restart R session, and make sure your submission runs in the new session"? This only requires them to click a menu item (Restart R session), and a button (Knit or Source or something). It's the nature of learners to make mistakes. The more things they have to remember to do, the less cognitive power they…

That demand is the equivalent of pressing two buttons. (and yes, in my stats course as an undergrad I was also requested to reload and rerun R sessions to ensure code was correct)

Re: Announcing RStudio v1.0

#35
post #22

Earlier quoted context omitted.

Isn't this a simple instruction you give students in the very first class like "before you submit your homework, restart R session, and make sure your submission runs in the new session"? This only requires them to click a menu item (Restart R session), and a button (Knit or Source or something). Not really a burden for them, but will save your life as the instructor. As someone who had been a student in statistics f…

> Isn't this a simple instruction you give students in the very first class like "before you submit your homework, restart R session, and make sure your submission runs in the new session"? This only requires them to click a menu item (Restart R session), and a button (Knit or Source or something). It's the nature of learners to make mistakes. The more things they have to remember to do, the less cognitive power they…

That's a good point, though in this case the thing they need to remember is a key part of doing the job. Seeing a line of code run correctly once does not mean it's correct. It's one of those concepts that comes up in many forms.

Perhaps one way to make a teachable moment of it is to help them set up a baby CI environment. Then every time it catches something the value of good practices is driven home.

Re: Announcing RStudio v1.0

#36

I've been co-teaching a class in computing for statisticians this semester (some details on the previous iteration here https://www.refsmmat.com/posts/2016-01-22-stat-computing.htm... ) and have mixed feelings about RStudio. Most of our students use RStudio for their work. It's convenient and easy. For developing standalone scripts or functions, rather than notebooks or R Markdown files, the typical workflow is to wr…

This is the same problem with Ipython notebooks as well. Lots of very segmented code that won't run as a block.

But in general you really should run it from the top from time to time and learn best practices for error handling and such.

Re: Announcing RStudio v1.0

#37
post #8

Earlier quoted context omitted.

Funny, many people say this, but iPython notebooks have been around for a while (now called Jupyter Notebooks since they are not Python specific anymore) and it didn't spur a massive migration to Python...at least as far as I can tell. Not a bad thing, it's just R Notebooks kind of seem like old news to me. Addendum: I looked it up and it appears that Jupyter Notebooks actually have an R kernel ( https://irkernel.git…

Jupyter notebooks are cool, but they are kind of mysterious in terms of how they work. For example, recently the R kernel started crashing whenever I opened a new R notebook. I finally found a note in a local document that said, "If your R kernel keeps dying, you may have to update pcre by executing 'conda update pcre'." I had never heard of pcre, but I updated it and the R kerel started working again. Go figure... I…

Perl compatible regex is essential to R text and string parsing.

Re: Announcing RStudio v1.0

#38

For all the naysayers... Try installing python/jupyter in a corporate environment. It was a no go from the start at the last 4 companies I have worked at. R and RStudio just installed and worked for 3 of the 4 companies. The 4th required a tweak to one environmental variable and everything installed/worked after that. Corporate IT restrictions can make or break software.

I have had the flipped experience. Getting Anaconda and notebooks for Python amd R were trivial on AWS but impossible for base r, rcpp, and Rstudio for the latest version.

Re: Announcing RStudio v1.0

#39
post #22

I've been co-teaching a class in computing for statisticians this semester (some details on the previous iteration here https://www.refsmmat.com/posts/2016-01-22-stat-computing.htm... ) and have mixed feelings about RStudio. Most of our students use RStudio for their work. It's convenient and easy. For developing standalone scripts or functions, rather than notebooks or R Markdown files, the typical workflow is to wr…

Isn't this a simple instruction you give students in the very first class like "before you submit your homework, restart R session, and make sure your submission runs in the new session"? This only requires them to click a menu item (Restart R session), and a button (Knit or Source or something). Not really a burden for them, but will save your life as the instructor. As someone who had been a student in statistics f…

Well, it doesn't just require them to click a menu item and hit a button -- then they have to fix all the problems that arose because RStudio encouraged a hackish development style. There's a workaround, but RStudio still actively encourages your workspace to get out of sync from your script. Compare that to DrRacket, where the code is labeled the "Definitions" window, and every time you reload the definitions, your workspace starts from scratch. You can't accidentally interact with deleted code.

This would be a problem in a straight-line script where you're doing a bunch of data munging and analysis, since reloading from scratch might mean redoing expensive computations. But if you're building clean, reusable functions to implement interesting algorithms -- building a package and not a script -- then it's exactly the behavior you want.

Our course very much focuses on software engineering. Major topics include writing modular code, object-oriented design, thorough testing, and version control. We don't cover statistics concepts in the class -- it's computing for statisticians, not computational methods in statistics. We believe that teaching statisticians to compute like software engineers will, in the long term, dramatically improve their work, since they'll have a stable base of robust, modular, well-tested, reusable code.

One recent project, for example, required students to write a pipeline of scripts: one script takes the name of a CSV file as a command-line argument, processes and filters the data, and dumps it on STDOUT so the next script can read from STDIN and load the data into PostgreSQL, so another script (an R Markdown document) can do some queries and generate an automated report on the new batch of data. The processing and analysis stages have to be written as functions, not just top-level scripts, so they can be thoroughly tested.

A future project will involve using dual k-d trees for fast approximate kernel density estimation, or building R trees to efficiently query spatial data. These are definitely more like packages than scripts.

Re: Announcing RStudio v1.0

#40

For all the naysayers... Try installing python/jupyter in a corporate environment. It was a no go from the start at the last 4 companies I have worked at. R and RStudio just installed and worked for 3 of the 4 companies. The 4th required a tweak to one environmental variable and everything installed/worked after that. Corporate IT restrictions can make or break software.

The flip side is that RStudio is AGPL [1] – although not too surprisingly this is not heavily advertised. It may be easy to setup, but your legal department will have a heart attack if they find out that you're using it. At some point, RStudio will ask you to comply with the AGPL or pay them for a non-AGPL license. [1] https://en.wikipedia.org/wiki/Affero_General_Public_License

We're proud to be AGPL. The AGPL license is pretty clearly stated on both the product page and the download page. We were an AGPL licensed project years before we were a "real" company, because we thought that for server-oriented software (RStudio was originally conceived to be server only), it was the license most aligned with the principles of the R project.

It's certainly not our intention to deceive and then submarine our customers, and I sincerely hope that's not what you were implying. IANAL but RStudio users have nothing to fear from the AGPL, as the copyleft provisions are for derivative works of RStudio itself.

If OTOH someone is trying to build an R editor interface for their commercial SaaS data science startup, and want to leverage our code to do it, then yeah--the AGPL is going to apply and if that's a problem then we try to work something out.

(BTW I'm a fan of the work you're doing with Julia!)

Post reply on HN