<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Interview on R Views</title>
    <link>https://rviews.rstudio.com/categories/interview/</link>
    <description>Recent content in Interview on R Views</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 04 Jan 2022 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://rviews.rstudio.com/categories/interview/" rel="self" type="application/rss+xml" />
    
    
    
    
    <item>
      <title>Interview with Oscar Baruffa, Creator of the Big Book of R</title>
      <link>https://rviews.rstudio.com/2022/01/04/interview-with-oscar-baruffa/</link>
      <pubDate>Tue, 04 Jan 2022 00:00:00 +0000</pubDate>
      
      <guid>https://rviews.rstudio.com/2022/01/04/interview-with-oscar-baruffa/</guid>
      <description>
        

&lt;p&gt;Welcome to the new year! If you&amp;rsquo;re itching to improve your R skills in 2022, we have the resource for you.&lt;/p&gt;

&lt;p&gt;We&amp;rsquo;re excited to share the &lt;a href=&#34;https://www.bigbookofr.com/&#34;&gt;Big Book of R&lt;/a&gt;. &amp;ldquo;Your last-ever bookmark&amp;rdquo;, the Big Book of R is an impressive collection of R-related books from a variety of subjects. Creator &lt;a href=&#34;https://twitter.com/OscarBaruffa&#34;&gt;Oscar Baruffa&lt;/a&gt; first published the book in August 2020. Since then, it has grown from a list of 80 to over 200, garnering 73,000 unique visitors and 195,000 pageviews from readers around the globe.&lt;/p&gt;

&lt;p&gt;The Book is organized by different subjects that range from &lt;a href=&#34;https://www.bigbookofr.com/new-to-r-start-here.html&#34;&gt;introduction to R programming&lt;/a&gt; to &lt;a href=&#34;https://www.bigbookofr.com/big-data.html&#34;&gt;big data&lt;/a&gt; to &lt;a href=&#34;https://www.bigbookofr.com/archeology.html&#34;&gt;archeology&lt;/a&gt;. Its organization and search functionality make it easy for newcomers to find books related to their topic of interest.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;num_books.png&#34; alt=&#34;Bar chart of the books by section in the Big Book of R&#34; /&gt;&lt;/p&gt;

&lt;p&gt;The Big Book of R is a wonderful example of collaboration in the R Community. Oscar wrote the book using the &lt;a href=&#34;https://bookdown.org/&#34;&gt;bookdown&lt;/a&gt; package. Contributors can file an issue or create a pull request on &lt;a href=&#34;https://github.com/oscarbaruffa/BigBookofR&#34;&gt;Github&lt;/a&gt;. And of course, the book would not be possible without the authors who have written books to guide others on their R journey.&lt;/p&gt;

&lt;p&gt;While you are preparing for 2022, we encourage you to cozy up to one of the great books in the Big Book of R.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Check out the &lt;a href=&#34;https://www.bigbookofr.com/&#34;&gt;Big Book of R&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Contribute to the &lt;a href=&#34;https://github.com/oscarbaruffa/BigBookofR&#34;&gt;Github Repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Follow &lt;a href=&#34;https://twitter.com/OscarBaruffa&#34;&gt;Oscar on Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Subscribe to the &lt;a href=&#34;https://oscarbaruffa.com/newsletter/&#34;&gt;newsletter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;interview-with-oscar&#34;&gt;Interview with Oscar&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Hello! Could you tell us a bit about yourself, please?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I’m a South African now living in the Netherlands, working as a Data Specialist in an international development non-profit focused on sustainable trade systems. My role is basically that of a senior analytics manager and I’m the first one, so I get to have all the fun directing the development of our data pipeline! No really, it’s a lot of fun :).&lt;/p&gt;

&lt;p&gt;I studied Mechanical Engineering in my undergraduate and masters degrees and have been dabbling in tech-related side projects and hobbies for many years.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How did you get started with the R Community?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I think it was sometime in late 2018 when I was busy learning a bit of Python and &lt;a href=&#34;https://twitter.com/kierisi&#34;&gt;Jesse Mostipak&lt;/a&gt; started popping up on my Twitter feed. She made R sound quite fun so I thought I’d give it a try. After I got to the exercise in &lt;a href=&#34;https://r4ds.had.co.nz/&#34;&gt;R for Data Science&lt;/a&gt; by &lt;a href=&#34;https://twitter.com/hadleywickham&#34;&gt;Hadley Wickham&lt;/a&gt; and &lt;a href=&#34;https://twitter.com/StatGarrett&#34;&gt;Garrett Grolemund&lt;/a&gt; where you’re introduced to &lt;a href=&#34;https://r4ds.had.co.nz/data-visualisation.html#facets&#34;&gt;faceting a plot&lt;/a&gt;, my mind was blown and I was hooked.&lt;/p&gt;

&lt;p&gt;I then started participating in the &lt;a href=&#34;https://github.com/rfordatascience/tidytuesday&#34;&gt;#TidyTuesday&lt;/a&gt; challenge and recorded some screencasts on my “&lt;a href=&#34;https://www.youtube.com/c/OtherPeoplesRstats&#34;&gt;Other People’s RStats&lt;/a&gt;” YouTube channel. I took a bit of a leap of faith submitting a &lt;a href=&#34;https://youtu.be/AXYst7P1i3s&#34;&gt;lightning talk&lt;/a&gt; for &lt;a href=&#34;https://satrdays.org/&#34;&gt;satRday&lt;/a&gt; Johannesburg in April 2019, which was being organised by &lt;a href=&#34;https://twitter.com/datawookie&#34;&gt;Andrew Collier&lt;/a&gt; and &lt;a href=&#34;https://twitter.com/mbeckett_za&#34;&gt;Megan Beckett&lt;/a&gt;.  I was selected, which was a welcome surprise for my little topic. They were so helpful when I was trying to figure out the pull request flow for submitting my presentation. I also attended my first-ever R  workshop the day before (which Andrew presented), which was the first time  I’d ever sat in a room with other people who love R. It was awesome!&lt;/p&gt;

&lt;p&gt;While doing all of this, I was also following more and more people on Twitter who were tweeting about R, collecting bookmarks of packages, tutorials, and, of course, books. I was having a lot of fun. By early 2020, I wrote my first book with&lt;a href=&#34;https://twitter.com/veerlevanson&#34;&gt; Veerle van Son&lt;/a&gt; called &lt;a href=&#34;https://www.t4rstats.com/&#34;&gt;Twitter for R Programmers&lt;/a&gt; as a way to introduce others to the R community on the social platform. So by that point, you could say I’d become heavily invested in the community :).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What inspired you to start the Big Book of R?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I had been diligently collecting bookmarks of books as I was finding them. After about 2 years of doing so, I had an inkling that I must have a large collection. One day, I counted about 80. I compared it to other lists of books that I’d seen published and I had way more, so I figured this might be quite unique to have so many.&lt;/p&gt;

&lt;p&gt;Having had written my own short book, I also appreciated how much effort it took and I felt there must be better usability for readers and discoverability for authors if books were all listed in one place and grouped by topic (I invented a library - haha!). I also hoped (still do) that it might encourage more writing too. I put all the books together, spent some time categorising them, and in August 2020 published it. It made quite a splash!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tell us about the design choices you made to make the book inclusive and open to the community.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I opted to use &lt;a href=&#34;https://bookdown.org/&#34;&gt;bookdown&lt;/a&gt; and git as I already had a bit of experience using them for &lt;a href=&#34;https://www.t4rstats.com/&#34;&gt;Twitter for R Programmers&lt;/a&gt;. It felt very “meta” and fitting to use bookdown, which had in turn been used for almost all of the books in the collection. I was hoping this format would allow others to submit books as well — and they’ve &lt;a href=&#34;https://www.bigbookofr.com/index.html#contributors&#34;&gt;generously done so&lt;/a&gt;. I kept the collection as a plain text format in the hope that it would slightly lower the barrier to people submitting books, but in the end, many people just tag me in a tweet which is welcome :).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What has surprised you the most about this project?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I knew people would like this but I didn’t expect how much it would be appreciated. Every now and then, I get a message of thanks for creating and maintaining it that really makes me feel warm and fuzzy inside. I hope people also reach out to the authors and do the same. Their effort in writing these books is immense and a little bit of appreciation will make their day —  guaranteed!&lt;/p&gt;

&lt;p&gt;What also surprises me is how there’s very consistent spikes in views and a steady growth in daily visitors whenever someone else shares the Big Book of R. If you’re interested to see the analytics, I’ve made them &lt;a href=&#34;https://www.bigbookofr.com/index.html#live-stats&#34;&gt;publicly accessible&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What’s in store for the Big Book of R in 2022?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I’m sure the collection will keep growing :).&lt;/p&gt;

