Publications by wrathematics
“F-bombs” in GitHub Commits (warning: contains profanity)
Warning: this post contains profanity…arguably excessive amounts of it. If you are a humorless no-fun, you are recommended to proceed no further. Seriously though, the title is quite descriptive of the content of this post. If you are offended by the use of such language, or if your boss is likely to come peering over your shoulder soon, I ...
2716 sym 8 img
A New Use for Pipes in R: Forkbombs
Almost 3 years ago, I wrote about how to forkbomb with R. A quick recap is that a forkbomb is a low-tier, malicious misuse of a system; sort of a “baby’s first denial of service”. The idea is that you write a program that will start an entirely new copy of itself each time it is executed. Executing it will quickly gobble up all available re...
2859 sym R (134 sym/2 pcs)
Introducing Rfiglet: ASCII logos from the comfort of R
The Rfiglet Package For those who don’t know what figlet is, it’s a command line utility for creating ascii logos. Rfiglet, therefore, is a set of R bindings for figlet. Works about like you would expect: library(Rfiglet) figlet("ascii") # _ _ # __ _ ___ ___(_|_) # / _` / __|/ __| | | #| (_| __ (__| | | ...
1125 sym R (921 sym/2 pcs)
A “did you mean?” Feature for R
Most search engines have a “did you mean?” feature, where suggestions are given in the presence of likely typos. And while search engines use sophisticated NLP methods on their vast amounts of user-generated data to create accurate suggestions, you can get by with some ancient spellchecker techniques. So a little while ago, I did just that ...
2159 sym R (685 sym/4 pcs)
One of My Favorite R Oddities: dump()
R is full of things that make “real programmers” (I dislike this term) turn their noses up in disgust. One of my favorites is the dump() function. It is…odd. I think the best way to introduce it to people is without context, because it’s just so bizarre: x <- runif(5) x # [1] 0.7169493 0.1615495 0.7741029 0.4234200 0.8732784 dump("x...
1910 sym R (391 sym/5 pcs) 2 img
Cache Rules Everything Around Me
Title with apologies to the Wu-Tang Clan. In this post, we’re going to be discussing: Rcpp R’s C interface The importance of CPU caches Performance benchmarking If none of these things is of interest you and you clicked anyway, please enjoy this picture of a cat: Background Cache is like your computer’s ram, only very small and 50-100 ti...
5177 sym R (2429 sym/9 pcs) 2 img
Controlling a Remote R Session from a Local One
Say you have an Amazon EC2 instance running and you want to be able to control your R session running there from your local R session. At heart, this is not a new idea for the R community. You can already control remote R sessions easily with Shiny or RStudio server, for instance. Well now you can also try the experimental remoter package, availa...
2060 sym
Controlling a Remote R Session from a Local One
Say you have an Amazon EC2 instance running and you want to be able to control your R session running there from your local R session. At heart, this is not a new idea for the R community. You can already control remote R sessions easily with Shiny or RStudio server, for instance. Well now you can also try the experimental remoter package, ava...
2073 sym
Perform co-operations with the coop package
About The coop package does co-operations: covariance, correlation, and cosine, and it does them quickly. The package is available on CRAN and GitHub, and has two vignettes: Introducing coop: Fast Covariance, Correlation, and Cosine Operations Algorithms and Benchmarks for the coop Package Incidentally, the vignettes don’t render correctly on...
3332 sym R (311 sym/1 pcs)
Perform co-operations with the coop package
About The coop package does co-operations: covariance, correlation, and cosine, and it does them quickly. The package is available on CRAN and GitHub, and has two vignettes: Introducing coop: Fast Covariance, Correlation, and Cosine Operations Algorithms and Benchmarks for the coop Package Incidentally, the vignettes don’t render correctly ...
3351 sym R (347 sym/1 pcs)