Software
Various notes about different software I use
List of software etc.
Some of the software, file formats etc. that I use (and various tips):
- Firefox with ublock-origin – browsing the web without adds/tracking. Settings: auto-delete cookies, localstorage etc. on exit.
- Anki – great tool for learning, – open source flash-cards
- protonmail – seems to be the best privacy-aware email
- Vim – the text editor that I am most efficient in
- Brave – privacy-aware chrome-based browser – better default privacy/adblocking than firefox without plugins (usable on iOS, where Apple disallows firefox plugins etc.).
- libreoffice – good-enough office-suite
- Gimp – good-enough image editing
- Blender – great 3d program, with good-enough video editor
- Syncthing – synchronising files between computers – cloud-alternative
- Signal – instant messenging
- Facebook/messenger – worst software – but needs to use it due to things only communicated there 🙁
VR:
- Thrill of the fight – Best cardio exercise – but brutal
- Beat Saber – good cardio exercise with fast version of song "FitBeat" – includes squads and jumps to the side
- HoloPoint – decent cardio exercise
- Gorilla tag – good arm exercise
- Google Earth – good for learning geography
- TiltBrush – creative drawing
Progamming languages:
- Clojure – nice / favourite programming language
- JavaScript – fastest language for me to build something in, as I have lots of experience with this.
- serverside: node or deno (prefer deno due to sandboxing, but often use node due to
- the web platform!
- Python
– data science! Jupyter Lab- micropy – for scripting on embedded devices
- scripting blender etc.
- Lua – good/easy to embed in other applications
Operating systems I use:
- Linux – clearly the best for my use cases. Always using this on server (although would also be tempted to return to FreeBSD), – and often on laptop/desktop (prefer i3 as window manager). Great!
- MacOS – lots of small bugs, but runs on the new Apple ARM processors, and allows web development/testing on Safari, and possibility to develop for iOS, – good enough, but not great.
- iOS – locked-down operating system (You don't control your device, Apple does, which is bad). But Android is worse, – and you need to have Android or iOS to function in modern society (payment, school-apps, sign-in, authentification, coronapas, etc. (Open-standard web-applications are unfortunatly often only developed as an afterthought if at all)).
- Windows – needed for some use cases (best VR-support, playing certain games with my son that is unsupported on Linux/MacOS).
- Android – developed by a company whoose business model is to sell your attention to highest bidder (and collect information about you to be able to do that).
File formats:
- SQLite – database, – data can easily be accessed from different programming languages, and it is really easy to backup an share the database with others, as it is just single file.
- Markdown – simple, good-enough plain-text format, – can also be converted to print etc (pandoc).
todo:
- etherpad – really good for collaboration on text (need to re-install this asap).
- gitea – self-hosted simple github-alternative (github was taken over by Microsoft, – currently using gitlab but want to shift to this).
Individual Applications
VIM
Fireplace:
:connect 3333
:CljEval (shadow/repl :build-id)
K
:Doc
:FindDoc
[d
]d
– show source[<c-d>
– jump
gf
– goto namespaceg]
– goto symbol + tag- c-w prefix = in window
cp...
cpp
– eval-printcm...
cmm
– fully macro expandc!...
c!!
– eval replacec1m...
c1mm
– macro expand oncecqp
– eval promptcq...
cqq
cqc
– command-line window- insert-mode
C-R (
eval+insertC-X C-O
omnicomplete
ParEdit:
,<
,>
– move paren,J
,O
– join / open(split),w(
,w[
,w{
,w\"
– wrap with parens,S
,[up]
,[down]
,I
– splice / remove parens]– splice / remove parens
Completion:
C-p
/C-n
- nextC-x C-o
language.C-x C-f
fileC-x C-p
/C-x C-n
context awareC-x C-l
line-complete
todo:
- add .vimrc notes
- check up on neovim
- check out vim-matchup vim-sneak vim-lastplace ctrlp.vim ctrlsf.vom vim-textbj-user aklt/vim-substitute vim-clap + fzf
Pandoc
Running:
pandoc doc.md -d defaults.yaml --toc --toc-depth=3 -o out.pdf; open out.pdf
sample defaults.yaml
citeproc: true
metadata:
bibliography: bibliography.bib
top-level-division: section
pdf-engine: lualatex
sample preamble:
---
title: title
author: Rasmus Erik Voel Jensen (hdb853)
fontsize: 12pt
lang: da
date: 2023
papersize: a4
documentclass: article
geometry: margin=3.8cm
header-includes: |
\renewcommand{\baselinestretch}{1.5}
#https://tex.stackexchange.com/questions/598690/including-diverse-unicode-symbols-inside-latex-document
#\babelprovide[onchar=fonts]{arabic}
#\babelfont{rm}{FreeSerif}
---
SQLite
Performance-optimizations:
PRAGMA journal_mode=WAL;
faster, but requires vfs-shared-memory-primitives.=DELETE
is normal.=OFF
even faster, but risks corruption on OS-crash.PRAGMA synchronous=normal;
less sync than=full
.=off
disable fsync but risks corruptions if Operating System crashes during write.PRAGMA page_size=
set page-size, – power of 2 <= 65536, defaults to 4K. DoPRAGMA VACUUM
injournal_mode=DELETE
to apply to existing DB.PRAGMA analysis_limit=
reduce optimize time/depth, – somewhere between a few hundreds to a few thousands.PRAGMA optimize;
good to run, – for instance before closing db.
VSCode
Shortcuts:
cmd+b
hides explorecmd+shift+p
command palettecmd+shift+e
focus explorer
Extensions:
- Vim (vim emulation) – which folding worked better...
- Prettier – code formatting
MariaDB/mySQL
Various notes...
CREATE USER 'username'@'localhost' IDENTIFIED BY 'passwd';
DROP USER 'username'@'localhost';
CREATE DATABASE dbname;
GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'localhost';
FLUSH PRIVILEGES; -- commit privileges cahnges
SELECT user, host FROM mysql.user;
mariabackup --backup --target-dir=some-backup --user=... --password=...
rsync -avrP some-backup /var/lib/mysql-new/
chown -R mysql:mysql /var/lib/mysql-new/
rm /var/lib/mysql-new/ib_logfile*
systemctl stop mariadb
mv /var/lib/mysql /var/lib/mysql-old
mv /var/lib/mysql-new /var/lib/mysql
systemctl start mariadb
Operating systems
Linux
TODO move applist etc. from scripts here
TODO: ansible
Windows
-
ubuntu 🙂
-
firefox
-
brave
-
vlc
-
syncthing
-
sharpkey remap caps to esc
-
uninstall bloatware
-
disable various tracking
Mac
-
iTerm2
-
azul java
-
vlc
-
xcode
-
firefox
-
brave
-
homebrew
- tmux
- vim
- node
- git
-
settings
- map caps to esc
- disable fast sleep
- safari enable developer mode
Settings
Keyboard
Replace CapsLock with Esc
"US-Mac" keyboard layout under linux has the following keys with Alt Gr
down:
\` ¡ ™ £ ¢ ∞ § ¶ • ª º – ≠
œ ∑ \´ ® † ¥ \¨ \^ ø π “ ‘
å ß ∂ ƒ © \˙ ∆ \° ¬ … æ «
§ Ω ≈ ç √ ∫ \~ µ ≤ ≥ ÷
\ ̛ ⁄ € ‹ › fi fl ‡ ° · ‚ — ±
Œ „ \´ ‰ \ˇ ¼ \¨ \ˆ Ø ∏ ” ’
Å \/ ð \ ̉ \˝ \ ̣ ½ Þ þ Æ »
± \¸ \˛ Ç ◊ ı ˜ ¾ \¯ \˘ ¿
This is my favourite keyboard, – the "real" US-Mac keyboard, is almost as good but missing ¼ ½ ¾.