&lt;p&gt;I’ve just remodeled how the content is generated. Instead of capturing the book entries directly into markdown, it’s now generated by reading the data from a &lt;a href=&#34;https://docs.google.com/spreadsheets/d/1vufdtrIzF5wbkWZUG_HGIBAXpT1C4joPx2qTh5aYzDg/edit#gid=2112909599&#34;&gt;Google sheet&lt;/a&gt;. This new setup gives me the flexibility to do things like alphabetize the books more easily, add additional fields and tags more easily, set up Twitter/LinkedIn bots to  automatically post about books in the collection, set up scripts to detect book updates, etc. Basically, I want to open up more possibilities for further automation and discoverability. If anyone is building anything using this data, &lt;a href=&#34;https://twitter.com/OscarBaruffa&#34;&gt;I’d love to hear about it&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If anyone has ideas of how to improve, please get in touch with me or submit an issue in the &lt;a href=&#34;https://github.com/oscarbaruffa/BigBookofR&#34;&gt;repo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do you have any ongoing or upcoming projects you’d like the R Community to know about?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If things work out, there’s a chance I’ll be a technical reviewer on two R books being worked on in 2022, so that’ll be a new experience for me that I’m looking forward to. I’m going to keep writing useful articles about R, data and data careers over on &lt;a href=&#34;https://oscarbaruffa.com/&#34;&gt;my blog &lt;/a&gt;(and releasing fun R-related products here and there). The best way to be notified of those is to sign up to my &lt;a href=&#34;https://oscarbaruffa.com/newsletter/&#34;&gt;newsletter&lt;/a&gt;. I’m also looking to write some more on the topic of Project Management to build upon my other bit of work that I’m really proud of, &lt;a href=&#34;https://oscarbaruffa.com/pm/&#34;&gt;Project Management Fundamentals for Data Analysts&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Closing question: what is your favorite R package right now?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I think I’d give that accolade to {dplyr}! I’m pretty sure that &lt;code&gt;filter()&lt;/code&gt; and &lt;code&gt;group_by()&lt;/code&gt; are my most-used functions. Nothing gives me greater pleasure than a good &lt;code&gt;anti_join()&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;We at RStudio would like to thank Oscar for his contribution to RViews and the creation of a great resource for the R Community. Happy reading in 2022!&lt;/em&gt;&lt;/p&gt;

        &lt;script&gt;window.location.href=&#39;https://rviews.rstudio.com/2022/01/04/interview-with-oscar-baruffa/&#39;;&lt;/script&gt;
      </description>
    </item>
    
    <item>
      <title>R for Quantitative Health Sciences: An Interview with Jarrod Dalton</title>
      <link>https://rviews.rstudio.com/2019/02/06/r-for-quantitative-health-sciences-an-interview-with-jarrod-dalton/</link>
      <pubDate>Wed, 06 Feb 2019 00:00:00 +0000</pubDate>
      
      <guid>https://rviews.rstudio.com/2019/02/06/r-for-quantitative-health-sciences-an-interview-with-jarrod-dalton/</guid>
      <description>
        &lt;p&gt;This interview came about through researching R-based medical applications in preparation for the upcoming &lt;a href=&#34;https://r-medicine.com/&#34;&gt;R/Medicine&lt;/a&gt; conference. When we discovered the impressive number of Shiny-based &lt;a href=&#34;http://riskcalc.org:3838/&#34;&gt;Risk Calculators&lt;/a&gt; developed by the &lt;a href=&#34;https://my.clevelandclinic.org/&#34;&gt;Cleveland Clinic&lt;/a&gt; and implemented in public-facing sites, we wanted to learn more about the influence of R Language in the development of statistical science at this prominent institution. We were fortunate to have Jarrod Dalton of the &lt;a href=&#34;https://www.lerner.ccf.org/qhs/&#34;&gt;Quantitative Health Sciences&lt;/a&gt; Department grant this interview.&lt;/p&gt;

&lt;p&gt;Jarrod Dalton, PhD is an assistant staff scientist in the Department of Quantitative Health Sciences and an assistant professor of medicine in the Cleveland Clinic Lerner College of Medicine at Case Western Reserve University in Cleveland, Ohio. (Twitter: @daltonjarrod)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;JBR: QHS has been a leader in medical statistical research for quite some time. Have recent developments in big data, data science and machine learning changed the nature of your work? Are these trends bringing new tools and new challenges to QHS projects?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;JD: Yes and no. On one hand, the health care sector has been at least as dynamic over the past 10-20 years as the fields of data science and machine learning. Clinical and biological research is quite diverse, and these trends have only added to its diversity. We work on studies with p&amp;gt;&amp;gt;n, n&amp;gt;&amp;gt;p, and everything in between. The complexity of problems in biomedical research has spurred new methodological innovations by our department, such as random survival forests. Modern machine learning algorithms are amenable to certain types of problems; I’d say that the most impactful manifestations to date of machine learning in medicine are in the fields of radiology and genomics, where diagnostic and prognostic problems are well-defined.&lt;/p&gt;

&lt;p&gt;On the other hand, there are unique challenges relating to the application of machine learning algorithms in medicine. Doctors and patients are averse to trusting a model if they don’t understand how and why the prediction is being made. Doctors often have justifiable and either unquantified or unquantifiable reasons for disbelieving predictions on the basis of other clinical information they obtain during the process of care. Predictions inform treatment decisions (or decisions not to administer treatments), and many other issues are involved with optimal clinical decision-making (e.g., physician judgment, patient preferences, cost effectiveness of different therapies, discounting rate for health events that are distant in the future, trade-offs between quality of life and longevity, issues relating to health literacy, numeracy and the communication of risk, and desired degree of participation in the decision-making process on behalf of the patient).&lt;/p&gt;

&lt;p&gt;Much of our work has, and will continue to be, in the clinical trials space, as well as good-old biostatistical consulting. We have a department of over 100 people and publish over 400 academic research studies every year, the vast majority of which arising from traditional statistical collaboration.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;JBR: Ten years ago, a typical medical statistics department might consist of a number of Ph.D. statisticians who did almost no coding supported by a legion of SAS programmers. Have open-source languages such as R and Python changed the way work gets done? Do more statisticians now do their own coding? Do you see a movement away from SAS towards open source tools? Do you see clinicians doing their own analyses with R?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;JD: We have dedicated consulting teams that are embedded within some of the more research-intensive clinical specialties at our institution, such as heart and vascular, oncology, urology, anesthesiology, neurology, and orthopaedics. Another consulting team, which we call the “alpha-beta team”, is composed of statisticians who allocate their time to the smaller sub-specialties. More recently, we have been successful at establishing externally funded research labs, headed by QHS principal investigators. Each of these teams has their own way of doing things. We are supported by a number of dedicated RStudio servers, as well as a high-performance computing cluster with R and Python capabilities.  On the SAS front, our institution has a high-performance Enterprise Miner environment to support both research and business intelligence. All this having been said, roughly speaking, about half of our department uses R and half uses SAS. Some of our researchers in genomics and image analytics use Python, or complex pipelines that incorporate Python, R, and other tools.&lt;/p&gt;

&lt;p&gt;I personally have used R since 2002. I have seen the power of open-source software, with R constantly reinventing itself in a variety of ways. I can’t believe that &lt;code&gt;ggplot&lt;/code&gt; and &lt;code&gt;plyr&lt;/code&gt; are 10 years old. The tidyverse has changed the way I think. This is especially so for the &lt;code&gt;dplyr&lt;/code&gt; and &lt;code&gt;purrr&lt;/code&gt; packages, which have enabled much greater efficiency and transparency. My team has recently taken advantage of  distributed database computing via a &lt;code&gt;dbplyr&lt;/code&gt;/Teradata Warehouse stack, using electronic health data from 2.7 million patients.&lt;/p&gt;

&lt;p&gt;More and more physician scientists are training with R. Our partner university, Case Western Reserve, has a two-course sequence on data science based in R, and that sequence is a component of several Master’s programs that many of our clinicians pursue. Some of them can code up a storm! Others know just enough to be dangerous.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;JBR: The number of Shiny-based &lt;a href=&#34;http://riskcalc.org:3838/&#34;&gt;Risk Calculators&lt;/a&gt; implemented on your website is astounding, both in their level of sophistication and in the number of topics covered. What is your goal for this project, and how would you like the calculators to be used? Can you say something about the challenges (both medical and technical) you faced in building these calculators?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;JD: The goal of the project is to inform clinicians as to our best estimates of predicted outcomes. These predictions have been shown in several studies to be more accurate than clinical judgment or crude decision trees. Ultimately, these more accurate predictions should translate into better medical decision-making, especially with regard to treatment selection. The major challenge occurs up front: working with the clinician to clearly articulate the prediction that is needed – that which would be most hopeful for prospective decision-making. Modeling usually goes very well except when the outcome of interest is very rare: those models often turn out to be not very useful clinically because they never predict a high probability for the rare outcome.&lt;/p&gt;

&lt;p&gt;From a technical perspective, the challenge is how to make our data insights and predictive models available online. Before R shiny, our RiskCalc team had tried several web platforms and were not satisfied. We have some very sophisticated models and those platforms either do not support complex computing algorithms or require a lot of programming effort. Using R shiny makes the process of converting our models into web applications quick and easy. The next steps for our RiskCalc team are to improve the user interface and collect feedback from the clinicians.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;JBR: How important is reproducible research to QHS, and what role does R play in building reproducible workflows?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We have seen a steady progression toward reproducible research practices in medicine. All clinical trial protocols must now be pre-registered, and proof of adherence to the pre-registered protocol is now a standard requirement of many of the top journals. Somewhat controversially, there has recently been a lot of discussion about a “replication crisis”, particularly in the psychological sciences (but perhaps unfairly so). In any case, the increased focus on replicability has led to an increased need for reproducible research practices.&lt;/p&gt;

