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

Unified.Diff: source control smells & LaTeX

I had the pleasure of presenting at unified.diff, a general programming user group in Cardiff, last night and was able to debut my LaTeX show!

If you’d like to talk at the group about anything tech related tweet them on @unifiedDiff. They’re very flexible on time and topic so if you’re based in Cardiff or are coming down to see a client, it’s an easy way of delivering a talk and meeting some nice people.

Source control smells

This was an interesting talk by Gavin Davies (@GavD_UK).

I’ve been struggling with some of these recently so it was good to hear that I’m neither alone nor totally screwed up in how I’ve been using git this past year.

One of the things that came out of the talk, was that there’s no easy over-arching repo management tool that helps fix these. There are articles out there on how to do them but it’s inevitably a complex task – so if you’re looking for an open source project, consider the idea delivered!

The repo smells were:

  1. Feature Envy – checking out entire repo for one small module
  2. Too many eggs in one basket – bundled tools but non-related change cycles
  3. Permissions minefield – different permissions within a repo
  4. IP dispersal – many repos but heavily related
  5. High correlation in changes – related change cycles

Get more info on

The LaTeX show

My presentation on LaTeX can be consumed in a number of formats:

  1. Download the slides: Dropbox
  2. Clone the repo:
  3. Read the code: Overleaf

optiRum – gini like a wizard

optiRum, the R package I built and maintain 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.

I do a lot of regression models and one of the common tools for assessing a regression’s ability to accurately model an event is to produce a Gini chart and a Gini coefficient. The higher the Gini coefficient, the more your model is able to discriminate probability accurately.

I simplify the process of producing gini charts (giniChart) and coefficients (giniCoef) so that I get a chart in one simple step.

Under the hood this uses the AUC package to get the coefficient, scales to format it and ggplot2 to produce the chart. Using ggplot leads to a better looking chart that can also be tweaked to suit your needs since a ggplot object is returned by the function.

Continue reading optiRum – gini like a wizard

Stuff I read this week

Organised speaking – improving font sizes

A recurring problem with my presentations is font size.

  • The inclusion of code in my Rmarkdown slides was by default too small. Upping the fontsize via CSS worked ok, but when I switched to a shiny app version for my intro to shiny, it reverted and I’m afraid to say I didn’t notice beforehand.
  • I use PuTTY for showing how to do some stuff in the linux command line but the font’s quite small by default and Gail Shaw’s tip of Magnifier in my session was tough to use
  • I’ve upped my font size on my Rstudio IDE, but hadn’t yet implemented this across other IDEs
  • I tend to use my mouse cursor to draw attention to things. A whirring small white cursor isn’t exactly noticeable.

So, I’m taking steps to correct and make my presentations easier for my audience. You may already know some or all of these and if there’s better way, do suggest it!

  • Visual Studio: Using the PresentOn (by typing PresentOn into the Search bar) functionality from the Productivity Power Tools extension, to make all the fonts bigger in Visual Studio
  • PuTTY: Using this tips & tricks page I realised there are font options so now size 20 font is the default for presenting! w00t
  • Slides: Gathering all the code block CSS options from shiny, ioslides, and slidy and adding as a single CSS I can drop into any of these presentations
  • Cursor wiggling: I’ve upgraded my clicking finger to a presenting clicker and bought the Logitech R800 based on people’s recommendations. This has a snazzy green laser which I can use.

It’s worth noting as well, that I also completely forgot I had ZoomIt installed but it should be very helpful, especially with the advice in this ZoomIt or lose it post.

An R data.table cookbook

For my precon on R at the end of the month I’m working on the takeaway — the handout. This’ll be thing that makes the training day able to be put into practice immediately, and refills all those drink and sleep depleted neurons back up with R knowledge.

One of the things is a simple data.table cookbook. If you’re a data.table user, what other tasks do you think should be on there? You can comment here, on the code, or even make suggestions and submitting them with a pull request

Stuff I read this (bit more than a) week

It’s been a wee while due to SQLBits disruptions and a crazy work schedule but here’s some of what I’ve been reading recently: