Skip to content

Instantly share code, notes, and snippets.

View anasem's full-sized avatar

Anas Emad anasem

View GitHub Profile
library(ggplot2)
x <- c("بقرة", "دجاج", "حصان")
df <- data.frame(x = x, y = 1:3)
labels_rtl <- function(x) paste0("\u202B", x)
ggplot(df, aes(x, y)) +
geom_point() +
scale_x_discrete(labels = labels_rtl) +
@8bitbuddhist
8bitbuddhist / create-android-display.sh
Last active April 26, 2025 13:12
Bash script to use an Android device as a second monitor for Linux. See https://blog.8bitbuddhism.com/2019/12/01/how-to-use-your-android-tablet-as-second-monitor/ for detailed instructions.
#!/bin/bash
# Make sure your Android device is plugged in and accessible over adb.
#### Remember to enable virtual displays in xorg by adding the following to your configuration (e.g. /usr/share/X11/xorg.conf.d/20-virtual.conf)
# Section "Device"
# Identifier "intelgpu0"
# Driver "intel"
# Option "VirtualHeads" "1"
#EndSection
@goldingn
goldingn / styles_sketch.R
Created October 18, 2017 01:07
a sketch of theme-like behaviour for base r plots
# styles for plotting
library(default)
.old_par <- list()
.current_style <- list()
.shims <- new.env()
remove_shims <- function () {
if ("shims" %in% search())
detach ("shims")
@fm4dd
fm4dd / gcc compiler optimization for arm systems.md
Last active September 20, 2025 05:23
GCC compiler optimization for ARM-based systems

GCC compiler optimization for ARM-based systems

2017-03-03 fm4dd

The gcc compiler can optimize code by taking advantage of CPU specific features. Especially for ARM CPU's, this can have impact on application performance. ARM CPU's, even under the same architecture, could be implemented with different versions of floating point units (FPU). Utilizing full FPU potential improves performance of heavier operating systems such as full Linux distributions.

-mcpu, -march: Defining the CPU type and architecture

These flags can both be used to set the CPU type. Setting one or the other is sufficient.

@vasanthk
vasanthk / System Design.md
Last active October 18, 2025 10:20
System Design Cheatsheet

System Design Cheatsheet

Picking the right architecture = Picking the right battles + Managing trade-offs

Basic Steps

  1. Clarify and agree on the scope of the system
  • User cases (description of sequences of events that, taken together, lead to a system doing something useful)
    • Who is going to use it?
    • How are they going to use it?
#!/bin/bash
if [ $# -lt 2 ]; then
echo "format: git_cleanup <repo name> [-x/--expunge <directory 1> -l/--keeplatest <directory 2> ...]"
exit
fi
PROJ="$1"
shift
@spicycode
spicycode / tmux.conf
Created September 20, 2011 16:43
The best and greatest tmux.conf ever
# 0 is too far from ` ;)
set -g base-index 1
# Automatically set window title
set-window-option -g automatic-rename on
set-option -g set-titles on
#set -g default-terminal screen-256color
set -g status-keys vi
set -g history-limit 10000