&lt;p&gt;Nik Krieger and I have recently made an R package, called &lt;a href=&#34;https://github.com/NikKrieger/projects&#34;&gt;&lt;code&gt;projects&lt;/code&gt;&lt;/a&gt;, that is specifically designed for reproducible academic manuscript development workflows. While the projects package has other features - like the ability to develop and maintain a coauthor database, complete with institutional affiliations, or the ability to automatically generate title pages for manuscripts using the authors’ institutional affiliations - its core functionality is establishing project directories with Markdown templates corresponding to each phase of the academic research pipeline (protocol, data wrangling, analysis, and reporting). Project metadata are stored in a tibble, so that teams can prioritize and strategize directly from the R console.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;JBR: Do you have any additional thoughts about the use of R in Medicine that you would like to share with our readers?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What comes to mind are current challenges in integrating R into production environments in medicine, such as the electronic health record (EHR).  EHR systems are not open-source, and there are many vendors. Even for a single vendor, implementations at different institutions may look wildly different from a data perspective. Our EHR system has over 10,000 tables. There are so many challenges to implementing anything in the healthcare space. That may sound pessimistic, but I actually intend to communicate the significant number of opportunities for using R to positively influence the health of populations. We have fantastic clinical partners and champions. We’re always getting better. The work is important and rewarding.&lt;/p&gt;

        &lt;script&gt;window.location.href=&#39;https://rviews.rstudio.com/2019/02/06/r-for-quantitative-health-sciences-an-interview-with-jarrod-dalton/&#39;;&lt;/script&gt;
      </description>
    </item>
    
    <item>
      <title>A Mathematician&#39;s Perspective on Topological Data Analysis and R</title>
      <link>https://rviews.rstudio.com/2018/11/14/a-mathematician-s-perspective-on-topological-data-analysis-and-r/</link>
      <pubDate>Wed, 14 Nov 2018 00:00:00 +0000</pubDate>
      
      <guid>https://rviews.rstudio.com/2018/11/14/a-mathematician-s-perspective-on-topological-data-analysis-and-r/</guid>
      <description>
        &lt;p&gt;A few years ago, when I first became aware of Topological Data Analysis (TDA), I was really excited by the possibility that the elegant theorems of Algebraic Topology could provide some new insights into the practical problems of data analysis. But time has passed, and the &lt;a href=&#34;https://arxiv.org/pdf/1609.08227.pdf&#34;&gt;sober assessment&lt;/a&gt; of Larry Wasserman seems to describe where things stand.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;TDA is an exciting area and is full of interesting ideas. But so far, it has had little impact on data analysis.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Nevertheless, TDA researchers have been quietly working the problem and at least some of them are using R (see below). Since I first read Professor Wasserman&amp;rsquo;s paper, I have been very keen on getting the perspective of a TDA researcher. So, I am delighted to present the following interview with &lt;a href=&#34;https://sites.google.com/site/noahgian/&#34;&gt;Noah Giansiracusa&lt;/a&gt;, Algebraic Geometer, TDA researcher and co-author of a &lt;a href=&#34;https://amstat.tandfonline.com/doi/full/10.1080/10618600.2017.1422432#.W-ICw5NKhpg&#34;&gt;recent JCGS paper&lt;/a&gt; on a new visualization tool for persistent homology.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Hello Dr. Giansiracusa. Thank you for making time for us at R Views. How did you get interested in TDA?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While doing a postdoc in pure mathematics (algebraic geometry, specifically) I, probably like many people, could not escape a feeling that crept up from time to time&amp;mdash;particularly during the more challenging moments of research frustration&amp;mdash;that perhaps the efforts I was putting into proving abstract theorems might have been better spent working in a more practical, applied realm of mathematics.  However, pragmatic considerations made me apprehensive at that point in my career to take a sudden departure, for I finally felt like I was gaining some momentum in algebraic geometry, developing a nice network of supportive colleagues, etc., and also that I would very soon be on the tenure track job market and I knew that if I was hired (a big &amp;ldquo;if&amp;rdquo;!) it would be for a subject I had actually published in, not one I was merely curious about or had recently moved into.  But around this same time I kept hearing about an exciting but possibly over-hyped topic called topological data analysis: TDA.  It really seemed to be in the air at the time (this was about five years ago).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Why do you think TDA took off?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I can only speak for myself, but I think there were two big reasons that TDA generated so much buzz among mathematicians at the early stages.&lt;/p&gt;

&lt;p&gt;First, it was then, and still is impossible to escape the media blitz on &amp;ldquo;big data&amp;rdquo; and the &amp;ldquo;data revolution&amp;rdquo; and related sentiments. This is felt strongly within academic circles (our deans would love us all to be working in data it seems!) but also in the mainstream press. Yet, I think pure mathematicians often felt somewhat on the periphery of this revolution: we knew that the modern developments in data and deep learning and artificial intelligence would not be possible without the rigorous foundations our mathematical ancestors had laid, but we also knew that most of the theorems we are currently proving would in all likelihood play absolutely zero role in any of the contemporary story. TDA provided a hope for relevance, that in the end the pure mathematician would come out of the shadows of obscurity and strike a data science victory proving our ineluctable relevance and superiority in all things technical&amp;mdash;and this hope quickly turned to hype.&lt;/p&gt;

&lt;p&gt;I think I and many other pure mathematicians were rooting for TDA, to show the world that our work has value.  We tired of telling stories of how mathematicians invented differential geometry before Einstein used it in relativity and your GPS would not be possible without this.  We needed a more fresh, decisive victory in the intellectual landscape; number theory used in cryptography is great, but still too specialized: TDA had the promise of bringing us into the (big) data revolution. And so we hoped, and we hyped.&lt;/p&gt;

&lt;p&gt;And second, from a very practical perspective, I simply did not have time to retrain myself in applied math, the usual form of applied math based heavily on differential equations, modeling, numerical analysis, etc.  But TDA seemed to offer a chance to gently transition to data science mathematical relevance&amp;mdash;instead of starting from scratch, pure mathematicians such as myself would simply need to add one more chapter to our background in topics like algebraic topology and then we&amp;rsquo;d be ready to go and could brand ourselves as useful!  And if academia didn&amp;rsquo;t work out, Google would surely rather open the doors of employment to a TDA expert than to a traditional algebraic topologist (or algebraic geometer, in my case).&lt;/p&gt;

&lt;p&gt;I think these are two of the main things that brought TDA so much early attention before it really had many real-world successes under its belt, and they are certainly what brought me to it; well, that and also an innocent curiosity to understand what TDA really is, how it works, and whether or not it does what it claims.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: So how did you get started?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I first dipped my toes in the TDA waters by agreeing to do a reading course with a couple undergraduates interested in the topic; then I led an undergraduate/master&amp;rsquo;s level course where we studied the basics of persistent homology, downloaded some data sets, and played around.  We chose to use R for that since there are many data sets readily available, and also because we wanted to do some simple experiments like sampling points from nice objects like a sphere but then adding noise, so we knew we wanted to have a lot of statistical functions available to us and R had that plus TDA packages already.  While doing this I grew to quite like R and so have stuck with it ever since.  In fact, I&amp;rsquo;m now using it also on a (non-TDA) project to analyze Supreme Court voting patterns from a computational geometry perspective.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Do you think TDA might become a practical tool for statisticians?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;First of all, I think this is absolutely the correct way to phrase the question!  A few years ago TDA seemed to have almost an adversarial nature to it, that topologists were going to do what data scientists were doing but better because fancy math and smart people were involved.  So the question at the time seemed to be whether TDA would supplant other forms of data science, and this was a very unfortunate way to view things.&lt;/p&gt;

&lt;p&gt;But, it was easy to entirely discredit TDA by saying that it makes no practical difference whether your data has the homology of a Klein bottle, or there were no real-world examples where TDA had outperformed machine learning.  This type of dialogue was missing the point.  As your question suggests, TDA should be viewed as a tool to be added to the quiver of data science arrows, rather than an entirely new weapon.&lt;br /&gt;
In fact, while this clarification moves the dialogue in a healthy direction (TDA and machine learning should work together, rather than compete with each other!) I think there&amp;rsquo;s still one further step we should take here: TDA is not really a well-defined entity.  For instance, when I see topics like random decision forests, it looks very much like topology to me!  (Any graph, of which a tree is an example, is a 1-dimensional simplicial complex, and actually if you look under the hood, the standard Rips complex approach in TDA builds its higher dimensional simplicial complexes out of a 1-dimensional simplicial complex, so both random forests and TDA&amp;mdash;and most of network theory&amp;mdash;are really rooted in the common world of graph theory.)&lt;/p&gt;

&lt;p&gt;Another example: the 0-dimensional barcode for the Rips flavor of TDA encodes essentially the same information as hierarchical clustering.  All I&amp;rsquo;m saying here is that there&amp;rsquo;s more traditional data science in TDA than one might first imagine, and there&amp;rsquo;s more topology in traditional data science than one might realize.  I think this is healthy, to recognize connections like these&amp;mdash;it helps one see a continuum of intellectual development here rather than a discrete jump from ordinary data science to fancy topological data science.&lt;/p&gt;

&lt;p&gt;That&amp;rsquo;s a long-winded way of saying that you phrased the question well. The (less long-winded) answer to the question is: Yes!  Once one sees TDA as one more tool for extracting structure and statistics from data, it is much easier to imagine it being absorbed into the mainstream.  It need not outperform all previous methods or revolutionize data science, it merely needs to be, exactly as you worded it, a practical tool.  Data science is replete with tools that apply in some settings and not others, work better with some data than others, reveal relevant information sometimes more than others, and TDA (whatever it is exactly) fits right into this.  There certainly will be some branches of TDA that gain more traction over the years than others, but I am absolutely convinced that at least some of the methods used in TDA will be absorbed into statistical learning just as things like random decision trees and SVMs (both of which have very topological/geometric flavors to them!) have.  This does not mean that every statistician needs to learn TDA, just as not every statistician needs to learn all the latest methods in deep learning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Where do you think TDA has had the most success?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Over the past few years I think the biggest strides TDA has made have been in terms of better interweaving it with other methods and disciplines&amp;mdash;so big topics with lots of progress but still room for more have included confidence intervals, distributions of barcodes, feature selection and kernel methods in persistent homology.  These are all exciting topics and healthy for the long-term development of TDA.&lt;/p&gt;

