Cloud computing with R and AWS

Why? You want to run R code on the cloud. For whatever reason, you don’t want to use google nor azure. Credit I took most of the code from this gist The code This function takes a list with your instances, the path to your private key, and returns a cluster object that can be used with the future package. I was told that this function will be part of a new package soon.

Embarrassingly Parallel Computing with doAzureParallel

Why? You want to run 100 regressions, they each take one hour, and the only difference is the data set they are using. This is an embarrassingly parallel problem. For whatever reason, you want to use Azure instead of google compute engine… Before you start I will assume that: you have an Azure account, you have correctly installed, and configured doAzureParallel Create some fake data library(dplyr) library(stringr) set.

Embarrassingly Parallel Computing with googleComputeEngineR

Why? You want to run 100 regressions, they each take one hour, and the only difference is the data set they are using. This is an embarrassingly parallel problem. Before you start I will assume that: you have a Google compute engine account, you have correctly installed, and configured googleComputeEngineR Create some fake data library(googleComputeEngineR) library(dplyr) library(stringr) library(future) library(future.apply) set.seed(12618) n<-10000 fakeData <- list() for(ii in 1:100){ fakeData[[ii]] <- future({ fakeDF <- data.

My highlights from StanCon 2018

Source: THE JUMPING RIVERS BLOG During my econ PhD I learned a lot about frequentist statistics. Alas, my training of Bayesian statistics was limited. Three years ago, I joined @MathPolResearch and started delving into this whole new world. Two weeks ago, thanks to @jumping_uk, I was able to attend StanCon. This was an amazing experience, which allowed me to meet some great people and learn a lot from them. These are my highlights from the conference:
Send emails from R with mailgun

Send emails from R with mailgun

Why? Until now I’ve been sending emails with R using my Gmail account. This works, but configuring mailR for the first time is always a pain. A few days ago @marked told me about mailgun and how to use it. The great thing is that you only need httr to use it. How? Using @marked as my base, I created a tiny R package to make using mailgun even easier:
Watson Conversation + R

Watson Conversation + R

I just discovered IBM’s Watson conversation, and this free online course shows you how to build your first chatbot. Alas, the course did not cover how to use the API with R. I think chatbots can be very useful when creating shiny apps. Therefore, I started working on IMWatson. The goal of this R package is to make integrating a chatbot into a shiny app as easy as possible. To install it:

Installing mailR

In order to get mailR I had to create a symlink with: #ln -s /usr/lib/jvm/java-1.7.0-openjdk-amd64/jre/lib/amd64/server/libjvm.so /usr/lib/R/lib/libjvm.so ln -s /usr/lib/jvm/java-9-openjdk-amd64/lib/amd64/server/libjvm.so /usr/lib To make life easier, I created a wrapper around it using secret to store my password. To send an email notification, I just have to run: IMSecrets::email_me()

RStudio server with synology and docker

SSH into my synology and run: sudo su docker run -d -p 8787:8787 -e USER=<username> -e PASSWORD=<password> andrewheiss/tidyverse-rstanarm nano /usr/syno/share/nginx/Portal.mustache add the following to the Location section: proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 86400; run: sudo synoservicecfg --restart nginx
YOURLS API with R

YOURLS API with R

Goal: Create multiple, and trackable, short URLs that point to the same place Tools: YOURLS, R Steps: Installing YOURLS is very easy, particularly if you do it with docker. A container for the database: docker run --name yourlsmysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql A container for YOURLS: docker run --name yourls -d \ -e YOURL_USER='admin' \ -e YOURL_PASSWORD='mysecretpassword' \ -e YOURLS_SITE='http://sh.tld' \ --link yourlsmysql:mysql bios/docker-yourls To use the web-interface, you need to go to your site.
Wake-up with smartthings and webcore

Wake-up with smartthings and webcore

Goal: configure my house to wake me up gently. Tools: smartthings, zwave dimmer, led strip, chromecast audio, bash Steps: Created a virtual switch on my smartthings. The house will wake me up only if the switch is on. Create a webcore piston. This piston runs at 7:30: This piston does the following: Starts the gentle wake up switch Use text to speech on my chromecast Play some random music from my Synology Play a podcast I downloaded earlier in the morning using my Synology This is the bash script that cron runs every morning: