datawookie
Blog
CV
Categories
All
(612)
AI
(1)
Alembic
(1)
anti-bot
(1)
AsciiDoc
(5)
Association Rules
(2)
AWS
(33)
Azure
(1)
BASH
(4)
Bayesian
(2)
book review
(6)
browser
(5)
ChromeDriver
(4)
CI
(6)
Citrix
(1)
Cloudflare
(1)
Collaborative Filtering
(1)
conference
(4)
Conference
(9)
cookies
(3)
CSS
(5)
Data Science
(1)
data: medical
(3)
devtools
(1)
Django
(2)
Docker
(54)
email
(4)
encryption
(2)
Ethereum
(3)
Excel
(3)
Firefox
(5)
framebuffer
(1)
gambling
(3)
GARCH
(9)
GPG
(2)
GPU
(1)
GraphQL
(3)
HTML
(3)
Hugo
(1)
JavaScript
(1)
jq
(1)
JSON
(2)
Julia
(42)
Jupyter
(3)
kayak
(2)
Keras
(2)
lint
(2)
Linux
(32)
LLM
(6)
logging
(1)
Machine Learning
(6)
Markdown
(7)
Marshmallow
(1)
Minecraft
(4)
MongoDB
(2)
MySQL
(8)
Neo4j
(4)
NGINX
(7)
noVNC
(4)
Ollama
(3)
optimisation
(7)
options
(1)
OSRM
(5)
PDF
(1)
Playwright
(6)
plugin
(1)
Plumber
(1)
PostgreSQL
(3)
pre-commit
(3)
proxy
(12)
pytest
(3)
quant
(11)
Quarto
(1)
RDS
(1)
regularisation
(2)
requests
(2)
RSS
(2)
running
(28)
S3
(2)
satRday
(1)
Scrapy
(2)
Selenium
(20)
SEO
(4)
Shiny
(12)
sitemap
(2)
Spark
(6)
spatial
(6)
speaking
(7)
sports betting
(1)
SQLAlchemy
(3)
SSH
(6)
Tailwind
(2)
teaching
(2)
TED Talk
(4)
testing
(8)
Tor
(3)
trading
(9)
Traefik
(2)
TypeScript
(2)
Ubuntu
(11)
Unicode
(1)
Vercel
(5)
VPN
(1)
web scraping
(60)
Websockify
(3)
WordPress
(1)
Zyte
(3)
Tags
Camoufox
(2)
Chrome
(2)
Docker
(1)
EC2
(3)
ECR
(2)
ECS
(7)
Gatsby
(31)
Git
(8)
GitHub
(5)
GitLab
(13)
Homebrew
(1)
Hugging Face
(1)
Python
(42)
R
(256)
SQL
(6)
Ubuntu
(1)
{alpacar}
(3)
{binance}
(6)
{blimey}
(3)
{blogdown}
(3)
{clockify}
(1)
{emayili}
(25)
{filebin}
(1)
{foreach}
(1)
{geosphere}
(1)
{ggmap}
(1)
{ggplot2}
(2)
{ggridges}
(1)
{hagr}
(2)
{IBrokers}
(1)
{mobility}
(1)
{pagedown}
(2)
{party}
(1)
{pdftools}
(1)
{saffer}
(5)
{tomtom}
(2)
{trundler}
(4)
Blog
A pragmatic mix of code, automation, data and infrastructure, with equal respect for running shoes, good food and getting outdoors.
Local LLM with Hugging Face Models
Serve models locally on CPU and GPU with llama.cpp and vLLM
LLM
AI
Hugging Face
2026/07/23
Installing Homebrew on Ubuntu
Linux
Ubuntu
Homebrew
2026/07/01
Massive Browser API
proxy
web scraping
2026/06/17
Static and Dynamic Websites
Where does the HTML come from?
web scraping
2026/06/01
Byteful Residential Proxies
proxy
web scraping
2026/05/22
Ollama Cloud
Local Workflow, Remote Model
Ollama
LLM
2026/05/10
Geonode Proxies
proxy
web scraping
Python
2026/05/09
Quick and Dirty Ollama on EC2
AWS
Ollama
LLM
2026/05/06
Atlas of the Ollama Universe
Ollama
LLM
2026/05/02
Massive ASN Targeting
proxy
web scraping
2026/04/27
Massive Geotargeting
proxy
web scraping
2026/04/25
Massive Proxies
proxy
web scraping
Python
2026/04/18
What’s New in Firefox 149?
Firefox
browser
web scraping
2026/03/25
What’s New in Chrome 144?
browser
web scraping
Chrome
2026/01/31
What’s New in Firefox 147?
Firefox
browser
web scraping
2026/01/24
What’s New in Firefox 146?
Firefox
browser
web scraping
2025/12/10
What’s New in Chrome 143?
browser
web scraping
Chrome
2025/12/05
Camoufox without a Context Manager
Playwright
Camoufox
2025/12/02
Installing Tor Browser on Ubuntu
Tor
Ubuntu
2025/12/01
What’s New in Firefox 145?
Firefox
web scraping
2025/11/22
Evaluating a New Job Market Data Feed
R
Python
2025/11/10
Downloading from SharePoint
web scraping
2025/10/25
Accelerating BeautifulSoup Encoding Detection
web scraping
Python
2025/10/18
Cycles in Lynx Numbers
R
2025/10/16
What’s happening on the Framebuffer?
2025/07/13
Camoufox in Docker
Docker
Camoufox
2025/06/11
Playwright Browser Footprint
Playwright
web scraping
2025/06/06
Hasler Statistics
kayak
R
2025/05/05
Get Cookies from Chrome or Firefox
Selenium
Playwright
cookies
web scraping
2025/05/03
Headless Browser Hacks
Selenium
Playwright
web scraping
framebuffer
anti-bot
2025/05/02
Webshare Proxies
proxy
web scraping
2025/04/03
Test a Playwright Web Scraper
web scraping
testing
Playwright
2025/04/02
Test a Selenium Web Scraper
web scraping
testing
Selenium
2025/03/31
Iterating over a Paginated List of Links
web scraping
2025/02/25
Handling HTML Entities and Unicode
web scraping
HTML
Unicode
2025/02/08
Scraping JSON-LD Data
web scraping
2025/02/07
Test a Web Scraper using Patching
web scraping
testing
pytest
2025/01/30
Test a Web Scraper using Mocking
web scraping
testing
pytest
2025/01/29
Test a Web Scraper using VCR
web scraping
testing
2025/01/28
Test a Web Scraper using Responses
web scraping
testing
2025/01/27
Web Scraper Testing
web scraping
testing
2025/01/26
Zyte API Sessions
web scraping
Zyte
2025/01/25
Zyte API Cookie Management
web scraping
cookies
Zyte
2025/01/22
Web Scraping with the Zyte API
web scraping
Zyte
2025/01/14
Installing CPLEX
optimisation
2024/12/11
Installing MOSEK
optimisation
2024/12/11
Optimisation with Pyomo
optimisation
Python
2024/12/10
Optimisation with CVXPY
optimisation
Python
2024/12/09
Optimisation with SciPy
optimisation
Python
2024/12/08
Global versus Sequential Optimisation
optimisation
2024/12/07
Optimisation Reference Problem
optimisation
2024/12/06
Scraping and Not Modified Responses
web scraping
Python
2024/12/03
NetNut Proxies
proxy
2024/11/12
What is a Proxy?
proxy
2024/11/11
Migrating from GitLab Pages to Vercel
Vercel
{blogdown}
GitLab
2024/11/10
Scraping the NYSE Composite Index
web scraping
trading
R
2024/10/25
Asset Price Data
{alpacar}
R
2024/10/24
Listing Alpaca Assets
{alpacar}
R
2024/10/21
Alpaca API Authentication
trading
{alpacar}
R
2024/10/13
Earnings Calendar
BASH
web scraping
requests
trading
Python
2024/10/12
Caching & Avoiding Duplication
web scraping
requests
Python
2024/10/10
Downloading Files with Selenium
web scraping
Selenium
Python
2024/10/05
Economic Calendar
web scraping
Playwright
trading
Python
R
2024/10/02
Your Life in Weeks
{ggplot2}
R
2024/08/13
Bypassing Cloudflare with Cloudscraper
web scraping
Cloudflare
Python
2024/07/20
Unpacking cURL Commands
R
Python
2024/07/10
Updates to the Big Book of R
Quarto
R
2024/06/26
{emayili} Creating Email Threads
{emayili}
R
2024/06/22
Release: openai-python 1.33.0
LLM
Python
2024/06/08
Installing Docker
Docker
Linux
Ubuntu
2024/06/05
Locations from Google Map
web scraping
Python
2024/05/26
Desert Island Docker: R Edition
Docker
speaking
R
2024/05/23
Desert Island Docker: Python Edition
Docker
speaking
Python
2024/05/14
Extract Chapter Headings from PDF
PDF
BASH
2024/04/29
{emayili} Support for Mailtrap
{emayili}
R
2024/04/23
Backtesting
quant
GARCH
R
2024/04/21
Docker-in-Docker with GitHub Actions
Docker
GitHub
2024/04/21
Asset Allocation
quant
GARCH
R
2024/04/19
Logging like a Lumberjack
logging
Python
2024/04/18
Parameter Constraints & Significance
quant
GARCH
R
2024/04/16
Risk/Reward Tradeoff
quant
GARCH
R
2024/04/15
Docker Image from Scratch
Docker
2024/04/14
Model Validation
quant
GARCH
R
2024/04/14
Parameter Significance & Parsimonious Models
quant
GARCH
R
2024/04/13
Leverage Effect
quant
GARCH
R
2024/04/12
Skewed Returns
quant
GARCH
R
2024/04/11
What is a GARCH Model?
quant
GARCH
R
2024/04/10
Rolling Volatility & Returns
quant
R
2024/04/09
Loading Financial Time Series
quant
R
2024/04/08
PyInstaller, boto3 and configparser
Python
2024/04/03
Python Packages from GitHub
Python
GitHub
Git
2024/03/10
Read by Frank Collier
2024/03/08
Host & Port: Where is it?
Traefik
2024/03/02
What is Traefik?
Traefik
NGINX
2024/03/01
Standalone Next.js Application in Docker
Docker
2024/02/23
Testing CSS & Xpath
web scraping
CSS
2024/02/08
Parsing the DOM
Gatsby
2024/02/07
Gatsby Content from RSS
RSS
Gatsby
2024/02/06
Gatsby Content from MDX
TypeScript
Gatsby
2024/02/02
Dynamic User Pages
Gatsby
2024/02/01
Python Security Audit
pre-commit
Git
Python
2024/01/23
ChromeDriver in GitLab CI Pipeline
Selenium
ChromeDriver
CI
GitLab
2024/01/22
Gatsby Content from Medium
Gatsby
2024/01/20
Gatsby, Tailwind & Docker
Docker
Tailwind
Gatsby
2024/01/19
Next.js, Tailwind & Docker
Docker
Tailwind
2024/01/18
Web Scraping with Class Name Mangling
web scraping
2024/01/16
.NET and MySQL in Docker
MySQL
Docker
2024/01/15
WordPress Headless CMS
Gatsby
2024/01/06
Humble Head
Gatsby
2024/01/05
Minecraft Plugin: Discord for Voice & Text Chat
plugin
Ubuntu
Minecraft
2023/12/31
Minecraft Paper Server
Ubuntu
Minecraft
2023/12/30
Weekly Digest & Annual Review
Keras
SSH
Julia
Firefox
2023/12/29
Chrome & ChromeDriver in Docker
Docker
ChromeDriver
Selenium
2023/12/19
SSH Dynamic Port Forwarding with a SOCKS5 Proxy
SSH
Linux
2023/12/19
Weekly Digest
2023/12/15
SSH Tunnel: Remote Port Forwarding
SSH
Linux
2023/12/13
Middleware Redirects on Vercel
Vercel
Gatsby
2023/12/12
Minecraft Client on Ubuntu
Ubuntu
Minecraft
2023/12/11
Minecraft Server on Ubuntu
Ubuntu
Minecraft
2023/12/10
Weekly Digest
LLM
Docker
Selenium
2023/12/08
Static Redirects on Vercel
Vercel
Gatsby
2023/12/05
SSH Tunnel: Local Port Forwarding
SSH
Linux
2023/12/05
Git: Accept All Incoming Changes in a Merge
Git
2023/12/01
Weekly Digest
Spark
Keras
Vercel
R
2023/12/01
Weekly Digest
R
2023/11/24
Externalise CSS
CSS
Gatsby
2023/11/20
Weekly Digest
Docker
2023/11/17
Gatsby on Vercel
Vercel
Gatsby
2023/11/15
Dynamic Routing
Gatsby
2023/11/13
Weekly Digest
2023/11/10
Custom 404 Page
Gatsby
2023/11/09
Gatsby on Netlify
Gatsby
2023/11/08
Cookies & Headers from Selenium
web scraping
Selenium
cookies
Python
2023/11/07
Adding robots.txt to a Gatsby Site
SEO
Gatsby
2023/11/06
Weekly Digest
AWS
Docker
Spark
2023/11/03
Update Sitemap for Canonical Pages
SEO
sitemap
Gatsby
2023/11/02
Add Canonical Links with Gatsby
SEO
Gatsby
2023/11/01
Gatsby Site Versions
Gatsby
2023/10/31
Conditional Content in AsciiDoc
AsciiDoc
Gatsby
2023/10/30
Add Nodes & Fields to GraphQL Schema
AsciiDoc
GraphQL
Gatsby
2023/10/27
Weekly Digest
AWS
Docker
CSS
2023/10/27
Gatsby Page Ordering
AsciiDoc
GraphQL
Gatsby
2023/10/25
Adding Custom Attributes to Pages in a Gatsby Site
AsciiDoc
GraphQL
Gatsby
2023/10/24
Gatsby Redirects
Gatsby
2023/10/23
Adding a Sitemap with Gatsby
SEO
sitemap
Gatsby
2023/10/22
Gatsby Content from AsciiDoc
AsciiDoc
Gatsby
2023/10/14
Convert Gatsby from JavaScript to TypeScript
TypeScript
Gatsby
2023/10/11
Gatsby Starter Project
JavaScript
Gatsby
2023/10/07
Why Do Sports Odds Change?
sports betting
2023/09/30
Undetected ChromeDriver with noVNC
Docker
Selenium
ChromeDriver
web scraping
noVNC
2023/09/24
Gatsby running out of heap space
CI
Gatsby
GitHub
2023/09/08
Transparency in Coverage: JSON Data
JSON
data: medical
2023/08/27
Unravelling Transparency in Coverage Data
data: medical
jq
JSON
R
2023/08/26
What is Transparency in Coverage Data?
data: medical
2023/08/25
Mocking S3 from Python tests
testing
pytest
S3
Python
2023/08/04
Controlling what Alembic Autogenerates
Alembic
2023/07/22
List of Medical Conditions
web scraping
2023/06/24
Flattening Nested Schemas
Marshmallow
SQLAlchemy
2023/06/11
Hosting a GitLab Runner with Docker: Update
GitLab
2023/05/30
GitLab Runner: Creating a Token
GitLab
2023/05/30
Pushing to Docker Hub from GitHub Actions
Docker
GitHub
2023/05/28
Pushing to Docker Hub from GitLab CI
Docker
GitLab
2023/05/28
Kayak Specifications
kayak
2023/05/25
Column Order: Inheritance & Declarative Base
SQLAlchemy
2023/05/18
South Africa Real Effective Exchange Rate
2023/05/17
Using mailmap to Tidy Git Contributors
Git
2023/05/01
Installing Gatsby
Ubuntu
Gatsby
2023/04/06
Developing a Gatsby Site with Docker
Docker
Gatsby
2023/04/04
Configuring Bash History on Linux
Linux
BASH
2023/04/01
Chrome DevTools Protocol & Selenium
web scraping
Selenium
devtools
2023/03/11
Content and Message IDs
email
2022/12/18
{emayili} Support for ZeptoMail
{emayili}
R
2022/11/27
AWS Workspace Client on Ubuntu 22.10
AWS
Ubuntu
2022/11/02
Stay Below the Radar
Docker
Selenium
ChromeDriver
web scraping
2022/10/26
{pagedown} Page Size & Margins
{pagedown}
R
2022/10/22
Scaling Density Plots
{ggplot2}
{ggridges}
R
2022/10/08
Handling Empty Paragraphs from R Markdown
Markdown
HTML
CSS
R
2022/09/29
Vertically Align an Image and Text in a div
HTML
CSS
2022/09/24
Enforcing Style in an R Project
lint
pre-commit
Git
R
2022/09/20
Enforcing Style in a Python Project
lint
pre-commit
Git
Python
2022/09/19
Squares & Spirals
R
2022/09/18
Calculating the Fire Danger Index (FDI)
R
2022/09/08
Using Shiny Server in Docker
Shiny
Docker
R
2022/09/07
Postboxes & Postal Codes
{blimey}
R
2022/08/13
Schools in England
{blimey}
R
2022/08/11
Linux Packages for R
Linux
R
2022/08/09
Historical Weather Data
R
Python
2022/08/07
Persisting Data with Pickle & S3
S3
Python
2022/07/28
Great Britain Railway Network
spatial
{blimey}
R
2022/07/16
Interactive Brokers API: Connecting from MATLAB
trading
2022/05/10
Interactive Brokers Client Portal API Gateway
trading
2022/05/09
Interactive Brokers: Gateway Automation
trading
{IBrokers}
2022/04/21
Interactive Brokers: Gateway Install & Setup
trading
2022/04/20
{emayili} Encrypted Email with Mailfence
GPG
{emayili}
R
2022/04/04
Mailfence Setup
encryption
email
2022/04/03
Pre-Registered GitLab Runner in a Container
Docker
GitLab
2022/03/23
Schedule a PostgreSQL Materialised View Refresh
PostgreSQL
AWS
RDS
SQL
2022/03/22
Firing Up Firestore
Python
2022/03/20
Making Sense of Drug Prices
2022/03/09
{emayili} Updated Gmail Authentication
{emayili}
R
2022/03/08
Creating Git Commits in CI
CI
Git
GitLab
GitHub
2022/03/04
Adding Timestamp Columns
PostgreSQL
SQL
2022/02/23
Pushing Docker Images to AWS ECR
Docker
GitLab
ECR
2022/02/18
How to Harvest RSS Feeds
RSS
web scraping
2022/01/31
A Recipe for Upgrading R
R
2022/01/25
{emayili} Message Templates
{emayili}
R
2022/01/21
{emayili} Sending Email from Shiny
Shiny
{emayili}
R
2022/01/20
{emayili} HTML Messages with Images
{emayili}
R
2022/01/12
Building GPXSee
spatial
2022/01/05
Translating QCT (Quick Chart) Map Files
spatial
Python
Docker
2021/12/30
{emayili} Sending Encrypted Email
{emayili}
R
2021/12/07
{emayili} Understanding Encrypted Email
email
encryption
GPG
{emayili}
2021/11/26
{filebin} Quick & Easy File Sharing
{filebin}
R
2021/11/18
{binance} P2P Trades
{binance}
R
2021/11/10
Shared Memory in Docker with the shm-size Flag
Selenium
Linux
Docker
2021/11/09
{binance} Spot Trading: Liquidity
{binance}
R
2021/11/08
Accessing Virtual Memory from a Docker Container
Docker
2021/11/06
{binance} Spot Trading: Limit Orders
{binance}
R
2021/11/05
{binance} Spot Trading: Market Orders
{binance}
R
2021/11/01
{binance} Dealing with Dust
{binance}
R
2021/10/27
{binance} Tracking Total Account Balance
{binance}
R
2021/10/26
HCRIS Field Labels
{pdftools}
R
2021/10/19
{emayili} Message Threads
{emayili}
R
2021/10/18
{emayili} Support for Gmail, SendGrid & Mailgun
{emayili}
R
2021/10/15
Fathoming Email Headers
email
2021/10/11
{emayili} Message Precedence
{emayili}
R
2021/10/06
{emayili} Message Integrity
{emayili}
R
2021/10/05
Working with Fairly Wide Data
SQL
R
2021/10/04
Medusa: A Multi-Headed Tor Proxy
web scraping
proxy
Tor
2021/10/01
{emayili} Right-to-Left
Markdown
{emayili}
R
2021/09/24
{emayili} Styling Figures
Markdown
{emayili}
R
2021/09/23
{emayili} Managing CSS
Markdown
{emayili}
R
2021/09/22
{emayili} R Markdown Parameters
Markdown
{emayili}
R
2021/09/20
{emayili} Rendering R Markdown
Markdown
{emayili}
R
2021/09/17
{emayili} Rendering Plain Markdown
Markdown
{emayili}
R
2021/09/10
{clockify} Time Tracking from R
{clockify}
R
2021/09/09
Tinyproxy Configuration: Set Up a Tiny HTTP Proxy
AWS
proxy
2021/09/08
Pre-Commit Hook for Processing README.Rmd
R
Git
2021/09/05
{emayili} Interpolating Message Content
{emayili}
R
2021/09/03
Websockify with Token Target Selection
NGINX
noVNC
Websockify
2021/08/22
{emayili} Rudimentary Email Address Validation
{emayili}
R
2021/08/21
Old ’Hood, New ’Hood
spatial
{geosphere}
{ggmap}
R
2021/08/11
Websockify & noVNC: Adding SSL
NGINX
noVNC
Websockify
2021/08/08
Websockify & noVNC behind an NGINX Proxy
NGINX
noVNC
Websockify
2021/08/07
Creating an AMI using the AWS CLI
AWS
2021/07/31
TomTom Traffic
{tomtom}
R
2021/07/27
TomTom Routing
spatial
{tomtom}
R
2021/07/26
Fixing Truncated Logs on Gitlab CI/CD
CI
GitLab
2021/07/24
Mobility & Unrest in South Africa
{saffer}
{mobility}
R
2021/07/24
SSH Tunnel from Docker
SSH
Docker
2021/06/25
Shiny on ECS
Shiny
ECS
R
2021/06/24
Adding Swap Space on Ubuntu
Linux
2021/06/10
Scrapy with a Rotating Tor Proxy
proxy
Tor
Scrapy
Docker
Python
2021/06/09
RAM & CPU Requirements for a Selenium Crawler
AWS
Selenium
web scraping
ECS
2021/06/04
Shiny Inception: JavaScript in Rendered Markdown
Shiny
R
2021/06/03
Building an Airflow Environment in Docker
Docker
Ubuntu
2021/05/31
Desktop in Docker
Docker
Ubuntu
2021/05/30
Using {pagedown} in Docker
Docker
{pagedown}
R
2021/05/28
AWS EC2: Setting up a Load Balancer
AWS
EC2
2021/05/09
AWS EC2: Creating a Target Group
AWS
EC2
2021/05/08
AWS Containers #8: Setting up a Service
AWS
ECS
2021/05/06
AWS EC2: Security Groups
AWS
EC2
2021/05/02
AWS Containers #4: Dependencies
AWS
ECS
2021/04/28
AWS Containers #5: Health Checks
AWS
ECS
2021/04/28
AWS Containers #3: Image on ECR
Docker
AWS
ECR
2021/04/27
AWS Containers #2: Defining an ECS Task
Docker
AWS
ECS
2021/04/26
AWS Containers #1: Creating an ECS Cluster
AWS
ECS
2021/04/25
Selenium Crawler #3: Docker Compose
Selenium
Docker
Python
2021/04/19
Selenium Crawler #2: Docker Bridge Network
Selenium
Docker
Python
2021/04/18
Selenium Crawler #1: Docker Host Network
Selenium
Docker
Python
2021/04/17
{hagr} Linnaean Classification
{hagr}
R
2021/04/16
{hagr} Database of Animal Ageing and Longevity
{hagr}
R
2021/04/12
The Easter Bunny is Cashing In
{trundler}
R
2021/04/03
Making the Most of Mobility
R
2021/04/02
An Environment for Reliably Rendering Figures in R
Docker
R
2021/03/23
Flexible Environment Variables for a Docker Image
Docker
CI
GitLab
2021/03/22
Install GitLab Runner with Docker
Docker
CI
GitLab
2021/03/21
{emayili} UTF-8 Filenames & Setting Sender
{emayili}
R
2021/03/08
Resurrecting MySQL into PostgreSQL with PGLoader
MySQL
PostgreSQL
Docker
2021/03/02
{blogdown}: Optimise PNG Image Size
{blogdown}
R
2021/02/21
{emayili} Sending Birthday Messages
{emayili}
R
2021/02/18
Setting up postref Shortcode for Remote Blog
Hugo
{blogdown}
R
2021/02/10
Launching Selenium with JavaScript Disabled
Selenium
web scraping
Python
2021/02/03
Levies, Tax and the Fuel Price in South Africa
{saffer}
R
2021/02/01
This is not Rain: It’s a Trickle
Selenium
web scraping
R
2021/01/30
Persistent Selenium Sessions
Selenium
Python
2021/01/28
Cyril’s Speeches
{saffer}
R
2021/01/14
Topographic Maps for South Africa
spatial
Docker
{saffer}
R
2021/01/12
Price of Fuel in South Africa
{saffer}
R
2021/01/10
SQLAlchemy: Efficient Counting
SQLAlchemy
SQL
2021/01/09
Retail Pricing: Latex Gloves
{trundler}
R
2021/01/06
Running History: Garmin Connect
running
R
2021/01/05
Retail Pricing: Nitrile Gloves
{trundler}
R
2021/01/04
Running History: Strava
running
R
2021/01/02
GitLab CI: Services
GitLab
2020/12/30
Rendering an R Markdown Presentation to GitLab Pages
R
GitLab
2020/09/23
Scrapy Ban Policies with Rotating Proxies
Scrapy
2020/09/17
Uploading CSV to MySQL
MySQL
2020/09/01
Configuring a Development Database
Docker
2020/08/30
Resizing a Volume on an EC2 Linux Instance
AWS
2020/08/04
Shiny App in Docker with HTTP Authentication
Docker
Shiny
NGINX
R
2020/06/29
Retail Data: R Package
{trundler}
R
2020/03/15
Retail Data: Scraping & API
web scraping
Python
2020/03/15
R Package for
@racently
running
R
2019/12/06
Durban EDGE DataQuest
R
2019/11/13
An API for
@racently
running
R
2019/11/12
Scraping Machinery Parts
web scraping
R
2019/11/11
Installing Prophet on CentOS
Linux
R
2019/11/04
Private Security and the Pareto Principle
Data Science
R
2019/10/16
Tweaking Linux for Pernickety Projectors
Linux
speaking
2019/10/12
MySQL Backups
MySQL
2019/09/17
R, Docker and Checkpoint: A Route to Reproducibility
Docker
R
2019/08/28
All Roads Lead to Rome
OSRM
R
2019/07/28
Using Shared Memory with OSRM
OSRM
Linux
2019/07/26
Recreating ‘Unknown Pleasures’ graphic
R
2019/07/15
Comrades Marathon (2019) Splits
running
R
2019/07/01
Medal Breakdown at Comrades Marathon (2019)
running
R
2019/06/30
Comrades Marathon (2019) Start Delay
running
R
2019/06/15
A Shiny Comrades Marathon Pacing App
Shiny
running
R
2019/06/04
{emayili} Sending Email from R
{emayili}
R
2019/05/27
Setting up an R Admin Group
R
2019/04/11
Sliding Puzzle Solvable?
Python
2019/04/10
Integrating Qlik Sense and R
Docker
R
2019/03/26
satRday (Paris) 2019
conference
2019/02/25
Docker Images for R: r-base versus r-apt
Docker
R
2019/01/21
RServe: Getting Started
R
2019/01/21
JSON Payload for POST Request
R
2019/01/10
Where does .Renviron live on Citrix?
R
2019/01/08
Survey Raking: An Illustration
R
2018/12/26
Citrix Receiver on Ubuntu
Linux
Citrix
2018/12/14
Scraping the Turkey Accordion
web scraping
R
2018/12/12
RStudio & Shiny Servers with NGINX & SSL
Shiny
R
2018/11/14
Installing RStudio & Shiny Servers
Shiny
R
2018/11/13
Accessing Open Data from AWS
AWS
2018/11/04
Embedding Dependencies into a HTML File
speaking
2018/10/31
DNS on Ubuntu
Ubuntu
2018/10/25
@pyconza
(2018): Data Science and Bayes with Python
conference
Python
2018/10/15
Docker Images for Spark
Docker
Spark
2018/09/28
MySQL Server Replication using Binary Logs
MySQL
2018/09/17
DIY VPN with Docker
Docker
VPN
2018/09/11
Refining an AWS IAM Policy for Flintrock
Spark
AWS
2018/09/08
Diagnosing RStudio Startup Issues
R
2018/09/07
Chairing a Conference Session
speaking
conference
2018/08/09
Setup for using Stan with Julia
Julia
2018/07/25
Updating R on Ubuntu
R
2018/07/09
eRum (2018) Top Twenty
conference
R
2018/05/18
Travelling Salesman with ggmap
R
2018/05/10
Classification: Get the Balance Right
R
2018/04/21
Workshop: Web Scraping with R
2018/04/12
Tips for Lightning Talks
speaking
R
2018/04/06
Restoring a Django Backup
Django
2018/02/23
Installing DataGrip on Ubuntu
Linux
SQL
2018/02/16
SQL Server from Ubuntu
Linux
SQL
2018/02/05
Linux VM on Azure
Azure
Linux
2018/02/05
Installing rJava
Linux
Docker
R
2018/02/05
Ethereum: DIY Tools for Smart Contracts
Ethereum
2018/01/19
Ethereum: Running a Node
Ethereum
2018/01/19
NTP: Synchronise Your Watches
2018/01/11
An Ethereum Package for R
Ethereum
2018/01/07
Moving a Running Process to screen
Linux
2017/12/30
Creating an Amazon Machine Image
AWS
2017/12/04
Using Large Maps with OSRM
OSRM
2017/11/27
EC2 Missing Disk Space
AWS
2017/11/23
Variable Names: Camel Case to Underscore Delimited
R
2017/11/20
Analysis of Feedback from satRday [Cape Town] 2017
satRday
Conference
R
2017/11/15
Durban Twitter Analysis
R
2017/11/10
Running OSRM with Docker
Docker
OSRM
2017/10/07
Installing NVIDIA Graphics Driver on Ubuntu
Linux
GPU
2017/10/07
Exporting HTML Presentations to PDF
speaking
2017/10/05
Quick WordPress Install with Docker
WordPress
MySQL
NGINX
Docker
Linux
2017/09/22
Diagnosing Killed Jobs on EC2
Linux
AWS
2017/09/21
Removing Redundant Hostnames with NGINX
NGINX
2017/09/15
Creating a S3 Bucket
AWS
2017/09/14
Installing Docker on Ubuntu
Docker
Linux
2017/09/14
Hosting a Plumber API on AWS
AWS
Plumber
R
2017/09/14
Creating an AWS Spot Instance
AWS
2017/09/13
Building a Local OSRM Instance
OSRM
R
2017/09/11
Global Variables in R Packages
R
2017/09/07
Driving AWS from the Command Line
AWS
2017/08/31
Route Asymmetry in Google Maps
R
2017/08/23
Retrieve Kaggle Data from the Command Line
AWS
2017/08/21
Setting Up Time Zones in BASH
BASH
2017/08/20
Setting Up Time Zones in MySQL
MySQL
Django
2017/08/20
Adding a Volume to an Ubuntu EC2 Instance
AWS
2017/08/10
Remote Desktop on an Ubuntu EC2 Instance
AWS
2017/08/08
A Timeline History of R
R
2017/08/05
Adding Users to an EC2 Ubuntu Instance
AWS
Linux
SSH
2017/07/24
Docker: Persisting User Data
Docker
2017/07/20
Deploying Jupyter on AWS using Docker
Jupyter
Docker
AWS
2017/07/18
RStudio Environment on DigitalOcean with Docker
Docker
R
2017/07/11
Installing Hadoop on Ubuntu
Linux
2017/07/04
Installing Spark on Ubuntu
Linux
Spark
2017/07/04
Accessing PySpark from a Jupyter Notebook
Jupyter
Spark
2017/07/04
Increasing MySQL Packet Maximum Size
MySQL
2017/07/01
Setting up ExpressVPN on Ubuntu
Linux
2017/06/23
Setting up Jupyter with Python 3 on Ubuntu
Jupyter
Linux
2017/06/23
Deploying a Minimal Plumber API on DigitalOcean
R
2017/06/21
RSelenium and Java Heap Space
web scraping
Selenium
R
2017/06/09
Clustering Time Series Data
Machine Learning
2017/04/25
Bulgaria Web Summit
Conference
2017/04/16
Bayesian Marathon Predictions
running
Bayesian
R
2017/02/28
Amazon is Getting Inside my Head
2017/02/26
Google Quick, Draw!
2016/11/17
Simple School Maths Problem
2016/11/15
satRday Cape Town: Call for Submissions
Conference
R
2016/10/26
fast-neural-style: Real-Time Style Transfer
Machine Learning
2016/10/07
Fitting a Statistical Distribution to Sampled Data
R
2016/10/05
Python: First Steps with MongoDB
MongoDB
Python
2016/09/28
Chrome Developer Tools: Throttling Connection
web scraping
2016/09/20
Chrome Developer Tools: View POST Data
web scraping
2016/09/19
Deleting All Nodes and Relationships
Neo4j
2016/09/15
Remote Access to Neo4j on Windows
Neo4j
2016/09/13
Installing Neo4j on Ubuntu
Neo4j
Linux
2016/09/06
PLOS Subject Keywords: Association Rules
Association Rules
R
2016/09/01
ubeR: A Package for the Uber API
R
2016/08/31
PLOS Subject Keywords: Gathering Data
Association Rules
Collaborative Filtering
R
2016/08/24
Sportsbook Betting (Part 3): Evolving Odds
gambling
R
2016/08/23
Garmin ANT on Ubuntu
Linux
2016/08/22
Anthony Goldbloom: The jobs we’ll lose to machines
Machine Learning
TED Talk
2016/08/22
Sportsbook Betting (Part 2): Bookmakers’ Odds
gambling
R
2016/08/10
Animated Mortality
R
2016/08/09
feedeR: Reading RSS and Atom Feeds from R
R
2016/08/08
Web Scraping and “invalid multibyte string”
web scraping
R
2016/08/02
Sportsbook Betting (Part 1): Odds
gambling
R
2016/08/01
Arthur Benjamin: Teach statistics before calculus!
TED Talk
teaching
2016/07/29
Building a Life Table
R
2016/07/28
Calculating Pi using Buffon’s Needle
R
2016/07/26
Conrad Wolfram: Teaching kids real math with computers
TED Talk
teaching
2016/07/25
Mortality by Year and Age
R
2016/07/22
Life Expectancy by Country
R
2016/07/20
Mortality Rate by Age
R
2016/07/19
Escalating Life Expectancy
R
2016/07/18
Birth Month by Gender
R
2016/07/16
Most Probable Birth Month
R
2016/07/15
Streaming from zip to bz2
Linux
2016/07/08
Major League Baseball Birth Months
R
2016/07/05
satRday in Cape Town
R
2016/05/26
R Saturday [satRday] in Cape Town
R
2016/05/12
The Next Rembrandt
Machine Learning
2016/04/06
International Open Data Day
R
2016/03/05
R, HDF5 Data and Lightning
R
2016/02/23
Ira Glass on the Creative Process
2016/02/12
Automating R scripts under Windows
R
2016/02/11
flipsideR: Support for ASX Option Chain Data
R
2016/02/08
Kaggle: Santa’s Stolen Sleigh
R
2016/01/22
Lawyers and Politics
2016/01/20
Casting a Wide (and Sparse) Matrix in R
R
2016/01/19
Kaggle: Walmart Trip Type Classification
R
2016/01/15
MongoDB: Installing on Windows 7
MongoDB
2016/01/13
Mastering Python Scientific Computing
book review
Python
2016/01/11
Review: Learning Shiny
Shiny
R
2016/01/05
Using Checksum to Guess Message Length: Not a Good Idea!
R
2015/12/22
Making Sense of Logarithmic Loss
R
2015/12/14
Installing XGBoost on Ubuntu
R
Python
2015/12/09
2015 Data Science Salary Survey
R
2015/12/04
Evolution of First Names: Unisex Names and Nicknames
2015/11/23
Evolution of First Names: Fashionable and Popular Names
2015/11/16
Graph from Sparse Adjacency Matrix
R
2015/11/12
First Names Evolution: Changes over Last Century
2015/11/09
LIBOR and Bond Yields
R
2015/11/06
Guy Kawasaki on Personal Branding
2015/11/03
Day 38: Imaging
Julia
2015/10/30
Day 37: Fourier Techniques
Julia
2015/10/26
Day 36: Markdown
Julia
2015/10/19
Beautiful Data
book review
Python
R
2015/10/15
Day 35: Mapping
Julia
2015/10/15
Day 34: Networking
Julia
2015/10/13
Installing LightTable and Juno on Ubuntu
Julia
2015/10/12
Day 33: Evolutionary Algorithms
Julia
2015/10/12
Day 32: Classification
Julia
2015/10/09
Day 31: Regression
Julia
2015/10/08
Day 30: Clustering
Julia
2015/10/07
Data Mining with Rattle and R
Machine Learning
book review
R
2015/10/07
Day 29: Distances
Julia
2015/10/06
Day 28: Hypothesis Tests
Julia
2015/10/05
Day 27: Distributions
Julia
2015/10/02
Day 26: Statistics
Julia
2015/10/01
Day 25: Interfacing with Other Languages
Julia
R
Python
2015/09/30
Day 24: Graphs
Julia
2015/09/29
Day 23: Data Structures
Julia
2015/09/28
Day 22: Optimisation
Julia
2015/09/25
Day 21: Differential Equations
Julia
2015/09/24
Day 20: Calculus
Julia
2015/09/23
Day 19: Units of Measurement
Julia
2015/09/22
Day 18: Plotting
Julia
2015/09/21
PhysicalConstants.jl: Julia Package of Physical Constants
Julia
2015/09/21
Day 17: Datasets from R
Julia
R
2015/09/18
Day 16: Databases
Julia
2015/09/17
Setting up ODBC for SQLite on Ubuntu
Linux
2015/09/17
Day 15: Time Series
Julia
2015/09/16
Day 14: DataFrames & DataArrays
Julia
2015/09/15
urlshorteneR: A package for shortening URLs
R
2015/09/14
Day 13: Packages
Julia
2015/09/14
Day 12: Parallel Processing
Julia
2015/09/11
Day 11: Metaprogramming
Julia
2015/09/10
A ggplot2 oddity
R
2015/09/10
Day 10: Modules
Julia
2015/09/09
Day 9: Input/Output
Julia
2015/09/08
Day 8: Iteration, Conditionals and Exceptions
Julia
2015/09/07
Day 7: Functional Programming
Julia
2015/09/06
Day 6: Composite Types
Julia
2015/09/05
Day 5: Collections
Julia
2015/09/04
Day 4: Functions
Julia
2015/09/03
Day 3: Variables and Data Types
Julia
2015/09/02
Day 2: Development Environments
Julia
2015/09/01
Day 1: Installation and Orientation
Julia
2015/08/31
Shiny Bayesian Updates
Bayesian
Shiny
R
2015/07/24
Lightning on your Twitter Feed
2015/07/13
Constructing a Word Cloud for ICML 2015
Conference
2015/07/10
ICML 2015 (Lille, France): Day 5 (Workshops)
Conference
2015/07/10
ICML 2015 (Lille, France): Day 4
Conference
2015/07/10
ICML 2015 (Lille, France): Day 3
Conference
2015/07/08
ICML 2015 (Lille, France): Day 2
Conference
2015/07/08
ICML 2015 (Lille, France): Day 1 (Tutorials)
Conference
2015/07/07
Machine Learning with R Cookbook
Machine Learning
book review
R
2015/07/03
Flashes from the Ashes: Volcanic Lightning
2015/07/03
Excel: Copying with Relative Links
Excel
2015/06/26
Disney: Quality over Quantity
2015/06/15
R Recipe: RStudio and UNC Paths
R
2015/06/04
Hosting Shiny on Amazon EC2
AWS
Shiny
R
2015/05/30
Comrades Marathon Medal Predictions
running
Shiny
R
2015/05/28
R Recipe: Aligning Axes in ggplot2
R
2015/05/27
R Recipe: Reordering Columns in a Flexible Way
R
2015/05/16
Recent Common Ancestors: Simple Model
R
2015/05/15
R Recipe: Making a Chord Diagram
2015/05/09
Comrades Marathon Finish Predictions
running
R
2015/04/23
Comrades Runners Disqualified: I’m Not Convinced
running
2015/04/16
Encyclopaedia: Meteorites in Antarctica
2015/04/13
A Sankey Plot with Uniform Coloured Edges
R
2015/04/07
Encyclopaedia: Discovery Expedition
2015/04/06
Bags, Balls and the Hypergeometric Distribution
R
2015/04/03
Comrades Marathon Pacing Chart: Up Run
Excel
running
2015/04/01
The Price of Fuel: How Bad Could It Get?
R
2015/04/01
Encyclopaedia: Geospace
2015/03/30
Encyclopaedia: Scottish National Antarctic Expedition
2015/03/23
Encyclopaedia: SANAE IV
2015/03/16
Dealing with a Byte Order Mark (BOM)
R
2015/03/11
Graph Databases
Neo4j
book review
2015/02/09
R for Business Analytics
book review
R
2015/01/28
Downloading Options Data in R: An Update
trading
options
R
2015/01/14
Simulating Intricate Branching Patterns with DLA
R
2014/12/16
Creating More Effective Graphs
R
2014/11/04
Standard Bank: Striving for Mediocrity
2014/10/07
Plotting Flows with {riverplot}
R
2014/08/14
Commitments of Traders: Moves in the Last Week
R
2014/08/09
Whistlers and Volcanic Lightning
2014/07/30
Comrades Marathon: A Race for Geriatrics?
running
R
2014/07/22
Where to Put EAs and Indicators in New MT4 Builds
2014/07/20
Comrades Marathon Negative Splits: Cheat Strikes Again
running
2014/07/16
Twins, Tripods and Phantoms at the Comrades Marathon
running
R
2014/06/12
Concatenating a list of data frames
R
2014/06/06
Comrades Marathon Pacing Chart: Down Run
Excel
running
2014/05/28
What Can We Learn from the Commitments of Traders Report?
2014/05/21
Race Statistics for Comrades Novices: Corrigendum
running
R
2014/05/17
Race Statistics for Comrades Marathon Novice Runners
running
R
2014/05/16
Hazardous & Benign Objects: Solar-Ecliptic Orbits
R
2014/05/12
Comrades Marathon Negative Splits: The Plot Thickens
running
R
2014/05/10
Hazardous & Benign Objects: Kepler’s Equation
R
2014/05/08
Comrades Marathon: Negative Splits and Cheating
running
R
2014/05/06
Hazardous & Benign Objects: Getting the Data
R
2014/04/28
R Interface to Myfxbook
R
2014/04/17
Earthquakes: Land / Ocean Distribution
R
2014/04/13
Largest Volcanoes & Other Statistics
R
2014/04/11
Earthquakes: Magnitude / Depth Chart
R
2014/04/07
Daylight Saving Effect on Financial Indices
R
2014/04/01
Filtering Data with L1 Regularisation
regularisation
R
2014/03/27
Filtering Data with L2 Regularisation
regularisation
R
2014/03/25
How Long to Conceive?
R
2014/01/12
Processing EXIF Data
R
2013/12/16
Updated Comrades Winners Chart
running
2013/12/14
Contour and Density Layers with ggmap
R
2013/12/14
Amy Cuddy: Your body language shapes who you are
TED Talk
2013/11/27
Deriving a Priority Queue from a Plain Vanilla Queue
R
2013/11/26
Implementing a Queue as a Reference Class
R
2013/11/24
Iterators in R
R
2013/11/14
Introduction to Fractals
R
2013/11/04
Percolation Threshold: Including Next-Nearest Neighbours
R
2013/11/01
Percolation Threshold on a Square Lattice
R
2013/10/30
Plotting Times of Discrete Events
R
2013/10/19
Mounting a sshfs volume via the crontab
Linux
2013/10/06
Top 250 Movies at IMDb
web scraping
R
2013/10/03
Flushing Live MetaTrader Logs to Disk
2013/09/18
Clustering the Words of William Shakespeare
R
2013/09/10
MetaTrader Time Zones
2013/09/09
Text Mining the Complete Works of William Shakespeare
R
2013/09/05
Presenting Conformance Statistics
R
2013/08/27
The Wonders of {foreach}
{foreach}
R
2013/08/25
Fitting a Model by Maximum Likelihood
R
2013/08/18
Correlations with Uncertainty: Classical Solution
R
2013/08/13
Correlations with Uncertainty: Bootstrap Solution
R
2013/08/11
Finding Your MetaTrader Log Files
2013/08/08
A Chart of Recent Comrades Marathon Winners
running
R
2013/07/30
Comrades Marathon Inference Trees
running
R
2013/07/19
Optimising a Noisy Objective Function
R
2013/07/16
Compiling Indicators and Expert Advisors
2013/06/25
Are Green Number Runners More Likely to Bail?
running
R
2013/06/22
The Green Number Effect
running
R
2013/06/18
Age Distribution of Comrades Marathon Athletes
running
R
2013/06/18
Medal Allocations at the Comrades Marathon
running
R
2013/06/09
Comrades Marathon Attrition Rate
R
2013/06/07
Analysis of Cable Morning Trade Strategy
R
2013/05/29
Balanced Data with {MatchIt}
R
2013/05/23
xkcd Style Bubble Plot
R
2013/05/23
Swing Alert Indicator
2013/05/23
Package {party}: Conditional Inference Trees
{party}
R
2013/05/21
Plotting categorical variables
R
2013/05/20
Plotting numerical variables
R
2013/05/18
Descriptive Statistics
R
2013/05/18
Categorical Variables
R
2013/05/12
Loading Data from a Tab Delimited File
R
2013/05/12
Support & Resistance Indicator
2013/05/06
Locations of Geosynchronous Satellites
R
2013/04/16
No matching items