&lt;p&gt;I think, perhaps controversially, the next step might actually be to rid ourselves of the label TDA.  For one thing, TDA is very geometric and not just topological (which is to say: distances matter!).  But the bigger issue for me is that we should refer to the actual tools being used (mapper, persistent homology in its various flavors, etc.) rather than lump them arbitrarily together under this common label.  It took many years for statisticians to jump on the machine learning bandwagon, and part of what prevented them from doing so sooner was language; the field of statistical learning essentially translates machine learning into more familiar statistical terminology and reveals that it is just another branch of the same discipline.  I suspect something similar will take place with TDA&amp;hellip; er, I should say, with these recent topological and geometric data analysis tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Do you think focusing on the kinds of concrete problems faced when trying to apply topological and algebraic ideas to data analysis will turn out to be a productive means of motivating mathematical research?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes, absolutely&amp;mdash;and this is also a great question and a healthy way to look at things!  Pure mathematicians have no particular agenda or preconceived notion of what they should and should not be studying: pure mathematics, broadly speaking, is logical exploration and development of structure and symmetry.  The more intricate a structure appears to be, and the more connected to other structures we have studied, the more interested we tend to be in it.  But that really is pretty much all we need to be interested&amp;mdash;and to be happy.&lt;/p&gt;

&lt;p&gt;So TDA provides a whole range of new questions we can ask, and new structures we can uncover, and inevitably many of these will tie back to earlier areas of pure mathematics in fascinating ways&amp;mdash;all the while, throughout these explorations pure mathematicians likely will end up laying foundations that help provide a stable scaffolding for the adventurous data practitioners who jump into methodology before the full mathematical landscape has been revealed.  So TDA absolutely will lead to new, important mathematical research:  important both because we&amp;rsquo;ll uncover beautiful structures and connections, and important also because it will provide some certainty to the applied methods build on top of this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: More specifically, what role might the R language play in facilitating the practice or teaching of mathematics?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Broadly speaking, I think many teachers&amp;mdash;especially in pure mathematics&amp;mdash;undervalue the importance of computer programming skills, though this is starting to change as pure mathematicians increasingly enjoy experimentation as a way of exploring small examples, honing intuition, and finding evidence for conjectures.  While the idea of theorem-proof mathematics is certainly the staple of our discipline, it&amp;rsquo;s not the only way to understand mathematical structure.  In fact, students often find mathematical material resonates with them much more strongly if they uncover a pattern by experimenting on a computer rather than just being fed it through lecture or textbooks. Concretely, if students play with something like the distribution of prime numbers, they might get excited to see the fascinating interplay between randomness and structure that emerges, and that can better prepare them to appreciate formally learning the prime number theorem in a classroom.  So as things like TDA emerge, the number of pure mathematics topics that can be explored on a computer increases, and I think that&amp;rsquo;s a great thing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Where does R fit in?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Well, much of the mathematical exploration I&amp;rsquo;m referring to here is symbolic&amp;mdash;so very precise and algebraic flavor&amp;mdash;and R certainly has no limitations working precisely, but it&amp;rsquo;s not the main goal of the language so one likely would use a computer algebra system instead.  But, one exciting thing TDA does help us see is that there&amp;rsquo;s a marvelous interface between the symbolic and numerical worlds (here represented by the topology and the statistics, respectively) and I think this is great for both teaching and research.  The more common ground we find between topics that previously seemed quite disparate, the more chance we have of building meaningful interdisciplinary collaborations, the more perspectives we can provide our students to motivate and study something, and the more we see unity within mathematics.  My favorite manifestation of this is that TDA is the study of the topology of discrete spaces&amp;mdash;but discrete spaces have no non-trivial topology!  What&amp;rsquo;s really going on then is that data gives us a discrete glimpse into a continuous, highly structured world, and TDA aims to restore the geometric structure lost due to sampling.  In doing so one cannot, and should not, avoid statistics, so pure mathematics is brought meaningfully in contact with statistics and I absolutely love that.  This means the R language finds a role in pure math where it may previously not have: topology with noise, algebra with uncertainty.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thank you again! I think your ideas are going to inspire some R Views readers.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Editors note: here are some R packages for doing TDA:&lt;br /&gt;
   * &lt;a href=&#34;https://cran.r-project.org/package=TDA&#34;&gt;TDA&lt;/a&gt; contains tools for the statistical analysis of persistent homology and for density clustering.&lt;br /&gt;
   * &lt;a href=&#34;https://cran.r-project.org/package=TDAmapper&#34;&gt;TDAmapper&lt;/a&gt; enables TDA using Discrete Morse Theory.&lt;br /&gt;
   * &lt;a href=&#34;https://cran.r-project.org/package=TDAstats&#34;&gt;TDAstats&lt;/a&gt; offers a tool set for TDA including for calculating persistent homology in a Vietoris-Rips complex.&lt;br /&gt;
   * &lt;a href=&#34;https://cran.r-project.org/package=pterrace&#34;&gt;pterrace&lt;/a&gt; builds on TDA and offers a new multi-scale and parameter free summary plot for studying topological signals.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;/post/2018-11-07-Giansiracura-TDA_files/pterrace.png&#34; height = &#34;400&#34; width=&#34;600&#34;&gt;&lt;/p&gt;

        &lt;script&gt;window.location.href=&#39;https://rviews.rstudio.com/2018/11/14/a-mathematician-s-perspective-on-topological-data-analysis-and-r/&#39;;&lt;/script&gt;
      </description>
    </item>
    
    <item>
      <title>Interview with Joe Cheng</title>
      <link>https://rviews.rstudio.com/2017/01/04/interview-with-joe-cheng/</link>
      <pubDate>Wed, 04 Jan 2017 00:00:00 +0000</pubDate>
      
      <guid>https://rviews.rstudio.com/2017/01/04/interview-with-joe-cheng/</guid>
      <description>
        &lt;p&gt;Recently, I had the opportunity to interview RStudio&amp;rsquo;s Joe Cheng. Joe, the inventor and lead developer for Shiny, was the first person that J.J. Allaire invited to join the RStudio IDE project. We talked about those early days, how Shiny got started, Joe&amp;rsquo;s background as a software developer, his take on the R language and more. What follows is an edited transcript of our conversation.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;JBR: &lt;em&gt;Hello Joe, thank you for being with us today. In the interview we did with J.J. last year, he said that eight years or so ago, he worked on an early version of the RStudio IDE for about nine months before he realized that he couldn&amp;rsquo;t do the whole thing by himself. About what happened next, J.J. said:&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;So I recruited Joe Cheng to work with me. Joe and I had worked together at a couple of previous companies. At that time I told him, Joe, I make no representation or promise that this is going to be a company. It just might be an open-source project. Is that okay with you?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Then J.J. said you replied, &amp;ldquo;That&amp;rsquo;s fine.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Really? You just said, &amp;ldquo;That&amp;rsquo;s fine.&amp;rdquo; Did you really say that? This must have been quite a big deal for you to commit to something so uncertain. What were you thinking? Can you tell us a bit about the backstory?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Joe Cheng:&lt;/strong&gt; I had started working for J.J.&amp;rsquo;s first company back in 1996 when I was a college freshman. I was an intern in their web development department. I never met J.J. then, but I worked closely with the first employee at Allaire, a guy name &lt;a href=&#34;https://www.linkedin.com/in/cteague&#34;&gt;Charles Teague&lt;/a&gt;. Several years later, Charles kind of called me out of the blue and said he was starting another company with J.J., a very small one. This is about 2002 or 2003. I went to work for Onfolio when it was about five or six people. I got to know J.J. very well.&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;ve worked for many start-ups in my career. I really enjoy early-stage startups and by far, to me, the most important thing, more important than a business model, more important than who&amp;rsquo;s investing is whether the founder is someone that you trust and whose values align with yours. I just thought J.J. was an amazing individual and he really believed in every piece of software we ever made together. He did it for the right reasons and really did things with a lot of respect for our users and customers, and really believed in taking care of his employees. He proved that again and again while we had worked together over the years.&lt;/p&gt;

&lt;p&gt;For me, there is nothing risky about working for any project that J.J.&amp;rsquo;s involved with. I know that whatever would happen, whether something amazing was going to happen with R, or whether it wasn&amp;rsquo;t a good bet, that if you work for J.J. really interesting things are going to happen and good things tend to follow. The other consideration was that I had been working in the startup world since I graduated from college. I don&amp;rsquo;t think that I was involuntarily out-of-work for more than a week and a half or two weeks.&lt;/p&gt;

