Posts by Tag

cmdline

exiftool: renaming pictures

less than 1 minute read

rename pictures according to their exifdata time stemp: [code] exiftool "-FileName<CreateDate" -d "%Y%m%d_%H%M%S_%%c.%%e" . [/code] ...

raspi: log network traffic (vnstat)

less than 1 minute read

to monitor the network traffic one can use the tool vnstat install vnstat setup database for interface: vnstat -u -i eth0 start/enable service usage: update...

raspi: change ssh login banner

less than 1 minute read

you need to edit the file: /etc/motd as well as the sshd config: /etc/ssh/sshd_config: Change the setting PrintLastLog to "no", this will disable the "Last l...

raspi: automatically spin external hdd down

1 minute read

the raspberry pi cannot spin external hard drives down. the program hdparm worked perfectly for me. i followed this guide (htpcguides.com). just some slight ...

raspi: install torrent server

less than 1 minute read

the raspberry pi is a perfect device for a 24/7 torrent server. one can install the torrent server: deluge. i followed this guide (howtogeek.com) to install ...

git ignore files (especially global)

less than 1 minute read

one can create gitignore files for specific repos and also globally. github offers gitignore templates for lots of different things: frameworks, languages, e...

git config

less than 1 minute read

edit the file: $HOME/.gitconfig [code language="bash"] [alias] co = checkout ci = commit st = status br = branch hist = log --pretty=format:\"%h %ad | %...

git usage

less than 1 minute read

super easy explanation given in this link the usual workflow for changing is as follows: local changes add: local index commit: local head push: reposito...

openssl for ssl certs

less than 1 minute read

openssl can work well with ssl certs. the following links explains the following points in detail: create private keys (domain.key) create certificate reque...

arch: pacman automatic download

less than 1 minute read

