For many of us, adulthood comes with new sources of responsibilities. As a kid, it didn’t take much coordination to stay on top of a handful of classes or social groups that had expectations of me. But as an adult, I quickly discovered that new responsibilities seemingly emerge daily – each with different levels of urgency. There are things that I have to do today: pick up the kids, finish up the…
Plumber is a package which allows you to create web APIs from your R code. If you're new to Plumber, you can find out more at www.rplumber.io . We're excited to announce the v0.4.4 release of Plumber! This release adds a handful of oft-requested features and cleans up a few issues that came out of the major refactor that took place in the 0.4.2 release. We've also continued to expand the official…
Plumber is a package which allows you to create web APIs from your R code. If you're new to Plumber, you can take a look at www.rplumber.io to learn more about how to use the package to create your APIs. Over the years, we've noticed a handful of things that we wished we'd done differently in the development of Plumber. In particular, there were some decisions that prioritized convenience over…
There are a lot of stereotypes in the programming community. "Swift is used by a bunch of bearded hipsters." "C++ is for old people." "No one likes coding in Java." Well it turns out that some of these might be true. Approach GitHub is likely the most popular open-source hosting platform in use today. GitHub has many open-source repositories for code written in wide variety of languages. They also…
I’m excited to announce a new R package: plumber , a package that enables you to convert your existing R code into web APIs by merely adding a couple of special comments. EDIT: This package was originally named “rapier” and has since been renamed to “plumber”. Take a look at an example: # myfile.R #' @get /mean normalMean <- function(samples=10){ data <- rnorm(samples) mean(data) } #' @post /sum…
Todo.txt++ is a hosted version of an open-source application built around the todo.txt protocol. Todo.txt++ has been online for a few months now, and has had many visitors. At the moment, we have 390 todo.txt lists in our cache. We can perform some basic analysis on these todo.txt lists to see how people are using their todo.txt lists. This information can provide insight into which features are…
We’re thrilled to announce the availability of shinyStore, an R package that enables HTML5 Web Storage from Shiny, an interactive web application framework for R. A live demo of an example application is available here . Set a text value then refresh the page, or close the tab and come back in a new tab. You’ll find that any tab in that browser will always remember the last text value you’d saved.…
We’re happy to announce the release of our latest R package, shinyTree . shinyTree is an integration of the jsTree library with the Shiny interactive web framework for R, which makes it simple for R developers to create web applications without knowing anything about HTML or JavaScript. You can view a live demo of one application here . shinyTree offers Shiny developers a way to create interactive…
The Ace code editor is an elegant, full-featured, browser-based code editor used in such products as RStudio’s IDE . We’re announcing a new R package called shinyAce (now available on CRAN ) which integrates the Ace editor into the Shiny web framework. For those who may be unfamiliar, Shiny is an R package which makes it trivial to create interactive web applications in R — even without knowing…
The rgl package has been used to produce rich, interactive 3D graphics within R using the OpenGL framework for some time. The rgl authors also added the ability to export to WebGL, allowing R authors to produce interactive 3D graphics that were accessible from within any modern web browser. This functionality can now be leveraged within the Shiny framework using the new shinyRGL package — allowing…
I’m sharing the slides from the talk I’ll be giving at the Dallas R Users Group on creating R packages (and other techniques for reproducing R). I’ll introduce R scripts, reproducible R documents, and R packages. We’ll use the knitr, devtools, and roxygen2 packages in the examples. Download the slides here . If you’re unable to make the talk, feel free to watch a video recording of the steps…
I’ll be presenting at the Dallas R Users Group next Saturday at 10:00AM at the University of Dallas on how to reproduce your R code. We’ll review how to use R scripts, how to embed R code in reproducible documents, and then introduce how to create your own R packages based on your R code. At the end of the afternoon, you’ll be familiar with the entire process of creating an R package to be shared…
It’s often beneficial to have a variable shared between all the functions in an R package. One obvious example would be the maintenance of a package-wide cache for all of your functions. I’ve encountered this situation multiple times and always forget at least one important step in the process, so I thought I’d document it here for myself and anyone else who might encounter this issue. I setup a…
If you’ve encountered errors such as Warning in rgl.init(initValue) : RGL: unable to open X11 display Warning in fun(libname, pkgname) : error in rgl_init or Error: rgl_dev_getcurrent when trying to use a graphically based package like RGL with Shiny Server, then you’re in the right spot. The issue is likely that you’re running R or Shiny Server on a server which has no monitor attached to it (a…
GitHub recently launched a more powerful search feature which has been used on more than one occasion to identify sensitive files that may be hosted in a public GitHub repository . When used innocently, there are all sorts of fun things you can find with this search feature. Inspired by Aldo Cortesi's post documenting his exploration of public shell history files posted to GitHub, I was curious if…
Below you can download the slides presented on February 9, 2013 at the Dallas R Users Group on RStudio’s Shiny framework which allows you to create interactive web applications in R. No knowledge of HTML or JavaScript is required! I introduce the alternatives and history of R programming on the web, the reactive programming model, and get into some sample applications. Adobe PDF Slides PowerPoint…
Just a heads-up for any R users in the Dallas/Fort Worth Metroplex: I’ll be presenting at the Dallas R Users Group this Saturday, 2/9/2013 at 10:00AM at the University of Dallas (1845 East Northgate Drive, Irving, TX). I’ll be talking about how to use RStudio’s new Shiny framework to create R-powered web applications. For the uninitiated, Shiny makes it trivial to create web applications in R…
I was contacted by Ajay from DecisionStats for an interview about my work in R. I share some details about my background in R and the future of Trestle. Read the interview here !
You can view the application online at http://trestletech.com:3838/rgl/ ! _(Bear with us as we try out the very early release of Shiny Server. There may be some downtime and manual restarts of the service required in the next couple of weeks. Please drop us a line if it’s not working as you expected.) _ This is an adaptation of some previous analysis exploring the progression of color palettes…
Check out the application! http://trestletech.com:3838/grn/ We’ve been experimenting with RStudio’s new Shiny software as a way to quickly and easily create interactive, responsive web applications which are able to leverage complicated analytics back-ends built in the R programming language. We created a simple interface which can infer the structure of an underlying Gene Regulatory information…
I had a few hurdles to get through when trying to install the “rgl” R package in Ubuntu. In summary, here was my solution: From the terminal: sudo apt-get install r-cran-dev xorg-dev libglu1-mesa-dev Then from R: install.packages("rgl") Detailed Log Thanks to Dirk Eddelbuettel for the following tip. He points out that, rather than all the guess-and-check below, he points out: If you want to…
This is a quick follow-up to my previous post about Color Palettes in RGB Space . Achim Zeileis had commented that, perhaps, it would be more informative to evaluate the color palettes in HCL (polar LUV) space, as that spectrum more accurately describes how humans perceive color. Perhaps more clear trends would emerge in HCL space, or color palettes would more closely hug their principal…
Introduction I've recently been interested in how to communicate information using color. I don't know much about the field of Color Theory , but it's an interesting topic to me. The selection of color palettes, in particular, has been a topic I've been faced with lately. I downloaded 18 different sequential color palettes from Cynthia Brewer's ColorBrewer2 website to use as suggested color…
Matt Chandler vs. Mark Driscoll I came across an interesting API from Viral Heat which is capable of “Sentiment Analysis.” This analysis is designed to capture the sentiment of a statement by ranking it on a scale from -1 to 1. For instance, a chipper sentence like “The smell of roses makes me giddy!” is rated a solid 0.82 (a very positive score), while a downer such as “She was distraught by the…
We just launched MatchBox, one of our initial internal projects for public consumption. MatchBox is a project that aims to understand patterns and rhythms in your typing habits. This release is a Firefox Add-On that keeps starts learning your habits for you to use later. Once we’ve collected some data, we’ll be able to do some interesting analysis such as adding a layer of security to your browser…
Attention to our web development customers: We’re now offering our own web hosting services! By integrating web hosting into our offerings, we can now offer you a single point of contact for all of your website needs. No more need to keep up with your logins and payments with some other web hosting company. Most importantly, no more need to worry while making changes on those stressful…
Trestle Technology, LLC was formed in May of 2010. Product-specific developments will be announced as they occur. Subscribe to this site to ensure you always have the latest news on Trestle.