Andrew Collier

Andrew Collier

Data, Code & the Modern Web

Actions

Andrew has spent much of his career figuring out how to make computers do useful things. He started out in Physics and Statistics but these days spends most of his time working with Python, web scraping, browsers and AI. He writes and speaks about practical problems, experiments and the occasional technical rabbit hole.

Area of Expertise

  • Business & Management
  • Finance & Banking
  • Information & Communications Technology
  • Physical & Life Sciences

Topics

  • R
  • Python
  • Spark
  • Docker
  • Linux
  • Data Science

Desert Island Docker: R Edition

What 3 Docker images would you choose if you were shipwrecked on a desert island? Choosing the right images will determine whether you are rescued or end up in a cannibals' cooking pot (R images will make you unpalatable).

Docker is an essential tool for survival as an R developer, regardless of whether you are stranded or not. In this talk I'll describe three R Docker images that I consider essential for survival on a desert island. I'll demonstrate how to set up and build a custom image. And finally I'll demonstrate how using a Docker image can simplify CI/CD and deployment.

- What is Docker?
- Food & Shelter: Base Image
- SOS Signal: Shiny Image
- Building a Raft: Custom Image (which includes RJava and uses renv)
- Applications
- CI/CD
- Deployment

Deploying a Plumber API with Docker

Plumber makes it possible to easily transform your R functions into an API. Developing and testing the API locally is simple, but deploying it can be more of a challenge. Docker provides just what you need to ensure that the API is launched in a well defined, stable and isolated environment. These are some of the handiest tools to have in your toolbox!

This short talk will show how to:

- whip up a quick API by merely decorating your existing R code with comments, then
- write a simple Dockerfile to provide a runtime environment and finally
- deploy the API in the cloud.

All of this in the timeframe of a lightning talk. Booya!

Building Effective Docker Images: R Edition

*Abstract*

Docker is a cornerstone of modern software development and deployment, ensuring reproducibility, scalability, and seamless environment management across different platforms. This tutorial will examine the art and science of crafting efficient and optimised Docker images specifically tailored for R applications.

*Description*

Docker has revolutionised how we develop, deploy, and run applications by offering a lightweight, portable solution for application containerisation. For the R community, Docker presents an vital tool for addressing common challenges such as "it works on my machine", dependency management, and consistent environments across development and production systems. However, creating effective Docker images that are optimised for R applications requires a nuanced understanding of both Docker and R ecosystems. This tutorial aims to bridge that gap, providing attendees with the knowledge to build Docker images that are not only functional but also optimised for performance, size, and security.

Bots Just Wanna Browse

You wanted some web data. Your HTTP request returned an empty JavaScript shell. You added a browser. Now you’re managing processes, preserving logins, handling timeouts and wondering where all your memory went. And the site still thinks you’re a bot.

AI agents run into the same obstacles, with the added liability of burning through tool calls and tokens along the way.

This talk follows my attempt to put that complexity behind a small, self-hosted browser API. Send a URL, add any wait or click actions, and get back rendered HTML, cookies and headers. Named sessions preserve browser state across requests; structured errors tell the caller when things go wrong.

I’ll demonstrate a scraper using the service, then connect an agent to it through MCP. Along the way, we’ll examine the awkward parts: browser capacity, session management and anti-bot challenges.

You’ll see how the pieces fit together and have a clearer basis for deciding whether to build, buy or stick with plain HTTP.

useR! Sessionize Event

July 2024 Salzburg, Austria

Andrew Collier

Data, Code & the Modern Web

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top