&lt;p&gt;The bottom line was that I thought for this particular industry at that particular moment it was OK if the opportunity was unstable. There was lots of interesting stuff happening all over the industry. If it didn&amp;rsquo;t work out I would just move on to the next thing. I didn&amp;rsquo;t join J.J. because I thought there was an amazing business model or an amazing business to be built, but because I thought the technical problems were interesting and I believed in J.J. That was really all that mattered to me at the time. But I&amp;rsquo;m pleasantly surprised that it&amp;rsquo;s worked out as well as it did.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;JBR: &lt;em&gt;So you worked on the idea with J.J. for a while and then I guess three years ago or so you had the idea for Shiny. In an interview you did at &lt;a href=&#34;https://www.youtube.com/watch?v=uJm-its3ZWM&#34;&gt;useR! 2014&lt;/a&gt;, you talked about how the JavaScript &lt;a href=&#34;https://www.meteor.com/&#34;&gt;Meteor&lt;/a&gt; project sparked the idea for you.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Joe Cheng:&lt;/strong&gt; Yes.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;JBR: &lt;em&gt;But besides the reactive programming tricks – I think that&amp;rsquo;s the word you used – what was the big idea that really excited you? Was it bringing JavaScript to the R world or designing new workflows or something else?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Joe Cheng:&lt;/strong&gt; I guess I have a little bit of a meta answer to that. I really get excited when I can do something that not that many other people know how to do. If I can take that ability and let other people do it, that&amp;rsquo;s really exciting. Web development is not an uncommon skill. Obviously there are a lot of people doing web development, but it is not common in the R community, or at least not as common as in other programming communities.&lt;/p&gt;

&lt;p&gt;What got me excited was that there was clearly this hunger for interactivity. People clearly wanted to be able to build interactive applications, reports and other artifacts. Just from talking to people I got the impression that they felt doing things interactively was just beyond them; far out of their reach. In 2010 or 2011, the very first time we talked to &lt;a href=&#34;https://www.macalester.edu/~kaplan/&#34;&gt;Danny Kaplan&lt;/a&gt;, a professor at Macalester, about the first versions out of RStudio IDE he told us: &amp;ldquo;That&amp;rsquo;s really cool and I&amp;rsquo;ll definitely use that, but what would really be nice is if I could stop hiring grad students to build the whole Java app that&amp;rsquo;s to demonstrate statistical concepts. I really want to be able to do this myself.&amp;rdquo; We heard versions of that over and over and over again.&lt;/p&gt;

&lt;p&gt;Right from that first time I told J.J. that we could definitely could do that. Obviously, we knew how to build web applications. We knew how to build libraries. We could have built a web app framework for R. But, I argued that we shouldn&amp;rsquo;t do it until we knew the right way to do it, meaning a way to express web applications that&amp;rsquo;s actually natural to do in R. I knew this had to be more than just taking the same idioms you would do in JavaScript, in Java or Ruby, and just port those over to R. I didn&amp;rsquo;t think that would do anyone any good. We wanted to find a library API that was high-level enough that you could really focus on the intent of what you were doing, but low-level enough that there infinite possibilities of what you could build.&lt;/p&gt;

&lt;p&gt;At the time that I made that statement, I really had no idea. I had no idea how we would solve that problem. I think those ideas percolated in my head and then finally seeing Meteor made the last pieces click. To me, it was the culmination of a lot of ideas that I&amp;rsquo;ve been building up over the course of my programming career and it happened to find a really receptive audience in the R community, so that&amp;rsquo;s been great.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;JBR: &lt;em&gt;Did you think Shiny would become so popular in such a short time?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Joe Cheng:&lt;/strong&gt; I thought it had a shot at being quite popular, but I was surprised at is how deeply people got into it right away. They didn&amp;rsquo;t just see it and kind of casually start using it. Apparently, a number of people decided right away that they were going to spend hours doing this every day. Some people have been heavily investing in Shiny for like four or five years now. That was surprising to me. I knew that people would use it to build simple apps, but I was absolutely shocked how quickly people decided to really build significant things on top of it.&lt;/p&gt;

&lt;p&gt;In a way, that was a really pleasant surprise, because it showed that we were on to something, but it also increased the pressure on us. I thought that I would have more time to build things out. I thought there would be a couple of years at least before people wanted the things that they started to build after only six months. The first couple of years after we released Shiny were really hectic. We were trying to catch up to what people wanted to do immediately with the framework.&lt;/p&gt;

&lt;p&gt;I am also surprised at how long the growth curve has continued. Here we are four or five years after Shiny was first introduced and still every year it seems like it gets bigger and bigger. I keep thinking: &amp;ldquo;Okay, now we&amp;rsquo;ve hit peak Shiny,&amp;rdquo; but every year going to conferences you see more and more and more Shiny everywhere, which is obviously very gratifying.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;JBR: &lt;em&gt;How mature is Shiny now? Are there still lots of new features that you want to add or is it getting to be really close to a finished product?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Joe Cheng:&lt;/strong&gt; I don&amp;rsquo;t know if it will ever be finished. I don&amp;rsquo;t know if that&amp;rsquo;s the nature of the kind of problem it&amp;rsquo;s trying to solve. But for quite some time now, I&amp;rsquo;ve felt like the capabilities of the framework and the features we&amp;rsquo;ve built in have far outstripped our ability to teach them effectively to the community. In that sense, Shiny is a more mature product than I think most people realize, and it has more features than most people are using. However, there are certainly some big areas where new features are needed. Right now, we are especially focused on testing and on long-running tasks. There are still a number of things that we are very interested in doing.&lt;/p&gt;

&lt;p&gt;The other thing that&amp;rsquo;s really interesting about Shiny is that every year there&amp;rsquo;s been at least one or two big surprises where Shiny turned out to be useful. People are using Shiny in scenarios that we never envisioned. For example, the idea of gadgets and Shiny gadgets being integrated in the IDE was a new thing that started in 2015. Or another example, the first year after we released Shiny I stumbled upon a pattern of using reactive programming to do its opposite: imperative programming. It turns out that you can use Shiny to effectively mix the two styles and do reactive and imperative programming. I certainly didn&amp;rsquo;t envision that! Yes, I continue to be surprised at new vistas opening up in front of Shiny, and so far, there&amp;rsquo;s no evidence that this is slowing down.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;JBR: &lt;em&gt;If you could restart Shiny from scratch today, what would you change?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Joe Cheng:&lt;/strong&gt; That&amp;rsquo;s a good question. When I began working on Shiny, some of the ideas around reactivity were not crystal clear in my head the way that they are today. I was stumbling along, going by instinct when I defined some of the early primitives, like reactive values, reactive expressions, observers. I did actually end up with the right set of primitives, but I didn&amp;rsquo;t understand their characteristics well enough to give them good names.&lt;/p&gt;

&lt;p&gt;The biggest thing I regret is naming the reactive expressions, the functions called reactive and observers. Those names are kind of like a nod back to Meteor and some other literature I had read about reactive programming. But they don&amp;rsquo;t actually help to convey how these functions should be used. I really wish I could go back and rename the function reactive to be rx_calc and the function observer to be rx_exec. These names better reflect what the functions should be used for.&lt;/p&gt;

&lt;p&gt;We have also been very happy with the technical bets we&amp;rsquo;ve made and how they&amp;rsquo;ve played out so far. That&amp;rsquo;s not to say someone won&amp;rsquo;t discover some critical mistake in the future, but so far this is really been kind of a charmed project. I&amp;rsquo;ve been extremely happy with how well the technology&amp;rsquo;s held up over the years.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;JBR: &lt;em&gt;Let&amp;rsquo;s change gears a little here and talk about R. You&amp;rsquo;ve gathered a tremendous amount of experience working with R as a developer. What&amp;rsquo;s your take on the R language from a computer scientist / software developer&amp;rsquo;s point of view? What features of R ought to inform any discussion of comparing R with other languages?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Joe Cheng:&lt;/strong&gt; I think R is actually a pretty underrated as a language. This is probably because it has some basic features that are so foreign coming from other languages. One example is having everything vectorized. Delayed evaluation for function arguments is another.&lt;/p&gt;

&lt;p&gt;About ten or fifteen years ago, I read a book &lt;a href=&#34;https://en.wikipedia.org/wiki/Paul_Graham_(computer_programmer)&#34;&gt;Paul Graham&lt;/a&gt; wrote before his &lt;a href=&#34;https://www.ycombinator.com/&#34;&gt;Y Combinator&lt;/a&gt; days, called &lt;a href=&#34;https://www.amazon.com/ANSI-Common-LISP-Paul-Graham/dp/0133708756/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1481825241&amp;amp;sr=1-1&amp;amp;keywords=ansi+common+lisp&#34;&gt;ANSI Common Lisp&lt;/a&gt;. At the time, I was a Java programmer building websites and whatever, and it was an absolutely eye-opening, mind-expanding experience reading that book. As I remember it, one of his main points about why Lisp is such an amazing language is that in other languages, you build abstractions by writing functions, writing classes, and then calling them. Whereas in Lisp, it&amp;rsquo;s almost like you change the language itself to be a &lt;a href=&#34;https://en.wikipedia.org/wiki/Domain-specific_language&#34;&gt;DSL&lt;/a&gt; for whatever problem you&amp;rsquo;re trying to solve. Most other languages don&amp;rsquo;t have this flexibility, certainly not Java, which at the time was my main point of comparison. It was really frustrating to me to read about these incredible ideas and this new way of solving problems – new to me, anyway – and not have the expressiveness and power in the language that I was used to and that I had access to for my day-to-day work.&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;ve really felt that way ever since then about every language that I&amp;rsquo;ve worked in. Ruby came close in some ways, but still it would not let you compute on the language in quite the same way that you could do with Lisp. Even R is not all the way there, but it is shockingly close. If you look beyond the syntax, R really is conceptually very much like Lisp in a lot of ways. One of those ways is that it makes it very, very easy to compute on the programming language itself.&lt;/p&gt;

