summaryrefslogtreecommitdiffstats
path: root/content/computer
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-07-07 20:28:56 +0200
committerMatthias Beyer <mail@beyermatthias.de>2021-07-07 20:28:56 +0200
commitf5cfd0f93357a94719b8b805bd3145e6303d3a88 (patch)
tree1f4e2a1e06873d16d8da1eca480b966e00f9fe5b /content/computer
parent106008c5b7dd7315bc19ec3858b3c58b58b58990 (diff)
Reorganize all computer stuff in subection "computers"
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'content/computer')
-rw-r--r--content/computer/_index.md7
-rw-r--r--content/computer/computer_science/_index.md7
-rw-r--r--content/computer/linux_unix/_index.md15
-rw-r--r--content/computer/linux_unix/gui.md14
-rw-r--r--content/computer/open_source/_index.md7
-rw-r--r--content/computer/programming/_index.md7
-rw-r--r--content/computer/programming/programming_languages/_index.md12
-rw-r--r--content/computer/programming/programming_languages/bash.md16
-rw-r--r--content/computer/programming/programming_languages/go.md23
-rw-r--r--content/computer/programming/programming_languages/php.md10
-rw-r--r--content/computer/programming/programming_languages/rust.md39
-rw-r--r--content/computer/programming/programming_techniques/_index.md7
-rw-r--r--content/computer/software/_index.md7
-rw-r--r--content/computer/software/software_architecture/_index.md7
-rw-r--r--content/computer/software/software_bestpractices/_index.md7
-rw-r--r--content/computer/tools/_index.md8
-rw-r--r--content/computer/tools/cli/_index.md8
-rw-r--r--content/computer/tools/cli/helpers.md79
-rw-r--r--content/computer/tools/cli/scripts.md130
-rw-r--r--content/computer/tools/planning.md14
-rw-r--r--content/computer/tools/vim.md7
21 files changed, 431 insertions, 0 deletions
diff --git a/content/computer/_index.md b/content/computer/_index.md
new file mode 100644
index 0000000..ce8305c
--- /dev/null
+++ b/content/computer/_index.md
@@ -0,0 +1,7 @@
++++
+title = "Computer"
+sort_by = "weight"
++++
+
+All stuff I know on the topic of "computers" goes into this section.
+
diff --git a/content/computer/computer_science/_index.md b/content/computer/computer_science/_index.md
new file mode 100644
index 0000000..30d8427
--- /dev/null
+++ b/content/computer/computer_science/_index.md
@@ -0,0 +1,7 @@
++++
+title = 'Computer Science'
+insert_anchor_links = "left"
+in_search_index = true
+generate_feed = false
+sort_by = "weight"
++++
diff --git a/content/computer/linux_unix/_index.md b/content/computer/linux_unix/_index.md
new file mode 100644
index 0000000..453f369
--- /dev/null
+++ b/content/computer/linux_unix/_index.md
@@ -0,0 +1,15 @@
++++
+title = 'Linux unix'
+insert_anchor_links = "left"
+in_search_index = true
+generate_feed = false
+sort_by = "weight"
++++
+
+In this section, I will write down tips and tricks, tutorials and general
+interesting stuff on Linux and Unixoid operating systems that I learned.
+
+The subsections of this section will be target more specific fields of
+interest.
+
+
diff --git a/content/computer/linux_unix/gui.md b/content/computer/linux_unix/gui.md
new file mode 100644
index 0000000..bc5388b
--- /dev/null
+++ b/content/computer/linux_unix/gui.md
@@ -0,0 +1,14 @@
++++
+title = 'GUI'
+weight = 1
++++
+
+Notes on GUI stuff
+
+
+# Tools
+
+General list of helper tools that are nice, helpful and worth to have a look at
+
+* [effitask](https://github.com/sanpii/effitask)
+
diff --git a/content/computer/open_source/_index.md b/content/computer/open_source/_index.md
new file mode 100644
index 0000000..0d38e78
--- /dev/null
+++ b/content/computer/open_source/_index.md
@@ -0,0 +1,7 @@
++++
+title = 'Open source'
+insert_anchor_links = "left"
+in_search_index = true
+generate_feed = false
+sort_by = "weight"
++++
diff --git a/content/computer/programming/_index.md b/content/computer/programming/_index.md
new file mode 100644
index 0000000..77afce3
--- /dev/null
+++ b/content/computer/programming/_index.md
@@ -0,0 +1,7 @@
++++
+title = 'Programming'
+insert_anchor_links = "left"
+in_search_index = true
+generate_feed = false
+sort_by = "weight"
++++
diff --git a/content/computer/programming/programming_languages/_index.md b/content/computer/programming/programming_languages/_index.md
new file mode 100644
index 0000000..dc40289
--- /dev/null
+++ b/content/computer/programming/programming_languages/_index.md
@@ -0,0 +1,12 @@
++++
+title = 'Programming Languages'
+insert_anchor_links = "left"
+in_search_index = true
+generate_feed = false
+sort_by = 'weight'
++++
+
+Here go some notes on different programming languages, whereas each language
+gets its own section and this page only lists some more common/general things.
+
+
diff --git a/content/computer/programming/programming_languages/bash.md b/content/computer/programming/programming_languages/bash.md
new file mode 100644
index 0000000..0bc3eb5
--- /dev/null
+++ b/content/computer/programming/programming_languages/bash.md
@@ -0,0 +1,16 @@
++++
+title = "Bash"
+weight = 1
++++
+
+
+# Argument parsing
+
+* [argbash.io](https://argbash.io/)
+
+
+# Linting
+
+* [shellcheck website](https://www.shellcheck.net/)
+* [shellcheck tool](https://github.com/koalaman/shellcheck)
+
diff --git a/content/computer/programming/programming_languages/go.md b/content/computer/programming/programming_languages/go.md
new file mode 100644
index 0000000..831c544
--- /dev/null
+++ b/content/computer/programming/programming_languages/go.md
@@ -0,0 +1,23 @@
++++
+title = "Go"
+weight = 1
++++
+
+
+# Why Go is bad
+
+<small>(Unsorted list of articles why `Go` is not a programming language one should
+use)</small>
+
+* [Reigning in the Memory Manager](https://www.amitlevy.com/talks/go_meetup_jan_13/#slide-0)
+* [You Don't Like Google's Go Because You Are Small](https://tmikov.blogspot.com/2015/02/you-dont-like-googles-go-because-you.html)
+* [go-is-not-good](https://github.com/ksimka/go-is-not-good)
+* [The "go" language is a mess](https://valuedrivenit.blogspot.com/2015/12/to-go-language-is-mess.html)
+* [Go: the Good, the Bad and the Ugly](https://bluxte.net/musings/2018/04/10/go-good-bad-ugly/)
+* [Go (Golang) Sucks! Here’s Why!](https://subedi.co/blog/2015/11/10/golang-sucks-heres-why)
+* [Why Everyone Hates Go](https://npf.io/2014/10/why-everyone-hates-go/)
+* [Why Discord is switching from Go to Rust](https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f)
+* [Go is not an easy language](https://www.arp242.net/go-easy.html)
+* [Why Golang Is Bad for Smart Programmers](https://raevskymichail.medium.com/why-golang-bad-for-smart-programmers-4535fce4210c)
+* [Go: the Good, the Bad and the Ugly](https://bluxte.net/musings/2018/04/10/go-good-bad-ugly/#the-bad)
+
diff --git a/content/computer/programming/programming_languages/php.md b/content/computer/programming/programming_languages/php.md
new file mode 100644
index 0000000..d09b515
--- /dev/null
+++ b/content/computer/programming/programming_languages/php.md
@@ -0,0 +1,10 @@
++++
+title = "PHP"
+weight = 1
++++
+
+
+# Why PHP is bad
+
+* [PHP: a fractal of bad design](https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/)
+
diff --git a/content/computer/programming/programming_languages/rust.md b/content/computer/programming/programming_languages/rust.md
new file mode 100644
index 0000000..d7d5c01
--- /dev/null
+++ b/content/computer/programming/programming_languages/rust.md
@@ -0,0 +1,39 @@
++++
+title = "Rust"
+weight = 1
++++
+
+
+[Official website](https://www.rust-lang.org/)
+
+
+# Resources
+
+* [crates.io](https://crates.io) - Installable library and binary crates
+* [docs.rs](https://docs.rs) - All documentation of crates from crates.io
+* [lib.rs](https://lib.rs) - Alternative to crates.io
+* [std.rs](https://std.rs) - Standard library documentation
+
+
+## Learning Resources
+
+* [Cargo Book](https://doc.rust-lang.org/cargo/index.html)
+* [Compiler Error Index](https://doc.rust-lang.org/error-index.html)
+* [Edition Guide](https://doc.rust-lang.org/edition-guide/index.html)
+* [The standard library](https://doc.rust-lang.org/std/index.html)
+* [rustc Book](https://doc.rust-lang.org/rustc/index.html)
+* [rustdoc Book](https://doc.rust-lang.org/rustdoc/index.html)
+
+
+## Application building
+
+* [Command Line Book](https://rust-cli.github.io/book/index.html) - Command line application building
+* [Embedded Book](https://doc.rust-lang.org/embedded-book) - Rust for Microcontrollers/embedded systems
+* [WebAssembly Book](https://rustwasm.github.io/docs/book/) - Building browser-native libraries with WebAssembly
+
+
+# Libraries
+
+* [clap](https://clap.rs) - State of the art commandline interface building and parsing
+
+
diff --git a/content/computer/programming/programming_techniques/_index.md b/content/computer/programming/programming_techniques/_index.md
new file mode 100644
index 0000000..e84b4a2
--- /dev/null
+++ b/content/computer/programming/programming_techniques/_index.md
@@ -0,0 +1,7 @@
++++
+title = 'Programming Techniques'
+insert_anchor_links = "left"
+in_search_index = true
+generate_feed = false
+sort_by = "weight"
++++
diff --git a/content/computer/software/_index.md b/content/computer/software/_index.md
new file mode 100644
index 0000000..be3174e
--- /dev/null
+++ b/content/computer/software/_index.md
@@ -0,0 +1,7 @@
++++
+title = 'Software'
+insert_anchor_links = "left"
+in_search_index = true
+generate_feed = false
+sort_by = "weight"
++++
diff --git a/content/computer/software/software_architecture/_index.md b/content/computer/software/software_architecture/_index.md
new file mode 100644
index 0000000..fc48d23
--- /dev/null
+++ b/content/computer/software/software_architecture/_index.md
@@ -0,0 +1,7 @@
++++
+title = 'Software Architecture'
+insert_anchor_links = "left"
+in_search_index = true
+generate_feed = false
+sort_by = "weight"
++++
diff --git a/content/computer/software/software_bestpractices/_index.md b/content/computer/software/software_bestpractices/_index.md
new file mode 100644
index 0000000..5e3b1ad
--- /dev/null
+++ b/content/computer/software/software_bestpractices/_index.md
@@ -0,0 +1,7 @@
++++
+title = 'Software Bestpractices'
+insert_anchor_links = "left"
+in_search_index = true
+generate_feed = false
+sort_by = "weight"
++++
diff --git a/content/computer/tools/_index.md b/content/computer/tools/_index.md
new file mode 100644
index 0000000..82b3d10
--- /dev/null
+++ b/content/computer/tools/_index.md
@@ -0,0 +1,8 @@
++++
+title = 'Tools'
+insert_anchor_links = "left"
+in_search_index = true
+generate_feed = false
+sort_by = "weight"
++++
+
diff --git a/content/computer/tools/cli/_index.md b/content/computer/tools/cli/_index.md
new file mode 100644
index 0000000..0e740d0
--- /dev/null
+++ b/content/computer/tools/cli/_index.md
@@ -0,0 +1,8 @@
++++
+title = 'CLI'
+insert_anchor_links = "left"
+in_search_index = true
+generate_feed = false
+sort_by = "weight"
++++
+
diff --git a/content/computer/tools/cli/helpers.md b/content/computer/tools/cli/helpers.md
new file mode 100644
index 0000000..7fea776
--- /dev/null
+++ b/content/computer/tools/cli/helpers.md
@@ -0,0 +1,79 @@
+
++++
+title = 'CLI Helper tools'
+weight = 1
++++
+
+General list of helper tools that are nice, helpful and worth to have a look at
+
+* [alacritty](https://github.com/alacritty/alacritty)
+* [atuin](https://github.com/ellie/atuin)
+* [bandwhich](https://github.com/imsnif/bandwhich)
+* [bat](https://github.com/sharkdp/bat)
+* [bb](https://github.com/epilys/bb)
+* [bfs](https://github.com/tavianator/bfs)
+* [bmon](https://github.com/tgraf/bmon)
+* [bottom](https://github.com/ClementTsang/bottom)
+* [broot](https://github.com/Canop/broot)
+* [choose](https://github.com/theryangeary/choose)
+* [coreutils](https://github.com/uutils/coreutils)
+* [delta](https://github.com/dandavison/delta)
+* [dijo](https://github.com/NerdyPepper/dijo)
+* [diskus](https://github.com/sharkdp/diskus)
+* [dive](https://github.com/wagoodman/dive)
+* [dua-cli](https://github.com/Byron/dua-cli)
+* [dutree](https://github.com/nachoparker/dutree)
+* [exa](https://github.com/ogham/exa)
+* [fd](https://github.com/sharkdp/fd)
+* [fzf](https://github.com/junegunn/fzf)
+* [git-absorb](https://github.com/tummychow/git-absorb)
+* [git-interactive-rebase-tool](https://github.com/MitMaro/git-interactive-rebase-tool)
+* [git-journal](https://github.com/saschagrunert/git-journal)
+* [gitui](https://github.com/extrawurst/gitui)
+* [glances](https://github.com/nicolargo/glances)
+* [glow](https://github.com/charmbracelet/glow)
+* [gotop](https://github.com/xxxserxxx/gotop)
+* [gping](https://github.com/orf/gping)
+* [hex](https://github.com/sitkevij/hex)
+* [hexyl](https://github.com/sharkdp/hexyl)
+* [httpie](https://httpie.io/)
+* [hugo](https://github.com/gohugoio/hugo)
+* [hunter](https://github.com/rabite0/hunter)
+* [joshuto](https://github.com/kamiyaa/joshuto)
+* [jp](https://github.com/sgreben/jp)
+* [jq](https://github.com/stedolan/jq)
+* [jrnl](https://github.com/jrnl-org/jrnl)
+* [lazygit](https://github.com/jesseduffield/lazygit)
+* [lsd](https://github.com/Peltoche/lsd)
+* [mdBook](https://github.com/rust-lang/mdBook)
+* [navi](https://github.com/denisidoro/navi)
+* [nemu](https://github.com/nemuTUI/nemu)
+* [netdata](https://github.com/netdata/netdata)
+* [ngxtop](https://github.com/lebinh/ngxtop)
+* [nvtop](https://github.com/Syllo/nvtop)
+* [pg_top](https://gitlab.com/pg_top/pg_top)
+* [pgcli](https://github.com/dbcli/pgcli)
+* [q](https://github.com/harelba/q)
+* [ranger](https://github.com/ranger/ranger)
+* [ripgrep](https://github.com/BurntSushi/ripgrep)
+* [rofi](https://github.com/davatorium/rofi)
+* [sad](https://github.com/ms-jpq/sad)
+* [sc-im](https://github.com/andmarti1424/sc-im)
+* [sd](https://github.com/chmln/sd)
+* [skim](https://github.com/lotabout/skim)
+* [slb](https://github.com/vlad17/slb)
+* [smenu](https://github.com/p-gen/smenu)
+* [so](https://github.com/samtay/so)
+* [sshuttle](https://github.com/sshuttle/sshuttle)
+* [starship](https://github.com/starship/starship)
+* [svgbob](https://github.com/ivanceras/svgbob)
+* [syncthing](https://github.com/syncthing/syncthing)
+* [tig](https.//github.com/jonas/tig)
+* [tmate](https://github.com/tmate-io/tmate)
+* [up](https://github.com/akavel/up)
+* [whatfiles](https://github.com/spieglt/whatfiles)
+* [xsv](https://github.com/BurntSushi/xsv)
+* [zellij](https://github.com/zellij-org/zellij)
+* [zenith](https://github.com/bvaisvil/zenith)
+* [zola](https://www.getzola.org/)
+
diff --git a/content/computer/tools/cli/scripts.md b/content/computer/tools/cli/scripts.md
new file mode 100644
index 0000000..8c71b48
--- /dev/null
+++ b/content/computer/tools/cli/scripts.md
@@ -0,0 +1,130 @@
++++
+title = "CLI Helper scripts"
+weight = 1
++++
+
+# Commandline enhancements
+
+## [fzf](https://github.com/junegunn/fzf)
+
+`fzf` is a fuzzy selection tool written in Go. An alternative in Rust would be
+[skim](https://github.com/lotabout/skim).
+
+fzf can be used to automate a lot of things, for example it can replace the
+`CTRL-R` shortcut in bash:
+
+```bash
+# Include in your .bashrc:
+source PATH_TO_FZF_CLONE/shell/key-bindings.bash
+```
+
+And now, `CTRL-R` will fuzzy search the history.
+
+`fzf` is a huge productivity boost for commandline work and even other tools
+where it integrates.
+
+Some more examples:
+
+```bash
+# fco - fuzzy checkout git branch
+fco() {
+ local tags branches target
+ local fzf_cmd="fzf"
+ tags=$(git tag | awk '{print "\x1b[31;1mtag\x1b[m\t" $1}') \
+ || return
+
+ branches=$(git branch --all | grep -v HEAD | \
+ sed "s/.* //" | sed "s#remotes/[^/]*/##" | \
+ sort -u | awk '{print "\x1b[34;1mbranch\x1b[m\t" $1}') \
+ || return
+
+ [[ $TMUX ]] && [[ $(which fzf-tmux 2>/dev/null) ]] && \
+ fzf_cmd="fzf-tmux -l30 -- "
+
+ target=$( (echo "$tags"; echo "$branches") | \
+ $fzf_cmd --no-hscroll --ansi +m -d "\t" -n 2) \
+ || return
+
+ git checkout $(echo "$target" | awk '{print $2}')
+}
+
+# Fuzzy foreground, if you use `CTRL-Z` a lot
+fj() {
+ [ $(jobs | wc -l) -eq 0 ] && return
+ local j=$(jobs | awk '{ print $3, " - ", $2, " - ", $1; }' | fzf -1 -0)
+ echo $j
+ fg $(echo $j | sed -r 's/(.*)\[([0-9]*).*/\2/g')
+}
+
+# Fuzzy select the right tmux session, even within a tmux session
+fmux() {
+ local session
+ session=$(tmux list-sessions -F "#{session_name}" | \
+ fzf --query="$1" --select-1 --exit-0)
+
+ if [[ -z "${TMUX}" ]]; then
+ tmux -2 attach -t "$session"
+ else
+ tmux -2 switch-client -t "$session"
+ fi
+}
+```
+
+## fzf in vim
+
+It can also be integrated in `vim` for fuzzy selecting. Things like
+fuzzy-jump-to-line, for example:
+
+```viml
+" Using the fzf-preview plugin, this can even be enhanced with a preview window:
+nmap <Leader>zf :FZF<CR>
+nmap <Leader>zr :FZFRg<CR>
+nmap <Leader>zh :FZFHistory<CR>
+nmap <Leader>zl :FZFBLines<CR>
+nmap <Leader>zt :FZFTags<CR>
+nmap <Leader>zT :FZFBTags<CR>
+nmap <Leader>zm :FZFMarks<CR>
+nmap <Leader>zw :FZFWindows<CR>
+```
+
+
+# Ranger
+
+Ranger is a nice CLI filemanager (TUI).
+
+
+## (Not) Nesting ranger
+
+With the following script, one can
+ensure that only one ranger instance is running in the terminal (no nested
+sessions):
+
+```bash
+r() {
+ if [ $(jobs | grep ranger | wc -l) -gt 0 ]; then
+ fg $(jobs | grep ranger | sed 's,^\[,,; s,\].*,,')
+ else
+ if [ -z "$RANGER_LEVEL" ]; then
+ ranger
+ else
+ exit
+ fi
+ fi
+}
+```
+
+
+## tmux integration
+
+Using tmux from ranger is as simple as
+
+```
+map ef eval if 'TMUX' in os.environ.keys(): fm.run("tmux splitw -h 'rifle \"" + fm.thisfile.basename + "\"'")
+map ev eval if 'TMUX' in os.environ.keys(): fm.run("tmux splitw -v 'rifle \"" + fm.thisfile.basename + "\"'")
+map ew eval if 'TMUX' in os.environ.keys(): fm.run("tmux new-window 'rifle \"" + fm.thisfile.basename + "\"'")
+
+map sf eval if 'TMUX' in os.environ.keys(): fm.run("tmux splitw -h")
+map sv eval if 'TMUX' in os.environ.keys(): fm.run("tmux splitw -v")
+map sw eval if 'TMUX' in os.environ.keys(): fm.run("tmux new-window")
+```
+
diff --git a/content/computer/tools/planning.md b/content/computer/tools/planning.md
new file mode 100644
index 0000000..f95f0a8
--- /dev/null
+++ b/content/computer/tools/planning.md
@@ -0,0 +1,14 @@
++++
+title = "Planning"
+weight = 1
++++
+
+## Shared Text Boards
+
+* [riseup pad](https://pad.riseup.net)
+
+
+## Appointment planning
+
+* [Dudle](https://dudle.inf.tu-dresden.de/) - free "doodle" alternative
+
diff --git a/content/computer/tools/vim.md b/content/computer/tools/vim.md
new file mode 100644
index 0000000..9fd8a7b
--- /dev/null
+++ b/content/computer/tools/vim.md
@@ -0,0 +1,7 @@
++++
+title = 'Vim'
+weight = 1
++++
+
+Notes/resources on the best available editor for Linux/Unix CLI.
+