This little post explains how to enable download for packages of pacman. It uses a systemd service. Create the download service (note the option -w for just ...

edit zsh prompt

1 minute read

append to .zshrc in home folder to import file: $ vim ~/.zshrc ... source .zshrc-prompt create .zshrc-prompt in home dir: [code language="bash" collapse="t...

use encrypted folders

less than 1 minute read

mounting already encrypted folders: sudo mount -t ecryptfs <folder> <folder> -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptf...

bash extract function

1 minute read

it's convenient to define this function in your bashrc, s.t. you dont have to think of all the different file formats while extracting. source: https://coder...

pdf editing

less than 1 minute read

install the following program: pdftk simple cutting: pdftk myDocument.pdf cat 1-9 26-end output removedPages.pdf cutting multiple files: pdftk A=one.pdf B=t...

Back to Top ↑

c++

C++ Attributes

5 minute read

C++ code can contain attributes (e.g. [[deprecated]]). These serve different purposes, ranging from silencing compiler warnings to changing optimization stra...

C++ CRTP vs concepts

1 minute read

CRTP is infamous for its complexity. You can use C++20 concepts to reimplement the feature.

C++ Initialization Flow Chart

less than 1 minute read

C++ is infamous for its overly complex initialization processes. It is even worse than one would anticipate (with basic knowledge of the language). There is ...

Talk: Expression templates

6 minute read

Talk: Expression Templates for Efficient, Generic Finance Code - Bowie Owens - CppCon 2019

Talk: std::chrono in finance

1 minute read

Talk: Using std::chrono Calendar Dates for Finance in Cpp - Daniel Hanson - CppCon 2022

Talk: Forwarding References

5 minute read

Talk: CppCon23: Back to Basics: Forwarding References - How to Forward Parameters in Modern C++ - Mateusz Pusz 2023

Back to Top ↑

bash

terminator: useful multi-window terminal emulator

less than 1 minute read

one can set terminator up to start with pre-defined layout and terminals. important distinction: layout defines where and how a window should be setup and a...

exiftool: renaming pictures

less than 1 minute read

rename pictures according to their exifdata time stemp: [code] exiftool "-FileName<CreateDate" -d "%Y%m%d_%H%M%S_%%c.%%e" . [/code] ...

git usage

less than 1 minute read

super easy explanation given in this link the usual workflow for changing is as follows: local changes add: local index commit: local head push: reposito...

openssl for ssl certs

less than 1 minute read

openssl can work well with ssl certs. the following links explains the following points in detail: create private keys (domain.key) create certificate reque...

arch: pacman automatic download

less than 1 minute read

This little post explains how to enable download for packages of pacman. It uses a systemd service. Create the download service (note the option -w for just ...

use encrypted folders

less than 1 minute read

mounting already encrypted folders: sudo mount -t ecryptfs <folder> <folder> -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptf...

bash extract function

1 minute read

it's convenient to define this function in your bashrc, s.t. you dont have to think of all the different file formats while extracting. source: https://coder...

Back to Top ↑

raspi

raspi: change hostname

less than 1 minute read

do the following: sudo vim /etc/hosts change last line: 127.0.1.1 XYZ where XYZ should be the new name you want sudo vim /etc/hostname replace the name ...

raspi: mount usb drives on bootup

less than 1 minute read

to auto mount usb drives on bootup one can simply add some lines to the /etc/fstab file: UUID=e0a4c8da-67d1-423d-939c-4dc8249079f0 /mnt/small btrfs rw,defaul...

raspi: log network traffic (vnstat)

less than 1 minute read

to monitor the network traffic one can use the tool vnstat install vnstat setup database for interface: vnstat -u -i eth0 start/enable service usage: update...

raspi: change ssh login banner

less than 1 minute read

you need to edit the file: /etc/motd as well as the sshd config: /etc/ssh/sshd_config: Change the setting PrintLastLog to "no", this will disable the "Last l...

raspi: automatically spin external hdd down

1 minute read

the raspberry pi cannot spin external hard drives down. the program hdparm worked perfectly for me. i followed this guide (htpcguides.com). just some slight ...

raspi: install torrent server

less than 1 minute read

the raspberry pi is a perfect device for a 24/7 torrent server. one can install the torrent server: deluge. i followed this guide (howtogeek.com) to install ...

raspi: time via ntp

less than 1 minute read

the ntpserver is just a waist of memory for a raspi and its enough to synchro the time every couple hours. follow this: right time zone: [code]$ sudo dpkg-r...

use mmcli for sending SMS

1 minute read

I use an UMTS modem with my raspberry pi 1. the package mmcli is quite useful for handling the modem (e.g., sending SMS,..) list modems:[code language="bas...

Back to Top ↑

git

Better git diff

less than 1 minute read

The output of git calls, e.g. git diff, can be improved. Instead of only showing changed lines it can highlight the parts of a line that actually changed. Se...

git: change name/email of commits

2 minute read

Use case: local commits contain personalized information, i.e. your personal email address, and you want to get rid of them.

Update local git clone: new TAGS

less than 1 minute read

When you have a local clone of a remote repository and want to update it: pulling will not get all the new tags... run the following [code language="bash" co...

git: find out which files are ignored and why

less than 1 minute read

i had a very large global ignore list (tex/vim/linux/python specific stuff) and in this one repo git didnt add one specific folder. as it turned out the glob...

git ignore files (especially global)

less than 1 minute read

one can create gitignore files for specific repos and also globally. github offers gitignore templates for lots of different things: frameworks, languages, e...

git config

less than 1 minute read

edit the file: $HOME/.gitconfig [code language="bash"] [alias] co = checkout ci = commit st = status br = branch hist = log --pretty=format:\"%h %ad | %...

git usage

less than 1 minute read

super easy explanation given in this link the usual workflow for changing is as follows: local changes add: local index commit: local head push: reposito...

Back to Top ↑

rpi

raspbian: enable ssh for headless install

less than 1 minute read

raspbian OS can enable ssh by default. this is handy for a headless install. mount boot partition: $ sudo mount /dev/mmcblk0p1 /mnt create ssh file: $ sudo...

backups with rsnapshot

2 minute read

a centralized backup server can easily be set up with rsnapshot. This program can pull specified remote folders with rsync. install rsnapshot edit the confi...

RPi: automount USB drives via fstab

less than 1 minute read

for mounting external usb drives one can use fstab. each column has its specific meaning (see here for definitions). for external usb drives it is important ...

raspi: install/configure owncloud

less than 1 minute read

installation process as in this link. just change one step: download the newest owncloud client from their website. to reset the admin password: sudo -u www-...

raspi: dyndns via ddclient

less than 1 minute read

to get dyndns on raspi install: ddclient setup config file: /etc/ddclient.conf example for strato server: link setup second config file (/etc/default/ddclien...

raspi: change hostname

less than 1 minute read

do the following: sudo vim /etc/hosts change last line: 127.0.1.1 XYZ where XYZ should be the new name you want sudo vim /etc/hostname replace the name ...

raspi: mount usb drives on bootup

less than 1 minute read

to auto mount usb drives on bootup one can simply add some lines to the /etc/fstab file: UUID=e0a4c8da-67d1-423d-939c-4dc8249079f0 /mnt/small btrfs rw,defaul...

Back to Top ↑

ssh

raspbian: enable ssh for headless install

less than 1 minute read

raspbian OS can enable ssh by default. this is handy for a headless install. mount boot partition: $ sudo mount /dev/mmcblk0p1 /mnt create ssh file: $ sudo...

ssh config: include multiple files

less than 1 minute read

it is useful to split up the ssh config file. do as follows create config folder $ mkdir ~/.ssh/config.d create multiple config files in that folder (I grou...

sshd: secure config file

2 minute read

the ssh daemon is a entry point to many servers. it should be secured!! the following /etc/ssh/sshd_config is secure and very restrivtive: [code language="ba...

synology: ssh

2 minute read

the synology's nas boxes have their own will concerning ssh. enable ssh service: at first one needs to enable the ssh service within the web-gui (link: syno...

rsync backup script

1 minute read

everyone needs a rsync backup script at some point in their life ;)   this is the one i wrote in the last couple minutes/hours/days/years ... it syncs a loca...

raspi: change ssh login banner

less than 1 minute read

you need to edit the file: /etc/motd as well as the sshd config: /etc/ssh/sshd_config: Change the setting PrintLastLog to "no", this will disable the "Last l...

Back to Top ↑

firefox

Install Firefox Nightly binaries from Mozilla

less than 1 minute read

Installation process is similar to the one for Thunderbird Daily (see this blog post). differences: binary download link: # wget "https://download.mozilla.o...

Install firefox nightly on ubuntu/mint

less than 1 minute read

for the nightly builds of firefox do the following: just include the following ppa:$ sudo add-apt-repository ppa:ubuntu-mozilla-daily/ppa update and install...

firefox: beef up privacy

less than 1 minute read

change the user agent string: open: about:config add the following: right click -> new -> string: general.useragent.override input string (e.g., mos...

Back to Top ↑

CppCon

Talk: Expression templates

6 minute read

Talk: Expression Templates for Efficient, Generic Finance Code - Bowie Owens - CppCon 2019

Talk: std::chrono in finance

1 minute read

Talk: Using std::chrono Calendar Dates for Finance in Cpp - Daniel Hanson - CppCon 2022

Talk: Forwarding References

5 minute read

Talk: CppCon23: Back to Basics: Forwarding References - How to Forward Parameters in Modern C++ - Mateusz Pusz 2023

Back to Top ↑

mint

Mint: install current owncloud-client

less than 1 minute read

the version in mint's repos is out-dated and to install the new one, just add opensuse's repo for owncloud. check out this entry for ubuntu 16.04: https://so...

texlive install: minimal version

less than 1 minute read

I tried to install a smaller version of texlive on a linux mint system. the following packages are sufficient for my needs (math+science orientied): texlive ...

1 minute read

to enable automatic updates install: [code language="bash"] $ apt install unattended-upgrades [/code] check and uncomment in the config file as needed, well ...

turn num lock on at startup

less than 1 minute read

install numlockx and edit config: vim /etc/mdm/Init/Default if [ -x /usr/bin/numlockx ]; then /usr/bin/numlockx on fi source: http://unix.stackexchange.com/...

Back to Top ↑

backup

backups with rsnapshot

2 minute read

a centralized backup server can easily be set up with rsnapshot. This program can pull specified remote folders with rsync. install rsnapshot edit the confi...

rsync backup only over night

less than 1 minute read

it is kinda nice to have a rsync job running while the bandwidth is not needed otherwise. start a main script each night (using cron) the main script uses t...

rsync backup script

1 minute read

everyone needs a rsync backup script at some point in their life ;)   this is the one i wrote in the last couple minutes/hours/days/years ... it syncs a loca...

Back to Top ↑

nightly

Install Firefox Nightly binaries from Mozilla

less than 1 minute read

Installation process is similar to the one for Thunderbird Daily (see this blog post). differences: binary download link: # wget "https://download.mozilla.o...

Install Thunderbird Daily binaries from mozilla

2 minute read

Thunderbird Daily can be installed in most distros directly from their repos but more often than not it is outdated (they usually disable automatic updates)....

Install firefox nightly on ubuntu/mint

less than 1 minute read

for the nightly builds of firefox do the following: just include the following ppa:$ sudo add-apt-repository ppa:ubuntu-mozilla-daily/ppa update and install...

Back to Top ↑

mount

RPi: automount USB drives via fstab

less than 1 minute read

for mounting external usb drives one can use fstab. each column has its specific meaning (see here for definitions). for external usb drives it is important ...

raspi: mount usb drives on bootup

less than 1 minute read

to auto mount usb drives on bootup one can simply add some lines to the /etc/fstab file: UUID=e0a4c8da-67d1-423d-939c-4dc8249079f0 /mnt/small btrfs rw,defaul...

use encrypted folders

less than 1 minute read

mounting already encrypted folders: sudo mount -t ecryptfs <folder> <folder> -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptf...

Back to Top ↑

update

Mint: install and configure MATLAB

1 minute read

installation: installation download matlab iso files mount first cd run the installer (install.sh or similar) from within $HOME: $ cd $HOME; /path/to/cd1/i...

arch: pacman automatic download

less than 1 minute read

This little post explains how to enable download for packages of pacman. It uses a systemd service. Create the download service (note the option -w for just ...

1 minute read

to enable automatic updates install: [code language="bash"] $ apt install unattended-upgrades [/code] check and uncomment in the config file as needed, well ...

Back to Top ↑

virtualbox

install virtualbox on mint/ubuntu/debian

less than 1 minute read

the most current virtualbox version is available from the official virtualbox repository. to activate it follow this guide: virtualbox.com

virtualbox:not booting (grub)

less than 1 minute read

I recently installed a unix system with virtualbox and after reboot it woudnt start at all - no output.. I started a live cd and reinstalled grub. worked lik...

virtualbox mount shared

less than 1 minute read

to mount a shared folder, I had to mount it by cmdline: sudo mount -t vboxsf share ~/host

Back to Top ↑

arch

Manjaro: Newest Kernel not booted automatically

2 minute read

Problem: You installed a new kernel in Manjaro either via GUI tool or via the commandline tool mhwd-kernel. After a restart it usually is selected by defaul...

arch: disable linux error beep

less than 1 minute read

this beep comes up in terminals and for each error in matlab. just annoying.... fix this by disabling the right kernel module. append to /etc/modprobe.d/b...

arch: pacman automatic download

less than 1 minute read

This little post explains how to enable download for packages of pacman. It uses a systemd service. Create the download service (note the option -w for just ...

Back to Top ↑

time

time syncronization: ntp via systemd

less than 1 minute read

enabling time synchronization via systemd the following is needed check time before $ timedatectl status enabling ntp $ timedatectl set-ntp true check syste...

rsync backup only over night

less than 1 minute read

it is kinda nice to have a rsync job running while the bandwidth is not needed otherwise. start a main script each night (using cron) the main script uses t...

raspi: time via ntp

less than 1 minute read

the ntpserver is just a waist of memory for a raspi and its enough to synchro the time every couple hours. follow this: right time zone: [code]$ sudo dpkg-r...

Back to Top ↑

rsync

backups with rsnapshot

2 minute read

a centralized backup server can easily be set up with rsnapshot. This program can pull specified remote folders with rsync. install rsnapshot edit the confi...

rsync backup only over night

less than 1 minute read

it is kinda nice to have a rsync job running while the bandwidth is not needed otherwise. start a main script each night (using cron) the main script uses t...

rsync backup script

1 minute read

everyone needs a rsync backup script at some point in their life ;)   this is the one i wrote in the last couple minutes/hours/days/years ... it syncs a loca...

Back to Top ↑

owncloud

Mint: install current owncloud-client

less than 1 minute read

the version in mint's repos is out-dated and to install the new one, just add opensuse's repo for owncloud. check out this entry for ubuntu 16.04: https://so...

raspi: install/configure owncloud

less than 1 minute read

installation process as in this link. just change one step: download the newest owncloud client from their website. to reset the admin password: sudo -u www-...

SL7: install owncloud-client

less than 1 minute read

the install process for owncloud-client within scientific linux 7.x is quite easy (do as root): [code language="bash"] $ cd /etc/yum.repos.d/ $ wget http://d...

Back to Top ↑

SL

SL7: enable EPEL repos

less than 1 minute read

there is a vast repo for packages not (officially?) maintainted by redhat. to enable this repo (called EPEL) the following steps are needed: get and install...

SL7: fastest mirrors

less than 1 minute read

to enable the automatic checking for fastest mirrors within yum install the following plugin: $ sudo yum install yum-plugin-fastestmirror check that plugins ...

SL7: install owncloud-client

less than 1 minute read

the install process for owncloud-client within scientific linux 7.x is quite easy (do as root): [code language="bash"] $ cd /etc/yum.repos.d/ $ wget http://d...

Back to Top ↑

printer

Epson Printer ET-2750 stuck in bootup

1 minute read

Problem The Epson printer is stuck while booting up and shows the message "Set Jig". This can happen for a variety of reasons, mostly because a firmwar...

Unclog printer head

1 minute read

Problem Inkjet printers, such as Epson ET-2750, dry out quite regular. This results in a clogged printer head which shows as artificats in print outs, e.g...

Regular printing for ink-jet printers

2 minute read

Ink-jet printers might dry out if they don't print in regular intervals. The intervals depend on multiple factors, e.g. room temperature, ink quality. Some ...

Back to Top ↑

concept

C++ CRTP vs concepts

1 minute read

CRTP is infamous for its complexity. You can use C++20 concepts to reimplement the feature.

Back to Top ↑

password

wordlists: most common words

less than 1 minute read

for password attacks one needs good password lists. the following are quite nice: in kali: /usr/share/wordlists lots of different lists, mostly aquired from...

Back to Top ↑

pdf

pdfs zusammenfuegen

1 minute read

zuerst schaue ob das programm pdfunite installiert ist oeffne terminal fuehre folgenden befehl aus $ pdfunite -v wenn das programm nicht installiert ist k...

pdf editing

less than 1 minute read

install the following program: pdftk simple cutting: pdftk myDocument.pdf cat 1-9 26-end output removedPages.pdf cutting multiple files: pdftk A=one.pdf B=t...

Back to Top ↑

picture

exiftool: renaming pictures

less than 1 minute read

rename pictures according to their exifdata time stemp: [code] exiftool "-FileName<CreateDate" -d "%Y%m%d_%H%M%S_%%c.%%e" . [/code] ...

python image library

less than 1 minute read

for editing pictures with python from PIL import Image im = Image.open("foo.png") pix = im.load() pix[x,y] = value im.show() im.save("new.jpg") source: http...

Back to Top ↑

gui

Linux: Add menu entry to desktop environment

less than 1 minute read

One can add custom entries to the program list in graphical desktop environments such as XFCE. You can either right-click on the menu or add a “.desktop” fil...

turn num lock on at startup

less than 1 minute read

install numlockx and edit config: vim /etc/mdm/Init/Default if [ -x /usr/bin/numlockx ]; then /usr/bin/numlockx on fi source: http://unix.stackexchange.com/...

Back to Top ↑

latex

texlive install: minimal version

less than 1 minute read

I tried to install a smaller version of texlive on a linux mint system. the following packages are sufficient for my needs (math+science orientied): texlive ...

Back to Top ↑

cmd

arch: pacman automatic download

less than 1 minute read

This little post explains how to enable download for packages of pacman. It uses a systemd service. Create the download service (note the option -w for just ...

virtualbox mount shared

less than 1 minute read

to mount a shared folder, I had to mount it by cmdline: sudo mount -t vboxsf share ~/host

Back to Top ↑

ntp

time syncronization: ntp via systemd

less than 1 minute read

enabling time synchronization via systemd the following is needed check time before $ timedatectl status enabling ntp $ timedatectl set-ntp true check syste...

raspi: time via ntp

less than 1 minute read

the ntpserver is just a waist of memory for a raspi and its enough to synchro the time every couple hours. follow this: right time zone: [code]$ sudo dpkg-r...

Back to Top ↑

grub

Manjaro: Newest Kernel not booted automatically

2 minute read

Problem: You installed a new kernel in Manjaro either via GUI tool or via the commandline tool mhwd-kernel. After a restart it usually is selected by defaul...

virtualbox:not booting (grub)

less than 1 minute read

I recently installed a unix system with virtualbox and after reboot it woudnt start at all - no output.. I started a live cd and reinstalled grub. worked lik...

Back to Top ↑

terminal

terminator: useful multi-window terminal emulator

less than 1 minute read

one can set terminator up to start with pre-defined layout and terminals. important distinction: layout defines where and how a window should be setup and a...

dtrx: extract multiple formats

less than 1 minute read

there is a handy tool to extract archives of almost any kind. it goes by the name of .... dtrx!!! checkout the links: dtrx homepage tecmint.com

Back to Top ↑

gitignore

git: find out which files are ignored and why

less than 1 minute read

i had a very large global ignore list (tex/vim/linux/python specific stuff) and in this one repo git didnt add one specific folder. as it turned out the glob...

git ignore files (especially global)

less than 1 minute read

one can create gitignore files for specific repos and also globally. github offers gitignore templates for lots of different things: frameworks, languages, e...

Back to Top ↑

bootup

raspi: mount usb drives on bootup

less than 1 minute read

to auto mount usb drives on bootup one can simply add some lines to the /etc/fstab file: UUID=e0a4c8da-67d1-423d-939c-4dc8249079f0 /mnt/small btrfs rw,defaul...

raspi: install torrent server

less than 1 minute read

the raspberry pi is a perfect device for a 24/7 torrent server. one can install the torrent server: deluge. i followed this guide (howtogeek.com) to install ...

Back to Top ↑

synology

Synology: SEC_ERROR_REVOKED_CERTIFICATE

less than 1 minute read

updating your synology to DSM6.2.2 will lead to a certificate error. it cannot renew the letsencrypt certificate anymore. current workaround: pre: ports 80,...

synology: ssh

2 minute read

the synology's nas boxes have their own will concerning ssh. enable ssh service: at first one needs to enable the ssh service within the web-gui (link: syno...

Back to Top ↑

key

SL7: enable EPEL repos

less than 1 minute read

there is a vast repo for packages not (officially?) maintainted by redhat. to enable this repo (called EPEL) the following steps are needed: get and install...

Back to Top ↑

fstab

RPi: automount USB drives via fstab

less than 1 minute read

for mounting external usb drives one can use fstab. each column has its specific meaning (see here for definitions). for external usb drives it is important ...

raspi: mount usb drives on bootup

less than 1 minute read

to auto mount usb drives on bootup one can simply add some lines to the /etc/fstab file: UUID=e0a4c8da-67d1-423d-939c-4dc8249079f0 /mnt/small btrfs rw,defaul...

Back to Top ↑

usb

RPi: automount USB drives via fstab

less than 1 minute read

for mounting external usb drives one can use fstab. each column has its specific meaning (see here for definitions). for external usb drives it is important ...

raspi: mount usb drives on bootup

less than 1 minute read

to auto mount usb drives on bootup one can simply add some lines to the /etc/fstab file: UUID=e0a4c8da-67d1-423d-939c-4dc8249079f0 /mnt/small btrfs rw,defaul...

Back to Top ↑

desktop

Linux: Add menu entry to desktop environment

less than 1 minute read

One can add custom entries to the program list in graphical desktop environments such as XFCE. You can either right-click on the menu or add a “.desktop” fil...

Mint: install and configure MATLAB

1 minute read

installation: installation download matlab iso files mount first cd run the installer (install.sh or similar) from within $HOME: $ cd $HOME; /path/to/cd1/i...

Back to Top ↑

matlab

arch+matlab: setup opengl rendering

less than 1 minute read

hardware accelerated rendering needs enabling. check out the arch-wiki page. i needed to install the intel graphics driver. explained here. to set the openg...

Mint: install and configure MATLAB

1 minute read

installation: installation download matlab iso files mount first cd run the installer (install.sh or similar) from within $HOME: $ cd $HOME; /path/to/cd1/i...

Back to Top ↑

ppa

Ubuntu/Mint/Debian: Install current TeXstudio

less than 1 minute read

one can include the ppa from opensuse for the most current texstudio version: add the ppa's key to your keychain: $ wget -nv http://download.opensuse.org/re...

Install firefox nightly on ubuntu/mint

less than 1 minute read

for the nightly builds of firefox do the following: just include the following ppa:$ sudo add-apt-repository ppa:ubuntu-mozilla-daily/ppa update and install...

Back to Top ↑

bin

Install Firefox Nightly binaries from Mozilla

less than 1 minute read

Installation process is similar to the one for Thunderbird Daily (see this blog post). differences: binary download link: # wget "https://download.mozilla.o...

Install Thunderbird Daily binaries from mozilla

2 minute read

Thunderbird Daily can be installed in most distros directly from their repos but more often than not it is outdated (they usually disable automatic updates)....

Back to Top ↑

thunderbird

thunderbird: export message filters

less than 1 minute read

one can export/import/backup the message filters but it's more involved than it should be. the message filters are in single files within your home directory...

Install Thunderbird Daily binaries from mozilla

2 minute read

Thunderbird Daily can be installed in most distros directly from their repos but more often than not it is outdated (they usually disable automatic updates)....

Back to Top ↑

numbering

Latex: change numbering style of figures/tables

less than 1 minute read

put this in your preamble [code language="latex"] % figures/tables should be labeled: 1,2,3,4,... \renewcommand{\thefigure}{\arabic{figure}} \renewcommand{\t...

Back to Top ↑

kernel

Manjaro: Newest Kernel not booted automatically

2 minute read

Problem: You installed a new kernel in Manjaro either via GUI tool or via the commandline tool mhwd-kernel. After a restart it usually is selected by defaul...

arch: disable linux error beep

less than 1 minute read

this beep comes up in terminals and for each error in matlab. just annoying.... fix this by disabling the right kernel module. append to /etc/modprobe.d/b...

Back to Top ↑

epson

Epson Printer ET-2750 stuck in bootup

1 minute read

Problem The Epson printer is stuck while booting up and shows the message "Set Jig". This can happen for a variety of reasons, mostly because a firmwar...

Unclog printer head

1 minute read

Problem Inkjet printers, such as Epson ET-2750, dry out quite regular. This results in a clogged printer head which shows as artificats in print outs, e.g...

Back to Top ↑

clang

Talk: libclang tutorial

1 minute read

https://youtu.be/VqCkCDFLSsc Tutorial video about using libclang. ~30min from 2013. LibclangLibrary to access clang's AST for source code. Contains ...

fast linker: mold

less than 1 minute read

Install mold on your linux box. Enable mold for gcc/clang by supplying -fuse-ld=mold, e.g. clang -fuse-ld=mold a.cpp Enable in CMake by supplying argu...

Back to Top ↑

linker

fast linker: mold

less than 1 minute read

Install mold on your linux box. Enable mold for gcc/clang by supplying -fuse-ld=mold, e.g. clang -fuse-ld=mold a.cpp Enable in CMake by supplying argu...

Back to Top ↑

modules

Turbo Introduction of C++20 modules

2 minute read

Old school libraries use splitting into hpp/cpp files. Mayor drawbacks: leaking of macros (hpp can be different at library's consumer side than at library p...

Back to Top ↑

manjaro

Manjaro’s pamac in dark mode

less than 1 minute read

Manjaro’s pamac (gui alternative to pacman) does not adhere to the global theme set via the “Appearance” menu. You additionally need to set the GTK_THEME var...

Manjaro: Newest Kernel not booted automatically

2 minute read

Problem: You installed a new kernel in Manjaro either via GUI tool or via the commandline tool mhwd-kernel. After a restart it usually is selected by defaul...

Back to Top ↑

talk

Talk: libclang tutorial

1 minute read

https://youtu.be/VqCkCDFLSsc Tutorial video about using libclang. ~30min from 2013. LibclangLibrary to access clang's AST for source code. Contains ...

Back to Top ↑

CppNow

Back to Top ↑

generic programming

Talk: Forwarding References

5 minute read

Talk: CppCon23: Back to Basics: Forwarding References - How to Forward Parameters in Modern C++ - Mateusz Pusz 2023

Back to Top ↑

SFINAE

Back to Top ↑

library

python image library

less than 1 minute read

for editing pictures with python from PIL import Image im = Image.open("foo.png") pix = im.load() pix[x,y] = value im.show() im.save("new.jpg") source: http...

Back to Top ↑

auto

1 minute read

to enable automatic updates install: [code language="bash"] $ apt install unattended-upgrades [/code] check and uncomment in the config file as needed, well ...

Back to Top ↑

unattended

1 minute read

to enable automatic updates install: [code language="bash"] $ apt install unattended-upgrades [/code] check and uncomment in the config file as needed, well ...

Back to Top ↑

upgrade

1 minute read

to enable automatic updates install: [code language="bash"] $ apt install unattended-upgrades [/code] check and uncomment in the config file as needed, well ...

Back to Top ↑

share

virtualbox mount shared

less than 1 minute read

to mount a shared folder, I had to mount it by cmdline: sudo mount -t vboxsf share ~/host

Back to Top ↑

beta

Back to Top ↑

pinning

Back to Top ↑

program

Install Tipp10 under debian-based distros

less than 1 minute read

Install the 10-finger practice-typing program "Tipp10". It features addaptive lessons concerning indiviual typing errors, and much more.. install 32-bit lib...

Back to Top ↑

tipp10

Install Tipp10 under debian-based distros

less than 1 minute read

Install the 10-finger practice-typing program "Tipp10". It features addaptive lessons concerning indiviual typing errors, and much more.. install 32-bit lib...

Back to Top ↑

typing

Install Tipp10 under debian-based distros

less than 1 minute read

Install the 10-finger practice-typing program "Tipp10". It features addaptive lessons concerning indiviual typing errors, and much more.. install 32-bit lib...

Back to Top ↑

prompt

edit zsh prompt

1 minute read

append to .zshrc in home folder to import file: $ vim ~/.zshrc ... source .zshrc-prompt create .zshrc-prompt in home dir: [code language="bash" collapse="t...

Back to Top ↑

zsh

edit zsh prompt

1 minute read

append to .zshrc in home folder to import file: $ vim ~/.zshrc ... source .zshrc-prompt create .zshrc-prompt in home dir: [code language="bash" collapse="t...

Back to Top ↑

vim config

vimrc

2 minute read

this is a little vimrc that is just about right for small purposes.. (edit the file ~/.vimrc for user specific changes and /etc/vimrc?? for systemwide config...

Back to Top ↑

mmcli

use mmcli for sending SMS

1 minute read

I use an UMTS modem with my raspberry pi 1. the package mmcli is quite useful for handling the modem (e.g., sending SMS,..) list modems:[code language="bas...

Back to Top ↑

openssl

openssl for ssl certs

less than 1 minute read

openssl can work well with ssl certs. the following links explains the following points in detail: create private keys (domain.key) create certificate reque...

Back to Top ↑

ssl

openssl for ssl certs

less than 1 minute read

openssl can work well with ssl certs. the following links explains the following points in detail: create private keys (domain.key) create certificate reque...

Back to Top ↑

twos complement

it basics: types and number representation

1 minute read

types (int,long,..) often vary in size and therfore one uses standard types: qtypes_t where q is a qualifier, type is the base type, s is the width in bits a...

Back to Top ↑

types

it basics: types and number representation

1 minute read

types (int,long,..) often vary in size and therfore one uses standard types: qtypes_t where q is a qualifier, type is the base type, s is the width in bits a...

Back to Top ↑

lvmetad

virtualbox:not booting (grub)

less than 1 minute read

I recently installed a unix system with virtualbox and after reboot it woudnt start at all - no output.. I started a live cd and reinstalled grub. worked lik...

Back to Top ↑

cli

dtrx: extract multiple formats

less than 1 minute read

there is a handy tool to extract archives of almost any kind. it goes by the name of .... dtrx!!! checkout the links: dtrx homepage tecmint.com

Back to Top ↑

dtrx

dtrx: extract multiple formats

less than 1 minute read

there is a handy tool to extract archives of almost any kind. it goes by the name of .... dtrx!!! checkout the links: dtrx homepage tecmint.com

Back to Top ↑

extract

dtrx: extract multiple formats

less than 1 minute read

there is a handy tool to extract archives of almost any kind. it goes by the name of .... dtrx!!! checkout the links: dtrx homepage tecmint.com

Back to Top ↑

config

git config

less than 1 minute read

edit the file: $HOME/.gitconfig [code language="bash"] [alias] co = checkout ci = commit st = status br = branch hist = log --pretty=format:\"%h %ad | %...

Back to Top ↑

deluge

raspi: install torrent server

less than 1 minute read

the raspberry pi is a perfect device for a 24/7 torrent server. one can install the torrent server: deluge. i followed this guide (howtogeek.com) to install ...

Back to Top ↑

start

raspi: install torrent server

less than 1 minute read

the raspberry pi is a perfect device for a 24/7 torrent server. one can install the torrent server: deluge. i followed this guide (howtogeek.com) to install ...

Back to Top ↑

torrent

raspi: install torrent server

less than 1 minute read

the raspberry pi is a perfect device for a 24/7 torrent server. one can install the torrent server: deluge. i followed this guide (howtogeek.com) to install ...

Back to Top ↑

hdd

raspi: automatically spin external hdd down

1 minute read

the raspberry pi cannot spin external hard drives down. the program hdparm worked perfectly for me. i followed this guide (htpcguides.com). just some slight ...

Back to Top ↑

hdparm

raspi: automatically spin external hdd down

1 minute read

the raspberry pi cannot spin external hard drives down. the program hdparm worked perfectly for me. i followed this guide (htpcguides.com). just some slight ...

Back to Top ↑

spin down

raspi: automatically spin external hdd down

1 minute read

the raspberry pi cannot spin external hard drives down. the program hdparm worked perfectly for me. i followed this guide (htpcguides.com). just some slight ...

Back to Top ↑

monitoring

raspi: log network traffic (vnstat)

less than 1 minute read

to monitor the network traffic one can use the tool vnstat install vnstat setup database for interface: vnstat -u -i eth0 start/enable service usage: update...

Back to Top ↑

network

raspi: log network traffic (vnstat)

less than 1 minute read

to monitor the network traffic one can use the tool vnstat install vnstat setup database for interface: vnstat -u -i eth0 start/enable service usage: update...

Back to Top ↑

vnstat

raspi: log network traffic (vnstat)

less than 1 minute read

to monitor the network traffic one can use the tool vnstat install vnstat setup database for interface: vnstat -u -i eth0 start/enable service usage: update...

Back to Top ↑

privacy

firefox: beef up privacy

less than 1 minute read

change the user agent string: open: about:config add the following: right click -> new -> string: general.useragent.override input string (e.g., mos...

Back to Top ↑

exiftool

exiftool: renaming pictures

less than 1 minute read

rename pictures according to their exifdata time stemp: [code] exiftool "-FileName<CreateDate" -d "%Y%m%d_%H%M%S_%%c.%%e" . [/code] ...

Back to Top ↑

renaming

exiftool: renaming pictures

less than 1 minute read

rename pictures according to their exifdata time stemp: [code] exiftool "-FileName<CreateDate" -d "%Y%m%d_%H%M%S_%%c.%%e" . [/code] ...

Back to Top ↑

interval

rsync backup only over night

less than 1 minute read

it is kinda nice to have a rsync job running while the bandwidth is not needed otherwise. start a main script each night (using cron) the main script uses t...

Back to Top ↑

over night

rsync backup only over night

less than 1 minute read

it is kinda nice to have a rsync job running while the bandwidth is not needed otherwise. start a main script each night (using cron) the main script uses t...

Back to Top ↑

timeout

rsync backup only over night

less than 1 minute read

it is kinda nice to have a rsync job running while the bandwidth is not needed otherwise. start a main script each night (using cron) the main script uses t...

Back to Top ↑

secure

sshd: secure config file

2 minute read

the ssh daemon is a entry point to many servers. it should be secured!! the following /etc/ssh/sshd_config is secure and very restrivtive: [code language="ba...

Back to Top ↑

sshd

sshd: secure config file

2 minute read

the ssh daemon is a entry point to many servers. it should be secured!! the following /etc/ssh/sshd_config is secure and very restrivtive: [code language="ba...

Back to Top ↑

sshd_config

sshd: secure config file

2 minute read

the ssh daemon is a entry point to many servers. it should be secured!! the following /etc/ssh/sshd_config is secure and very restrivtive: [code language="ba...

Back to Top ↑

github

wordlists: most common words

less than 1 minute read

for password attacks one needs good password lists. the following are quite nice: in kali: /usr/share/wordlists lots of different lists, mostly aquired from...

Back to Top ↑

kali

wordlists: most common words

less than 1 minute read

for password attacks one needs good password lists. the following are quite nice: in kali: /usr/share/wordlists lots of different lists, mostly aquired from...

Back to Top ↑

wordlist

wordlists: most common words

less than 1 minute read

for password attacks one needs good password lists. the following are quite nice: in kali: /usr/share/wordlists lots of different lists, mostly aquired from...

Back to Top ↑

wordlists

wordlists: most common words

less than 1 minute read

for password attacks one needs good password lists. the following are quite nice: in kali: /usr/share/wordlists lots of different lists, mostly aquired from...

Back to Top ↑

SL7

SL7: install owncloud-client

less than 1 minute read

the install process for owncloud-client within scientific linux 7.x is quite easy (do as root): [code language="bash"] $ cd /etc/yum.repos.d/ $ wget http://d...

Back to Top ↑

fast

SL7: fastest mirrors

less than 1 minute read

to enable the automatic checking for fastest mirrors within yum install the following plugin: $ sudo yum install yum-plugin-fastestmirror check that plugins ...

Back to Top ↑

mirror

SL7: fastest mirrors

less than 1 minute read

to enable the automatic checking for fastest mirrors within yum install the following plugin: $ sudo yum install yum-plugin-fastestmirror check that plugins ...

Back to Top ↑

yum

SL7: fastest mirrors

less than 1 minute read

to enable the automatic checking for fastest mirrors within yum install the following plugin: $ sudo yum install yum-plugin-fastestmirror check that plugins ...

Back to Top ↑

EPEL

SL7: enable EPEL repos

less than 1 minute read

there is a vast repo for packages not (officially?) maintainted by redhat. to enable this repo (called EPEL) the following steps are needed: get and install...

Back to Top ↑

gpg

SL7: enable EPEL repos

less than 1 minute read

there is a vast repo for packages not (officially?) maintainted by redhat. to enable this repo (called EPEL) the following steps are needed: get and install...

Back to Top ↑

hostname

raspi: change hostname

less than 1 minute read

do the following: sudo vim /etc/hosts change last line: 127.0.1.1 XYZ where XYZ should be the new name you want sudo vim /etc/hostname replace the name ...

Back to Top ↑

install

Mint: install and configure MATLAB

1 minute read

installation: installation download matlab iso files mount first cd run the installer (install.sh or similar) from within $HOME: $ cd $HOME; /path/to/cd1/i...

Back to Top ↑

startup

Mint: install and configure MATLAB

1 minute read

installation: installation download matlab iso files mount first cd run the installer (install.sh or similar) from within $HOME: $ cd $HOME; /path/to/cd1/i...

Back to Top ↑

ddclient

raspi: dyndns via ddclient

less than 1 minute read

to get dyndns on raspi install: ddclient setup config file: /etc/ddclient.conf example for strato server: link setup second config file (/etc/default/ddclien...

Back to Top ↑

dyndns

raspi: dyndns via ddclient

less than 1 minute read

to get dyndns on raspi install: ddclient setup config file: /etc/ddclient.conf example for strato server: link setup second config file (/etc/default/ddclien...

Back to Top ↑

password reset

raspi: install/configure owncloud

less than 1 minute read

installation process as in this link. just change one step: download the newest owncloud client from their website. to reset the admin password: sudo -u www-...

Back to Top ↑

apt

Mint: install current owncloud-client

less than 1 minute read

the version in mint's repos is out-dated and to install the new one, just add opensuse's repo for owncloud. check out this entry for ubuntu 16.04: https://so...

Back to Top ↑

client

Mint: install current owncloud-client

less than 1 minute read

the version in mint's repos is out-dated and to install the new one, just add opensuse's repo for owncloud. check out this entry for ubuntu 16.04: https://so...

Back to Top ↑

repo

Mint: install current owncloud-client

less than 1 minute read

the version in mint's repos is out-dated and to install the new one, just add opensuse's repo for owncloud. check out this entry for ubuntu 16.04: https://so...

Back to Top ↑

texstudio

Ubuntu/Mint/Debian: Install current TeXstudio

less than 1 minute read

one can include the ppa from opensuse for the most current texstudio version: add the ppa's key to your keychain: $ wget -nv http://download.opensuse.org/re...

Back to Top ↑

bkup

backups with rsnapshot

2 minute read

a centralized backup server can easily be set up with rsnapshot. This program can pull specified remote folders with rsync. install rsnapshot edit the confi...

Back to Top ↑

rsnapshot

backups with rsnapshot

2 minute read

a centralized backup server can easily be set up with rsnapshot. This program can pull specified remote folders with rsync. install rsnapshot edit the confi...

Back to Top ↑

daily

Install Thunderbird Daily binaries from mozilla

2 minute read

Thunderbird Daily can be installed in most distros directly from their repos but more often than not it is outdated (they usually disable automatic updates)....

Back to Top ↑

mozilla

Install Firefox Nightly binaries from Mozilla

less than 1 minute read

Installation process is similar to the one for Thunderbird Daily (see this blog post). differences: binary download link: # wget "https://download.mozilla.o...

Back to Top ↑

ecosia

Back to Top ↑

ff

Back to Top ↑

opensearch

Back to Top ↑

beamer

Latex+beamer: dual screen presentation

1 minute read

you can include notes into your slides. just use \note{txt} inside of your frame environment. you can also make use of overlays and align all notes in itemiz...

Back to Top ↑

dual screen

Latex+beamer: dual screen presentation

1 minute read

you can include notes into your slides. just use \note{txt} inside of your frame environment. you can also make use of overlays and align all notes in itemiz...

Back to Top ↑

note

Latex+beamer: dual screen presentation

1 minute read

you can include notes into your slides. just use \note{txt} inside of your frame environment. you can also make use of overlays and align all notes in itemiz...

Back to Top ↑

pdfpc

Latex+beamer: dual screen presentation

1 minute read

you can include notes into your slides. just use \note{txt} inside of your frame environment. you can also make use of overlays and align all notes in itemiz...

Back to Top ↑

message filters

thunderbird: export message filters

less than 1 minute read

one can export/import/backup the message filters but it's more involved than it should be. the message filters are in single files within your home directory...

Back to Top ↑

beep

arch: disable linux error beep

less than 1 minute read

this beep comes up in terminals and for each error in matlab. just annoying.... fix this by disabling the right kernel module. append to /etc/modprobe.d/b...

Back to Top ↑

module

arch: disable linux error beep

less than 1 minute read

this beep comes up in terminals and for each error in matlab. just annoying.... fix this by disabling the right kernel module. append to /etc/modprobe.d/b...

Back to Top ↑

multiple files

ssh config: include multiple files

less than 1 minute read

it is useful to split up the ssh config file. do as follows create config folder $ mkdir ~/.ssh/config.d create multiple config files in that folder (I grou...

Back to Top ↑

ssh_config

ssh config: include multiple files

less than 1 minute read

it is useful to split up the ssh config file. do as follows create config folder $ mkdir ~/.ssh/config.d create multiple config files in that folder (I grou...

Back to Top ↑

command

Arch: find package for specific command

less than 1 minute read

The problem is: How do you find the package for a given command? Two solutions are presented. Use the program pkgfile. Use pacman. Update database: $ sudo...

Back to Top ↑

find

Arch: find package for specific command

less than 1 minute read

The problem is: How do you find the package for a given command? Two solutions are presented. Use the program pkgfile. Use pacman. Update database: $ sudo...

Back to Top ↑

package

Arch: find package for specific command

less than 1 minute read

The problem is: How do you find the package for a given command? Two solutions are presented. Use the program pkgfile. Use pacman. Update database: $ sudo...

Back to Top ↑

pacman

Arch: find package for specific command

less than 1 minute read

The problem is: How do you find the package for a given command? Two solutions are presented. Use the program pkgfile. Use pacman. Update database: $ sudo...

Back to Top ↑

pkgfile

Arch: find package for specific command

less than 1 minute read

The problem is: How do you find the package for a given command? Two solutions are presented. Use the program pkgfile. Use pacman. Update database: $ sudo...

Back to Top ↑

certificate

Synology: SEC_ERROR_REVOKED_CERTIFICATE

less than 1 minute read

updating your synology to DSM6.2.2 will lead to a certificate error. it cannot renew the letsencrypt certificate anymore. current workaround: pre: ports 80,...

Back to Top ↑

tags

Update local git clone: new TAGS

less than 1 minute read

When you have a local clone of a remote repository and want to update it: pulling will not get all the new tags... run the following [code language="bash" co...

Back to Top ↑

internet

Back to Top ↑

spotify

Back to Top ↑

unshare

Back to Top ↑

raspbian

raspbian: enable ssh for headless install

less than 1 minute read

raspbian OS can enable ssh by default. this is handy for a headless install. mount boot partition: $ sudo mount /dev/mmcblk0p1 /mnt create ssh file: $ sudo...

Back to Top ↑

encrypted

Resize encrypted LUKS volume

less than 1 minute read

A default encrypted installation of standard distributions (manjaro, fedora, etc.) create LVM-LUKS volumes. The process of resizing is easy. start live-cd s...

Back to Top ↑

luks

Resize encrypted LUKS volume

less than 1 minute read

A default encrypted installation of standard distributions (manjaro, fedora, etc.) create LVM-LUKS volumes. The process of resizing is easy. start live-cd s...

Back to Top ↑

resizing

Resize encrypted LUKS volume

less than 1 minute read

A default encrypted installation of standard distributions (manjaro, fedora, etc.) create LVM-LUKS volumes. The process of resizing is easy. start live-cd s...

Back to Top ↑

systemd

time syncronization: ntp via systemd

less than 1 minute read

enabling time synchronization via systemd the following is needed check time before $ timedatectl status enabling ntp $ timedatectl set-ntp true check syste...

Back to Top ↑

edit

pdfs zusammenfuegen

1 minute read

zuerst schaue ob das programm pdfunite installiert ist oeffne terminal fuehre folgenden befehl aus $ pdfunite -v wenn das programm nicht installiert ist k...

Back to Top ↑

unite

pdfs zusammenfuegen

1 minute read

zuerst schaue ob das programm pdfunite installiert ist oeffne terminal fuehre folgenden befehl aus $ pdfunite -v wenn das programm nicht installiert ist k...

Back to Top ↑

tmux

tmux: session initialization

2 minute read

use case: you need to connect to multiple hosts at once and leave the connections active even as you log out from the entry node. network layout: remote m...

Back to Top ↑

borg

Back to Top ↑

error

Back to Top ↑

lock

Back to Top ↑

i3

i3: Map application to workspace

less than 1 minute read

When using i3: Applications can be moved automatically to specific workspaces at start of the app. Do the following: Start the app Run in a terminal xpro...

Back to Top ↑

map

i3: Map application to workspace

less than 1 minute read

When using i3: Applications can be moved automatically to specific workspaces at start of the app. Do the following: Start the app Run in a terminal xpro...

Back to Top ↑

workspace

i3: Map application to workspace

less than 1 minute read

When using i3: Applications can be moved automatically to specific workspaces at start of the app. Do the following: Start the app Run in a terminal xpro...

Back to Top ↑

cron

Regular printing for ink-jet printers

2 minute read

Ink-jet printers might dry out if they don't print in regular intervals. The intervals depend on multiple factors, e.g. room temperature, ink quality. Some ...

Back to Top ↑

cups

Regular printing for ink-jet printers

2 minute read

Ink-jet printers might dry out if they don't print in regular intervals. The intervals depend on multiple factors, e.g. room temperature, ink quality. Some ...

Back to Top ↑

cleaning

Unclog printer head

1 minute read

Problem Inkjet printers, such as Epson ET-2750, dry out quite regular. This results in a clogged printer head which shows as artificats in print outs, e.g...

Back to Top ↑

et-2750

Epson Printer ET-2750 stuck in bootup

1 minute read

Problem The Epson printer is stuck while booting up and shows the message "Set Jig". This can happen for a variety of reasons, mostly because a firmwar...

Back to Top ↑

set jig

Epson Printer ET-2750 stuck in bootup

1 minute read

Problem The Epson printer is stuck while booting up and shows the message "Set Jig". This can happen for a variety of reasons, mostly because a firmwar...

Back to Top ↑

mail

git: change name/email of commits

2 minute read

Use case: local commits contain personalized information, i.e. your personal email address, and you want to get rid of them.

Back to Top ↑

gcc

fast linker: mold

less than 1 minute read

Install mold on your linux box. Enable mold for gcc/clang by supplying -fuse-ld=mold, e.g. clang -fuse-ld=mold a.cpp Enable in CMake by supplying argu...

Back to Top ↑

mold

fast linker: mold

less than 1 minute read

Install mold on your linux box. Enable mold for gcc/clang by supplying -fuse-ld=mold, e.g. clang -fuse-ld=mold a.cpp Enable in CMake by supplying argu...

Back to Top ↑

terminator

terminator: useful multi-window terminal emulator

less than 1 minute read

one can set terminator up to start with pre-defined layout and terminals. important distinction: layout defines where and how a window should be setup and a...

Back to Top ↑

c++20

Turbo Introduction of C++20 modules

2 minute read

Old school libraries use splitting into hpp/cpp files. Mayor drawbacks: leaking of macros (hpp can be different at library's consumer side than at library p...

Back to Top ↑

gtest

CMake: Linking against system libraries

less than 1 minute read

Usecase: You want to make use of some system-wide installed library. Install the library using your linux package manager. Most installed libraries can be...

Back to Top ↑

linking

Back to Top ↑

windows

Back to Top ↑

libclang

Talk: libclang tutorial

1 minute read

https://youtu.be/VqCkCDFLSsc Tutorial video about using libclang. ~30min from 2013. LibclangLibrary to access clang's AST for source code. Contains ...

Back to Top ↑

ubuntu

Back to Top ↑

consteval

Back to Top ↑

constexpr

Back to Top ↑

c++26

C++: Placeholder _

1 minute read

C++ is on its way to get a placeholder variable _ similar to other languages, e.g., Python, rust.

Back to Top ↑

placeholder

C++: Placeholder _

1 minute read

C++ is on its way to get a placeholder variable _ similar to other languages, e.g., Python, rust.

Back to Top ↑

c++11

C++: in-class-initializer

less than 1 minute read

C++ is infamous for its extremely complex initialization. Since C++11 one can initialize class members directly at point of declaration. The official name is...

Back to Top ↑

initialization

C++: in-class-initializer

less than 1 minute read

C++ is infamous for its extremely complex initialization. Since C++11 one can initialize class members directly at point of declaration. The official name is...

Back to Top ↑

template

Back to Top ↑

trait

Back to Top ↑

ellipses

Back to Top ↑

variadic template

Back to Top ↑

parameter pack

Back to Top ↑

fold expression

Back to Top ↑

dark mode

Manjaro’s pamac in dark mode

less than 1 minute read

Manjaro’s pamac (gui alternative to pacman) does not adhere to the global theme set via the “Appearance” menu. You additionally need to set the GTK_THEME var...

Back to Top ↑

forwarding reference

Talk: Forwarding References

5 minute read

Talk: CppCon23: Back to Basics: Forwarding References - How to Forward Parameters in Modern C++ - Mateusz Pusz 2023

Back to Top ↑

perfect forwarding

Talk: Forwarding References

5 minute read

Talk: CppCon23: Back to Basics: Forwarding References - How to Forward Parameters in Modern C++ - Mateusz Pusz 2023

Back to Top ↑

perfect returning

Talk: Forwarding References

5 minute read

Talk: CppCon23: Back to Basics: Forwarding References - How to Forward Parameters in Modern C++ - Mateusz Pusz 2023

Back to Top ↑

chrono

Talk: std::chrono in finance

1 minute read

Talk: Using std::chrono Calendar Dates for Finance in Cpp - Daniel Hanson - CppCon 2022

Back to Top ↑

expression template

Talk: Expression templates

6 minute read

Talk: Expression Templates for Efficient, Generic Finance Code - Bowie Owens - CppCon 2019

Back to Top ↑

sourcetrail

Source code visualization

1 minute read

Starting to work on a large code base usually involves reading lots of code and building up a mental structure of the code base. There are tools that can aid...

Back to Top ↑

tool

Source code visualization

1 minute read

Starting to work on a large code base usually involves reading lots of code and building up a mental structure of the code base. There are tools that can aid...

Back to Top ↑

template metaprogramming

Back to Top ↑

TMP

Back to Top ↑

CRTP

C++ CRTP vs concepts

1 minute read

CRTP is infamous for its complexity. You can use C++20 concepts to reimplement the feature.

Back to Top ↑

attribute

C++ Attributes

5 minute read

C++ code can contain attributes (e.g. [[deprecated]]). These serve different purposes, ranging from silencing compiler warnings to changing optimization stra...

Back to Top ↑

empty base optimization

C++ Attributes

5 minute read

C++ code can contain attributes (e.g. [[deprecated]]). These serve different purposes, ranging from silencing compiler warnings to changing optimization stra...

Back to Top ↑

low latency

Back to Top ↑

real time

Back to Top ↑

efficient programming

Back to Top ↑

CPU hazard

Back to Top ↑

lock-free

Back to Top ↑

wait-free

Back to Top ↑

vscode

VSCode freezes on XFCE

less than 1 minute read

VSCode might freeze on a freshly installed Manjaro running XFCE whenever one opens a folder containing a git repository.

Back to Top ↑

CMake

Back to Top ↑

C++20

Back to Top ↑

llvm

My first patch to libc++

3 minute read

I listened to an older cppcast episode and it mentioned that the C++17 mathematical special functions are not yet included in llvm’s standard library libc++....

Back to Top ↑

libc++

My first patch to libc++

3 minute read

I listened to an older cppcast episode and it mentioned that the C++17 mathematical special functions are not yet included in llvm’s standard library libc++....

Back to Top ↑