&lt;p&gt;When we build APIs, like for dplyr, for Shiny, we basically are not just saying here&amp;rsquo;s this little routine that you can call any time you need this kind of calculation. We are giving you a different way to express problems in code. R is just an incredible language for letting you do that. Features like formulas, or combining delayed evaluation with the &lt;a href=&#34;https://stat.ethz.ch/R-manual/R-devel/library/base/html/substitute.html&#34;&gt;&lt;code&gt;substitute()&lt;/code&gt;&lt;/a&gt; function. There are many different ways you can take your standard evaluation model and turn it on it&amp;rsquo;s head to accomplish whatever it is you&amp;rsquo;re trying to accomplish. For doing reactive programming, it&amp;rsquo;s a great advantage, I think, to have a language that&amp;rsquo;s as flexible as R.&lt;/p&gt;

&lt;p&gt;I think for day-to-day, R programmers probably don&amp;rsquo;t think about these things, but the elegant, terse syntax of dplyr and the pipe operator are possible because of how malleable a language R is and how great it is for writing DSLs in it.&lt;/p&gt;

&lt;p&gt;Personally, one of my pet peeves during these language wars is when people say that one of the differences between say Python or Julia and R is that R is a DSL for stats, whereas these other things are general purpose languages. R is not a DSL. It&amp;rsquo;s a language for writing DSLs, which is something that&amp;rsquo;s altogether more powerful. I actually think that Julia has many of these same characteristics, but Python, even though it obviously has its own strengths, certainly doesn&amp;rsquo;t share that same level of flexibility.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;JBR: &lt;em&gt;Okay, so now you partially touched on this next question, but let me go and ask it anyway. To a large extent, R as it currently exists was shaped by statistician developers who are interested in a platform for computational statistics. Do you think that the work that you&amp;rsquo;re doing as you just described and with R with JavaScript features, is going to change the personality of R itself?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Joe Cheng:&lt;/strong&gt; I think in some ways it already has. At least that&amp;rsquo;s the way a lot of people I engage with through supporting Shiny and talking at conferences see it. The way they think about expressing R code seems to have changed a bit over the last few years. Largely due to Hadley and his Tidy Manifesto, the personality of R has changed. There is more of a focus now on the consistent expression of similar problems and thinking about things from the user&amp;rsquo;s point of view. It&amp;rsquo;s not just about making calculations possible, but also thinking about how users want to consume libraries.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;JBR: &lt;em&gt;Should statisticians be worried about the influence of computer science and software engineering that is making its way into R?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Joe Cheng:&lt;/strong&gt; No, I don&amp;rsquo;t think so. The kind of lessons that we have adopted so far like falling into the &amp;ldquo;pit of success&amp;rdquo; (designing a package so it&amp;rsquo;s hard to use it incorrectly) or adopting source control have all been good. I really think that Hadley especially has raised the bar for the community and changed what people aspire to in terms of what their APIs look like. Those of us who use R on a regular basis can feel the difference between the functions that have been in base forever and some of the newer functions people are writing which can be freshly installed from GitHub.&lt;/p&gt;

&lt;p&gt;So far at least, I haven&amp;rsquo;t seen a lot of downside to the evolution we&amp;rsquo;re seeing in the way that people in the community write R code. Mostly it&amp;rsquo;s thinking more intentionally about the user experience and not so much about moving away from a stats focus or anything like that. Development is still very much focused on statisticians and on helping people get whatever they need to do done really quickly, whether interactively or through scripts. Some of this intentionality might just amount to taking an extra second to make sure that you&amp;rsquo;ve thought about your naming scheme, that you&amp;rsquo;ve thought about what things should be in separate functions, etc. Things like this are more what I would consider good practices, good hygiene. I think there is a danger in looking to other programming languages for inspiration and maybe picking up some of their bad habits, but I haven&amp;rsquo;t seen a lot of that so far.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;JBR: &lt;em&gt;If the R core genie could grant you a wish, what would you ask for?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Joe Cheng:&lt;/strong&gt; I&amp;rsquo;ve gotten this question multiple times over the years, and honestly I have a really hard time with it. The question is just so contrary to the way I usually think. I just accept the operating system and the language for what they are. I just have to work within their limitations and features. I think I&amp;rsquo;ve been using R for long enough that I&amp;rsquo;m quite comfortable with the sandbox that it makes available to us.&lt;/p&gt;

&lt;p&gt;But, if we had a time machine and could go back, the one change that I would make – well the most important change I would make – to R would be to have delayed evaluation be a feature that you opt into rather than being the default. As I said before, delayed evaluation for function arguments is really awesome and it makes things easy in R that are quite unnatural to do in other languages. But, I feel it&amp;rsquo;s a tool that you usually don&amp;rsquo;t want to use. When you want it, it&amp;rsquo;s awesome to have, but it would be nicer to have all function arguments evaluated except for those which have been annotated for lazy evaluation.&lt;/p&gt;

&lt;p&gt;Other than that, there are some obvious things that people are looking into, like having out-of-memory data frames, but really for the most part, I don&amp;rsquo;t have the laundry list of grievances that some people do. I tend to just focus on the system we have and what cool things that we can build on top of it.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;JBR: &lt;em&gt;How about new technology? What&amp;rsquo;s going on in the wider world that you think is really exciting? What new technology might make its way into RStudio products?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Joe Cheng:&lt;/strong&gt; For the last few years, I&amp;rsquo;ve definitely been very much focused on the web side of things, on web technologies. When I started Shiny, I thought the JavaScript world had reached a kind of inflection point where things were turning so quickly that they would start maturing and stabilizing. Now, looking back, it seems to have been hopelessly naïve to think that we were at some zenith of change. The pace of change has just accelerated in the JavaScript and front-end development world.&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;m actually really excited about all the tools that are available in JavaScript front-end development these days. I&amp;rsquo;m not talking about visualization libraries, I mean the underlying tools. Languages like &lt;a href=&#34;https://www.typescriptlang.org/&#34;&gt;TypeScript&lt;/a&gt; and &lt;a href=&#34;https://themeteorchef.com/blog/what-is-es2015/&#34;&gt;ES2015&lt;/a&gt; are making huge quality of life improvements over the kind of JavaScript we&amp;rsquo;ve been writing for many years. All the cool stuff coming out of Facebook with &lt;a href=&#34;https://facebook.github.io/react/&#34;&gt;React&lt;/a&gt;, unidirectional data flow (&lt;a href=&#34;http://redux.js.org/docs/basics/DataFlow.html&#34;&gt;UI&lt;/a&gt;) as a pure function of state, and that whole ecosystem is a huge step in the right direction. Personally, I think this work validates many of the ideas that Shiny was built on. It&amp;rsquo;s gratifying to see that those ideas that inspired me have taken hold and become the dominant paradigm in the JavaScript world.&lt;/p&gt;

&lt;p&gt;I guess that&amp;rsquo;s not the most exciting answer, but it&amp;rsquo;s just like holding on for dear life trying to follow what&amp;rsquo;s going on these days. Up until now, we have focused probably 95% of our Shiny efforts on people who don&amp;rsquo;t want to extend their web apps with custom JavaScripts. But, more and more I&amp;rsquo;m talking to people in the community who maybe started with this mentality, but have just so enjoyed the process of building web applications that they&amp;rsquo;ve taken the time to learn JavaScript and are now looking how to merge technologies like React with what they can already do in Shiny. Besides just having HTML widgets, I am thinking about how can we kind of leverage some of the cool stuff that&amp;rsquo;s happening in React. How can we in a deeper way integrate React and maybe some similar technologies with Shiny?&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;JBR: &lt;em&gt;One more question: what advice would you give to computer science grads who would like to become R developers? Any ideas on how they can shorten their learning curve or what should they do?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Joe Cheng:&lt;/strong&gt; I had a pretty hard time learning R, because at the time a lot of the books were geared towards statisticians who were learning their first programming languages, not programmers who were coming from another direction. At the time, I found the O&amp;rsquo;Reilly book &lt;a href=&#34;https://www.amazon.com/Nutshell-Desktop-Quick-Reference-OReilly/dp/144931208X/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1481843574&amp;amp;sr=1-1&amp;amp;keywords=r+in+a+nutshell&#34;&gt;R In A Nutshell&lt;/a&gt; really helpful, because it kind of just laid out the facts and didn&amp;rsquo;t talk that much about the statistics: just the facts about the language and the basic libraries. But, that was seven years ago or whatever, so I don&amp;rsquo;t know if that is the best book at this point, but it certainly was helpful for me. Definitely, the second R book that a CS grad should read through is Hadley Wickham&amp;rsquo;s &lt;a href=&#34;http://adv-r.had.co.nz/&#34;&gt;Advanced R&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I think the most important recommendation I would make is to go into R with a very open mind and instead of just drawing contrasts with whatever language you&amp;rsquo;re used to and dismissing R, approach it with a little bit of humility. Be open to the possibility that some things are different because statisticians with an extraordinary amount of domain knowledge made a decision that actually makes sense in the context of this domain.&lt;/p&gt;

&lt;p&gt;I have to tell you, whenever I step out of the Shiny bubble and work on packages that have a more direct kind of statistical application, like Leaflet or d3 Heatmap, it&amp;rsquo;s really humbling to offer up an API to data scientists and statisticians and then have them come back and say, &amp;ldquo;You&amp;rsquo;ve got it all wrong.&amp;rdquo; You think you know what some of these concepts are, but maybe you have no idea of how they actually work in practice and so your tool is useless. They don&amp;rsquo;t usually say it that bluntly, but it&amp;rsquo;s very real that this domain is so specialized. It&amp;rsquo;s not intuitive. If you approach R as if you&amp;rsquo;re dealing with any other ecosystem of programmers, then I think you&amp;rsquo;re going to kind of miss the forest for the trees.&lt;/p&gt;

