R training day mk2 – @SQLSatMcr

Back in April, for SQL Saturday Exeter I ran my first ever full day of training. Next month sees me taking my second tilt at it.

To sign up for my R training day, July 24th, in Manchester you can go to the pre-con homepage.

If I may say so myself, it’s a steal at £82.50 but then they all are! For instance, Andrew Fryer’s training day covers the Machine Learning use of R via Azure, so if you’re already wrangling numbers like a pro in R, understanding how you can apply it to snazzy webservices is a great way to go.
Continue reading R training day mk2 – @SQLSatMcr

Custom LaTeX Beamer style templates for rmarkdown

I’ve been producing presentations via R using rmarkdown and outputting to either ioslides or slidify. That was excellent, because I could provide a CSS that customised the look and feel (relatively) easily*.

However, when I wanted to produce a PDF version, I couldn’t make ones that look as good as the pure LaTeX versions I could make on overleaf.com. So I started RTFMing when I wanted to replicate the look and feel from my presentation, The LaTeX Show.

I didn’t want to spend a huge amount of time on it, so this little story of hack and slash may feel a bit dirty to you!

Continue reading Custom LaTeX Beamer style templates for rmarkdown

Auto-deploying documentation: multiple R vignettes

Following on from my post about the principles behind using travis-ci to commit to a gh-pages I wanted to follow-up with how I tackled my “intermediate” use case.

Multiple vignettes

In my original post I show how I pushed the tfsR vignette to gh-pages, which involved copying it and renaming it to index.html.

Unfortunately, this wouldn’t work if I had multiple vignettes that I wanted to be accessible online.


My (first) #SQLHangout

Yesterday I had the pleasure of hanging out “on air” with Boris Hristov.

We talked open sourcing!

You can download and/or contribute to the following projects I have going:

  • MeDriAnchor: the Metadata Driven Anchor model system. You get to have a lot of fun with 6NF!
  • optiRum: a useful package for R, especially for the UK
  • tfsR: for my own special brand of crazy, working with TFS git repositories in R

James Skipwith (the other major developer on MeDriAnchor) presented on automation and covers MeDriAnchor – you can check it out at SQLBits.com

If you’d like to discuss the vagaries of open sourcing a piece of work, you can use the comments below, my Contact page, or tweet me!

optiRum – presentation

optiRum, the R package I built and support for Optimum on CRAN has gained some extra functions recently. Some of it uses currently experimental data.table functionality so I’m eagerly awaiting the release to CRAN to deliver optiRum.

In the interim, I thought I’d give some brief overviews of existing functionality contained in the package.

The next part of the coverage of optiRum functionality is to talk about the stuff that makes generating outputs easier!
Continue reading optiRum – presentation

Automated documentation hosting on github via Travis-CI

In this post, I’m going to cover how you can use continuous integration and source control to build and host documentation (or any other static HTML) for free, and in a way that updates every time your code changes. I’ll cover the generic capability, and then how I apply this to my simplest package, tfsR. In a later post (once I’ve cracked the best method to do it) I’ll cover my more complex use case of multiple documents and a dynamically constructed index page.

NB: This is kicked off from a post from Robert Flight about applying to the technique to R package vignettes. It’s a very useful post but it was quite specific to his situation and I wanted to understand the principles behind it before I started extending it to my more complex cases.


  • Must haves:
    • Travis-CI
    • GitHub
  • Optional:
    • A linux machine (so you can test your bash script that Travis-CI will run)
    • R (for following the specific instructions)

High-level process

How many is too many conferences?

The SQL Server community has a lot of events. In the UK alone this year we will have/had in 2015:

  • more than 75 user group meetings
  • 5 SQL Saturdays
  • 8 days of Relay
  • 1 SQL in the City
  • 3 to 5 days of SQLBits
  • possibly a SQL Santa
  • and probably more that I’ve forgotten or not know about at the time of writing this

You could attend 2 days of conference per month (cpm from now on) on average in the UK alone, just at dedicated SQL events. That doesn’t even take into account all the awesome conferences running in the EU, and further afield. I think if you were a true #SQLConfJunky with unlimited budget, you’d be able to get your cpm up to at least 8.

I’m hovering around 1.5 cpm at present but looks set to increase. This feels quite high and whilst they’re a lot of fun I thought I’d better figure out the danger signs of over-conferencing!

On twitter & facebook I started collecting some danger signs:

  • You start expecting everyone to understand what your day-job is
  • Your wardrobe consists entirely of jeans and conference t-shirts
  • You see your SQL buddies from Holland more than you see your spouse
  • Every pad of paper, pen, and toy in sight is tech or hotel branded
  • You ask people to fill out feedback forms after every conversation
  • You try to download slides for a TV program
  • You feel naked without a lanyard
  • Lightning talks are how you teach your kids
  • You haven’t used a kettle in years
  • You get annoyed when you visit a place and they don’t give you a bag full of freebies
  • You think of danish pastries as a major food group

Do you have other amusing danger signs to add, or a story about when you over-conferenced? Please share it!

SQL Saturday Exeter: Steph & Oz’s slides

Well SQL Saturday Exeter flew by. T’was great catching up with people, seeing folks learn how to use (old & new) tools better, and just generally watching everyone having a great time at one of the best organised conferences I have the pleasure of going to.

Here are links to all the slide decks etc that we presented this weekend:

If you attended any of our sessions, give us some constructive criticism!

Easy Continuous Integration for R

With excellent guidance and tooling on making R packages, it’s becoming really easy to make a package to hold your R functionality. This has a host of benefits, not least source control (via GitHub) and unit testing (via the testthat package). Once you have a package and unit tests, a great way of making sure that as you change things you don’t break them is to perform Continuous integration.

What this means is that every time you make a change, your package is built and thoroughly checked for any issues. If issues are found the “build’s broke” and you have to fix it ASAP.

The easiest, cheapest, and fastest way of setting up continuous integration for R stuff is to use Travis-CI, which is free if you use GitHub as a remote server for your code.
NB – it doesn’t have to be your only remote server

Continue reading Easy Continuous Integration for R