If you don't know what Wireguard is, well, you should. It's fast, easy to setup and highly configurable. We will configure Wireguard for multiple users with various restrictions using iptables.
This should fit most setups (not mine though 😉)
inner_fn <- function() { | |
cat("-- Entering Inner Function --\n") | |
# This step of the body is targeted by `at = 3L` in `trace()` | |
cat("-- Exiting Inner Function --\n") | |
return("inner_fn") | |
} | |
outer_fn <- function() { | |
cat("---- Entering Outer Function ----\n") | |
x <- inner_fn() |
If you don't know what Wireguard is, well, you should. It's fast, easy to setup and highly configurable. We will configure Wireguard for multiple users with various restrictions using iptables.
This should fit most setups (not mine though 😉)
# Animated dplyr joins with gganimate | |
# * Garrick Aden-Buie | |
# * garrickadenbuie.com | |
# * MIT License: https://opensource.org/licenses/MIT | |
# Note: I used Fira Sans and Fira Mono fonts. | |
# Use search and replace to use a different font if Fira is not available. | |
library(tidyverse) | |
library(gganimate) |
/* | |
* I add this to html files generated with pandoc. | |
*/ | |
html { | |
font-size: 100%; | |
overflow-y: scroll; | |
-webkit-text-size-adjust: 100%; | |
-ms-text-size-adjust: 100%; | |
} |
Look at LSB init scripts for more information.
Copy to /etc/init.d
:
# replace "$YOUR_SERVICE_NAME" with your service's name (whenever it's not enough obvious)
/* | |
Copyright 2012 Gerhard R. <gerd.r.devel@googlemail.com> | |
Permission is granted to use, modify, and / or redistribute at will. | |
This includes removing authorship notices, re-use of code parts in | |
other software (with or without giving credit), and / or creating a | |
commercial product based on it. | |
This permission is not revocable by the author. |