&lt;p&gt;This is digressing a little bit, but have you ever heard of &lt;a href=&#34;https://en.wikipedia.org/wiki/Wikipedia:Chesterton%27s_fence&#34;&gt;Chesterton&amp;rsquo;s fence&lt;/a&gt;?&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;JBR: &lt;em&gt;No, I haven&amp;rsquo;t.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Joe Cheng:&lt;/strong&gt; Okay. There&amp;rsquo;s this parable, I guess. If you come across a fence that&amp;rsquo;s going across a road in the middle of nowhere, your first instinct might be to say, &amp;ldquo;I can&amp;rsquo;t see why this fence is useful. I&amp;rsquo;m going to take it down.&amp;rdquo; The point of this parable is that if you don&amp;rsquo;t understand what the fence was for, you&amp;rsquo;re the last person that should be taking it down. Only once you can say what use this thing has, then maybe you&amp;rsquo;re in a position to make a decision about whether it should change. I think a lot of R is like that. In order to really appreciate some of the decisions that were made, you can&amp;rsquo;t come to it with a lot of preconceived notions, especially if you yourself don&amp;rsquo;t have a background in doing a lot of interactive data manipulation and analysis.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;JBR: &lt;em&gt;Well, thank you, Joe. This was marvelous.&lt;/em&gt;&lt;/p&gt;

        &lt;script&gt;window.location.href=&#39;https://rviews.rstudio.com/2017/01/04/interview-with-joe-cheng/&#39;;&lt;/script&gt;
      </description>
    </item>
    
    <item>
      <title>Interview with J.J. Allaire</title>
      <link>https://rviews.rstudio.com/2016/10/12/interview-with-j-j-allaire/</link>
      <pubDate>Wed, 12 Oct 2016 00:00:00 +0000</pubDate>
      
      <guid>https://rviews.rstudio.com/2016/10/12/interview-with-j-j-allaire/</guid>
      <description>
        &lt;p&gt;Welcome to &amp;ldquo;R Views&amp;rdquo;, the new R Community blog from RStudio. For this first post, I sat down with J.J. Allaire, RStudio&amp;rsquo;s founder and CEO, to discuss RStudio&amp;rsquo;s history, its mission and JJ&amp;rsquo;s vision for its future. In a short time, we touched on a wide range of subjects including RStudio&amp;rsquo;s business, the growth of the R language, the importance of the R Consortium to the R Community and J.J.&amp;rsquo;s advice to anyone coming to R for the first time. We hope you enjoy this &amp;ldquo;snapshot&amp;rdquo; of RStudio&amp;rsquo;s place in the R world.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: How did you first become involved with R? What were you doing when R first came to your attention, and why R?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; As an undergraduate I studied economics and political science and as a result got very interested in quantitative research. As a student I worked with SAS, SPSS, and Excel. This was my first serious exposure to software and computing, which I also became quite fascinated with.As it turned out, my career ended up developing more around software than around quantitative analysis. Then, about eight years ago I was between jobs and looking for the next thing to work on. I was very much of the mindset that I wanted my work to be open source, because I wanted to create software that would be free and accessible to everyone as well as long lasting.&lt;/p&gt;

&lt;p&gt;That&amp;rsquo;s when I learned about R. It was really wonderful to hear that there was a robust and broadly used open source statistical computing environment. I thought that this might be a great place to apply my energy. Quantitative analysis was my original interest in school, and in the meantime, I had acquired considerable skill in writing software systems. I thought I could take some of that, apply it to R, and make a meaningful contribution.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: Was there any specific event that motivated you to start RStudio? When you did start, what kind of company did you envision then?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; RStudio really wasn&amp;rsquo;t started as a company. It began as an open source project that I just worked on by myself. Initially, I started working on the concept of a web based IDE for R. About nine months or so into the project I realized that it would be a really huge undertaking for me to try to build this IDE all by myself.&lt;/p&gt;

&lt;p&gt;So, I recruited Joe Cheng to work with me. Joe and I had worked together in a couple of previous companies. At the time I told him: &amp;ldquo;Joe, I make no representation or promise that this is going to be a company. It might just be an open source project, is that okay with you?&amp;rdquo; He said, &amp;ldquo;That&amp;rsquo;s fine&amp;rdquo;. It was really just the two of us working on an open source project at the beginning. Again, there was no notion that it would have to become a company. My feeling was that if there was a company that could evolve out of it that would be fine, but that was not required.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: Are you surprised about how RStudio turned out?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; I didn&amp;rsquo;t know how it was going to turn out. I definitely knew that open source software has the potential to be very widely used. I&amp;rsquo;m not surprised at all that R is a really big deal, but in no way did I presume or know whether there would be a company that you could build around R. I honestly would have been surprised by any outcome. I really didn&amp;rsquo;t know.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: What is your role at RStudio? Do you run the company? Are you responsible for product development? What gets you up in the morning?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; What I principally do is write software. That&amp;rsquo;s what I love to do. I&amp;rsquo;m the CEO of RStudio but I don&amp;rsquo;t really run the company per se. I collaborate with other people who are engaged in running the company. In particular I spend a lot of time with with Tareef Kawaf who is the President of RStudio and is primarily responsible for running it.&lt;/p&gt;

&lt;p&gt;I really spend the vast majority of my time, over eighty percent, writing software. I started off as the principal developer on RStudio IDE and then Joe and I worked on it together for a number of years. I continue to spend time on the IDE, but I&amp;rsquo;m also the principal developer on quite a few R packages including the R Markdown package. I&amp;rsquo;m the maintainer of a few other packages like htmlwidgets and the dygraphs package, and I have also contributed to several other packages like shiny and Rcpp and others.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: What does a typical work day look like for you?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; On a typical work day, I look at my email from overnight and see if there&amp;rsquo;s anything urgent. I may give feedback on some pull requests or take a look at a few bugs. I probably spend about an hour just taking stock of things that are in my inbox. Then I&amp;rsquo;ll work for five or six hours, writing code for various products and packages.&lt;/p&gt;

&lt;p&gt;After that, I may check in with RStudio&amp;rsquo;s Seattle office when those guys come online at midday, East Coast time. Then, maybe I&amp;rsquo;ll do some more coding until the end of the day. Various things come up, but I have very few meetings that I regularly attend. I try to keep things clear for working on product development.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: From the outside it looks like RStudio has committed a considerable amount of resource to developing open source packages and free products. Many people wonder how RStudio can even be a business. Can you talk a little bit about RStudio&amp;rsquo;s business plan, how does RStudio make money?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; Well, first of all, the mission of the company, is to create open source software for data analysis and statistical computing. So, if you see that we&amp;rsquo;re creating a lot of open source software that should never surprise you: that is our principal mission. At the same time, in order to fulfill our mission we need to bring together as many talented people as we can. For that to happen obviously we also need to develop and grow a business around R.&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;d say the commercial business has two major facets, the first is concerned with organizations that want to deploy R at scale; scale here meaning either computing scale or just adopting R within a larger organization. For these requirements, we have enhanced, commercial versions of some of our server products, for example RStudio Server Pro and Shiny Server Pro, that have features aimed at deploying R at scale. Our open source products can typically be adopted by many, many people without buying our professional products, and that&amp;rsquo;s how we want it to be. When customers get more serious about R, or they are deploying R in a larger environment, they tend to buy our professional products. So that&amp;rsquo;s the main way we make money, those professional server products.&lt;/p&gt;

&lt;p&gt;We also have a cloud business where we provide versions of our products over the web. For example, we have shinyapps.io for deploying Shiny applications. It&amp;rsquo;s not a big a part of our business yet, but we expect it to become more and more significant, and we also expect to have other cloud offerings in the future.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: What do RStudio&amp;rsquo;s long range goals look like?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; One core set of goals is centered around creating an elegant and productive environment for using R. Mostly here I&amp;rsquo;m talking about the RStudio IDE. A really nice environment for working with R not only needs to provide the tools to make users very productive, but it also needs to surface all of the richness that is inside R so that it&amp;rsquo;s conceptually clear to people what&amp;rsquo;s possible, and then makes it easy for them to do what they want to do.&lt;/p&gt;

&lt;p&gt;Other goals are centered on creating APIs for R that are really intuitive and work well together. That&amp;rsquo;s the tidyverse, if you will, the family of packages that Hadley and others have developed like ggplot2, dplyr, tidyr, lubridate, stringr and so on.&lt;/p&gt;

&lt;p&gt;We have also focused quite a bit on helping people communicate what they do in R. Here, I&amp;rsquo;m talking about R Markdown which is all about creating documents and web content from R, and Shiny which is about creating interactive applications with R.&lt;/p&gt;

&lt;p&gt;In the future, we want to continue to excel along those three axes and make all of our open-source products and packages even better. We also continue to learn more about the needs of companies who are deploying R at scale, whether it be trying to achieve high performance, ensuring robust security, or integrating seamlessly with other enterprise software systems. As we continue to learn we will continue to develop products along this axis as well. Right now, we&amp;rsquo;ve solved some of the problems, but there are a whole lot more to address, and I don&amp;rsquo;t think we&amp;rsquo;re nearly done on any of these fronts. Building up our professional server product line is a big focus as is building hosted products to let people access and use R in the cloud.&lt;/p&gt;

