R, Rcpp, URL handling

Announcing urltools

URLs are treated, by base R, as nothing more than components of a data retrieval process: they exist to create connections to retrieve datasets. This is an essential feature for the language to have, but it also means that URL handlers are designed for situations where URLs get you to…

Read More

R, C++, Rcpp

Undefined symbols in Rcpp

Note to self: when you get an error like: undefined symbol: ZN7parsing17extractparameterESsSs You can work out what that means in human through: echo _ZN7parsing17extract_parameterESsSs| c++filt Hat-tip to Douglas, four years ago.…

Read More

League ain't nothing but...

Spent part of last night confusedly watching professional League of Legends players play the pre-season. One of the adverts was a fairly-generic-but-well-intentioned effort to demonstrate the inclusivity of gaming, by showing a diverse array of people who identified as gamers. This was completely undermined, of course, by the Intel advert…

Read More

NULLs in R

data <- lapply("foo",function(x){return(NULL)}) > data [[1]] NULL > data[[1]] <- NULL > data list() This is the STUPIDEST LANGUAGE.…

Read More

randomness, statistics, science

Zombie von Neumann lives!

Yesterday, while working on a tremendously fun project that involved random-number generation, I discovered random.org - which is probably the coolest site on the internet. Here's why. Randomness is a hard problem - in fact, it's an intractable problem and people who think too hard about how to measure…

Read More

wikimedia, R, uaparser, user-agent parsing

user agent parsing in R

(The title is somewhat deceptive, but only somewhat) One of the projects I've been patching for a while is ua-parser, which does what it says on the tin - takes user agents and extracts useful information (device, operating system, browser, so on) from them. We use it at the Wikimedia…

Read More

Tab-clearing

Stuff from my bookmarks: An excellent essay on what happens when you indulge toxic individuals. A couple of weeks ago I was introduced to Lewis' Law, which manages to simultaneously be accurate, amusing and deeply sad. "and the user agent string was a complete mess, and near useless, and everyone…

Read More

Work

There's an only semi-humorous software license called the CRAPL. It's designed for academics, and is based on the principle that: In academic software (my own included), software engineering principles vaporize as deadlines loom, and code becomes overrun with debugging hooks, perl golf, hard-coded configuration variables, dirty hacks, commentless tracts, a…

Read More