Skip to content

Instantly share code, notes, and snippets.

View fegue's full-sized avatar

Felix Günther fegue

View GitHub Profile
@fegue
fegue / r_ubuntu_20_04.sh
Last active May 10, 2021 07:36 — forked from ElToro1966/r_ubuntu_18_04.sh
[R on Linux] Setup R and RStudio on Ubuntu 20.04 #R #linux
#!/bin/bash
# Add CRAN Repository for an up-to-date R-Version
# https://cran.r-project.org/bin/linux/ubuntu/README.html
sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/'
# Follow instructions to add key
# Install R
sudo apt update
sudo apt install libxml2-dev libssl-dev libcurl4-openssl-dev libopenblas-dev r-base r-base-dev
@fegue
fegue / no_zero.R
Last active March 12, 2019 11:06
[Tidy Plot Axis - No Zeros] remove leading/trailing zeros on continouse axis in ggplot #R #ggplot
no_zero <- function(x, integer_zero = TRUE, digits = 2) {
x <- round(x, digits = digits)
y <- sprintf(paste0('%.', digits,'f'),x)
y[x > 0 & x < 1] <- sprintf('.%s',x[x > 0 & x < 1]*(10**digits))
y[x > -1 & x < 0] <- sprintf('-.%s',x[x > -1 & x < 0]*(-10**digits))
y <- gsub(pattern = "0", replacement = "", x = y)
if(integer_zero){
y[(x%%1) == 0] <- sprintf("%s", x[(x%%1) == 0])
} else {
y[x == 0] <- '0'
@fegue
fegue / R_libraries_install_on_linux.sh
Last active May 3, 2021 09:23
[R Libraries] Install common R libraries with Linux dependencies #R #linux
#!/bin/bash
# Install common packages; the tidyverse commes with a LOT of dependencies
R --vanilla << EOF
install.packages(c("tidyverse", "data.table", "devtools"), repos = "https://cran.rstudio.com/")
q()
# Install common packages for spatial operations
sudo apt install libgdal-dev gdal-bin libproj-dev libudunits2-dev
R --vanilla << EOF
install.packages(c("rgdal", "rgeos", "sp", "sf", "raster"), repos = "https://cran.rstudio.com/")
@fegue
fegue / R_libaries_install_missing.R
Last active April 21, 2021 07:14
[Install Maybe] R Script install packages that are not yet on computer #R #Rpackages
### INSTALL ALL LIBRARIES AND DEPENDENCIES #####
# this will only install the packages that are not already installed on your computer i.e. packages won't get updated
libs <- c(
)
## which packages are not yet installed?
libsInstalled <- installed.packages()[,1]
@fegue
fegue / find_newest_files.sh
Last active May 3, 2021 09:23
[Last modified files]Recursively find newest/last modified files in directory and print them to terminal #linux, #bash, #backup,#nextcloud
#!/bin/bash
find /mnt/ncp-backup/backup-current/OekoFor -type f -printf "%T+\t%p\n" | sort | tail -10
@fegue
fegue / mount_image.md
Created May 3, 2021 10:26
[Mount image as filesystem] MOunt Iamges and edit files as if it was a USB-Drive #linux #bash
import io
import selectors
import subprocess
import sys
def capture_subprocess_output(subprocess_args):
# Start subprocess
# bufsize = 1 means output is line buffered
# universal_newlines = True is required for line buffering
process = subprocess.Popen(subprocess_args,
@fegue
fegue / set_hostname.sh
Created March 17, 2022 21:57
Set hostname on raspberry pi
#!/bin/sh
if test $# -eq 0
then
echo "No name on command line."
exit 1
fi
echo $1
NAME=$1
@fegue
fegue / README.md
Created November 30, 2022 17:23 — forked from mzabriskie/README.md
Check git status of multiple repos

If you're like me you have a dir like ~/Workspace/Github where all your git repos live. I often find myself making a change in a repo, getting side tracked and ending up in another repo, or off doing something else all together. After a while I end up with several repos with modifications. This script helps me pick up where I left off by checking the status of all my repos, instead of having to check each one individually.

Usage:

git-status [directory]

This will run git status on each repo under the directory specified. If called with no directory provided it will default to the current directory.

@fegue
fegue / set_barrier_keyboard.sh
Last active March 30, 2023 08:51
Set the correct Keyboard layout on client when using barrier
#!/bin/sh
setxkbmap -device `xinput list | grep "Virtual core XTEST keyboard" | sed -e 's/.\+=\([0-9]\+\).\+/\1/'` -layout "de" -variant "nodeadkeys"