&lt;p&gt;Also, we want to do a better job of educating people about what we already have. So we are trying to create a well-thought-through curriculum that people can access through different mediums including books, videos, websites and interactive self-paced tutorials. You&amp;rsquo;ll see lots more investment in education from us in the future.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: So far, from what you&amp;rsquo;ve said, RStudio projects all seem to be related to producing tools to help others develop R software and do analytics work, but what would a complete R based tool chain look like?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; That&amp;rsquo;s interesting. I think what we have been talking about, the things that we&amp;rsquo;ve traditionally focused on like helping to deploy R at scale are horizontal tools. They are very, very helpful, but there&amp;rsquo;s actually another layer of tools that we haven&amp;rsquo;t talked about. In any given domain of application, you want to have a suite of tools that are specific to that domain. These are also extremely important, but we are more of a facilitator of those tools than a creators, since we&amp;rsquo;re not domain experts.&lt;/p&gt;

&lt;p&gt;Over time, I think that the whole R community is engaged in a really big collective project to build out all the tools required to let people analyze data in the different domains. Some of the work that we are doing is very much focused on enabling this. For example, Hadley tries both to build tools, and to teach people how to build their own great tools for R. As a result, people have built some wonderful packages to make it easier to do specialized types of analyses. The work I&amp;rsquo;ve done on Rcpp is all about letting people access the highest performance capabilities within their domain whether that&amp;rsquo;s reading data really fast, or analyzing it quickly, or optimizing certain algorithms. Also, many of the tools that we&amp;rsquo;ve developed in data visualization are about providing an extensible platform to let people do custom static and interactive visualizations for different domains. So what does a complete tool chain look like? I think part of it is made up of the tools that we build, and the rest of it is made up of the tools other people build on top of our stuff.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: Does sparklyr represent a new direction for RStudio, or is this just part of the tool chain you described?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; I don&amp;rsquo;t think it&amp;rsquo;s a new direction. In his keynote address at the 2014 UseR! conference in UCLA, John Chambers spoke about how the original concept for R was to create an interface language. One of the motivators was that people wanted to use the robust and high performance FORTRAN libraries for doing statistical analysis that already existed, but they wanted to use them in a flexible and interactive way. So the idea was to create a language that was really good at providing interfaces to other computing systems. In the beginning, it was interfacing to an existing body of FORTRAN code, but over time that has been extended to run just about everything. R is a very good interface language.&lt;/p&gt;

&lt;p&gt;John gave several examples during his talk. One was Rcpp which I&amp;rsquo;ve already talked about. The other was H2O, which is a distributed computing system for doing machine learning. H2O is written in Java, not R, but the developers have provided it with a very nice R interface. I think that&amp;rsquo;s how we view just about everything that might be relevant to statisticians or data analysts. If it&amp;rsquo;s not already in R you can use R to create a fluent and expressive interface for it.&lt;/p&gt;

&lt;p&gt;That&amp;rsquo;s how we view sparklyr.  Spark provides a set of big data capabilities that people want to take advantage of, and we&amp;rsquo;re creating a rich interface in R so the tools and techniques, the working environment and the ability to communicate, things like R Markdown and Shiny, just automatically come with you when you go to work with Spark. John mentioned H2O, but R&amp;rsquo;s been doing things with distributed processing for a long time, so I think we&amp;rsquo;re just fulfilling the vision and mission of R against the latest and greatest distributing computing platforms.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: What do you think about R and big data in general? Do you think what RStudio is doing is going to help overcome the perceived limitations of R?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; Again, you should understand R as a user interface, or a language that&amp;rsquo;s capable of providing very good user interfaces. Developers don&amp;rsquo;t implement core algorithms or core distributed computing primitives in R. They use R as a way of interacting with those things.Once people understand this, and they see how good R is, how they can use dplyr to interact with a Spark cluster, I think the light bulb will go off and they&amp;rsquo;ll say: &amp;ldquo;Okay, I understand where R fits now. It&amp;rsquo;s the world&amp;rsquo;s best interactive environment for data analysis and now I can use it directly against Spark&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: RStudio is a founding platinum member of the R consortium, seems from the outside really looks like a really big commitment for a small company.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; Yes&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: Why is the R Consortium important? What are your hopes for its future, and what do you think the R Consortium can accomplish?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; What&amp;rsquo;s really interesting about the R consortium is that it represents all of R&amp;rsquo;s stakeholders. There are the original stakeholders, the R Foundation and R Core, the creators of R. There&amp;rsquo;s a whole community of package developers and users, and then there&amp;rsquo;s the vendors who are in various ways making a business around R. The R Consortium is an alliance of all these people that says &amp;ldquo;Hey, we all have a stake in this being as good as it can be. We all have a stake in the long term integrity of the system, so let&amp;rsquo;s get together in one venue that will allow us to have a dialog about things and fund projects that can help the R Community&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;The R Consortium is a really profound and important group. It has the potential to be the nexus point for everyone in the R Community. That&amp;rsquo;s why we&amp;rsquo;re so enthusiastic about the R Consortium and why we&amp;rsquo;ve got folks within RStudio spending considerable time on it. If it works well, the R Consortium is going to provide a lot of ballast for R, provide a great forum for communicating about R, and help establish trust in R. We want to support it as much as we can.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: In addition to supporting the R community it looks like RStudio packages are geared toward reproducible research and improving scientific research in general. Do you have specific goals or aspirations with respect to science itself?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt;  There is a broader movement in science around reproducible research that we can contribute to. Reproducible research is all about the integrity of the work you do. It&amp;rsquo;s all about the fact that people rely on scientific software to make very important decisions and to gain a clear understanding about how the world works. The integrity and the trustworthiness of the process by which that software yields its results is critical.&lt;/p&gt;

&lt;p&gt;Our goal is to make sure that the tools for working reproducibly within the R ecosystem are excellent. In the past, people may have felt that working reproducibly was going to require more work, more effort, and thought &amp;ldquo;I don&amp;rsquo;t have time to do that&amp;rdquo;. We&amp;rsquo;re trying to make it so that reproducible work actually takes less effort. It&amp;rsquo;s sort of that pit of success idea where we provide a great tool chain for creating compelling documents which has the very pleasant side effect that everything that people do is reproducible.&lt;/p&gt;

&lt;p&gt;Also, reproducibility is one of the reasons we focus on teaching people how to write and work with code to do data analysis. We don&amp;rsquo;t have visual abstractions for doing data analysis because those types of techniques are not reproducible, not easy to inspect, not easy to share, and not easy to automate. We really focus on code. It&amp;rsquo;s a core principle that, no matter what, we&amp;rsquo;d rather make code easier to work with than try to eliminate it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: Do you have any advice for people coming to R for the first time, either as students or as experienced statisticians and researchers?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; I would suggest that they get a copy of the R for Data Science book written by Hadley Wickham and Garrett Grolemund. The book explains the tidyverse and fundamental principles for working with data in R. There are a lot of great tools for working in R but not everybody who comes to R encounters them right away. We&amp;rsquo;re trying to change that. I would also recommend that newcomers to R take a careful look at all the tools and packages that we have developed at RStudio.&lt;/p&gt;

&lt;p&gt;Also, when you have questions or run into problems don&amp;rsquo;t give up. There&amp;rsquo;s a lot of great activity around R on stackoverflow and other places and there&amp;rsquo;s an excellent chance you&amp;rsquo;re going to find the answers to your questions if you look carefully for them.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: Do you have any thoughts on what statisticians and data scientists ought to know about computer science in general?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; That&amp;rsquo;s an interesting question. A lot of the popular philosophy about R revolves aroundBo Cowgill&amp;rsquo;s famous quote: &amp;ldquo;The best thing about&lt;a href=&#34;http://mran.revolutionanalytics.com/documents/what-is-r/&#34;&gt;R&lt;/a&gt;is that it was written by statisticians. The worst thing about R is that it was written by statisticians.&amp;ldquo;The fact is, however, that the folks who made R knew quite a bit about computing and computer science. Their goal was, and continues to be, to provide an expressive language that lets you accomplish what you want to accomplish with a minimal requirement for mastering computer science. R is trying to provide an interface and a vocabulary that allows non-computer science people to still do sophisticated things with data.&lt;/p&gt;

&lt;p&gt;I think there will always be sets of problems that you can&amp;rsquo;t solve with a high level vocabulary. So, becoming more educated about general programming principles, doing some lower level computations or lower level text analysis or parsing and those sorts of things is useful. But, the whole point of R is to not force everyone to become a computer scientist.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: Last question: where do you think R and RStudio will be in ten years?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;J.J.:&lt;/strong&gt; Currently, R is quite prominent in the universities. It&amp;rsquo;s taught to undergraduates and researchers and, more and more it&amp;rsquo;s becoming part of the core curriculum. However, in the world of practitioners, there&amp;rsquo;s still an awful lot people using proprietary software that in many cases is less capable, less flexible, less powerful than R.&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;m hopeful that over the next ten years we&amp;rsquo;ll start to see the kind of predominance R now has in universities really take hold in the world of practicing statisticians. I&amp;rsquo;m hopeful that will happen, and I&amp;rsquo;m hopeful that RStudio can be a big part of making the transition to R a positive experience. We want to continue to make R easier to learn and easier to use so that when organizations decide that they&amp;rsquo;re going to commit to R for the long term and replace their proprietary statistics software, they&amp;rsquo;ll come to an environment that is really refined, really powerful, really easy to learn, and that they can actually deploy R at scale and be successful with it. I hope that RStudio can facilitate all those things in the next ten years.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;JBR: Thank you J.J.!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

        &lt;script&gt;window.location.href=&#39;https://rviews.rstudio.com/2016/10/12/interview-with-j-j-allaire/&#39;;&lt;/script&gt;
      </description>
    </item>
    
  </channel>
</rss>
