Mein persönlicher Spickzettel: so Zeugs, das ich immer wieder vergesse und nicht in die anderen Spickzettel passen…


Auch der Mac hat seinen Bildschirm-Sperrer:


oder Bildschirmschoner:


TimeMachine Snapshots local löschen:

[luna:~] rschumm% tmutil listlocalsnapshots /
[luna:~] rschumm% tmutil deletelocalsnapshots /

Unnötige Simulatoren löschen:

xcrun simctl delete unavailable

Extended Attributes



sqlite3 database.sqlite
sqlite> .dump
sqlite> .tables

Brew dependencies

brew list 
brew deps --tree --installed
brew info grafana
brew uses --installed openjdk

manually extract a .pgk Installer:

sometimes you have a .pkg installer, that does not much more than copy something to Applications - but wants your admin password. So, why not extract the interesting Part manually.
In this Example I extract a (simple) .pkg File, the wonderful JavaFX Scene Builder:

[luna:~/Downloads/an2] rschumm% xar -xf SceneBuilder-11.0.0.pkg 
[luna:~/Downloads/an2] rschumm% cd SceneBuilder-app.pkg/
[luna:~/Downloads/an2/SceneBuilder-app.pkg] rschumm% ls
Bom         PackageInfo Payload
[luna:~/Downloads/an2/SceneBuilder-app.pkg] rschumm% lsbom Bom 
(lists the «Bill of Materials») 
[luna:~/Downloads/an2/SceneBuilder-app.pkg] rschumm% tar xvf Payload 
(extracts the actual Payload)
[luna:~/Downloads/an2/SceneBuilder-app.pkg] rschumm% ls
Bom              PackageInfo      Payload          SceneBuilder.app
[luna:~/Downloads/an2/SceneBuilder-app.pkg] rschumm% mv  SceneBuilder.app/ ~/Desktop/
(moves the interesting Payload, here the Programm, to the Desktop or somewhere else)

This example first extracts the .pkg Archive, lists the «Bill of Materials» to see what’s planned, and then extracts the actual Payload, in this case the Application «SceneBuilder». (In this case, we can see this installer would do nothing harmfull and is by the way a very nice tool to make Java Guis…)


Beim Umstieg von iOS auf Android iMessage ausschalten. So kommen Nachrichten auch von iMessage-Users wieder an.

Design etc.

Bilder: Unsplash


echo 'deb https://dl.bintray.com/openhab/apt-repo2 stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt list | grep openhab

systemctl status openhab2.service 
sudo systemctl start openhab
sudo openhab-cli reset-ownership


Webserver Apache2

Apache Benchmarking Tool ab quick and dirty:

ab -k -c 30 -n 200 https://www.schumm.ch

Umleitungen etc:

Redirect /essen https://docs.google.com/document/d/1KpvxW5Pn5wtA_d7zTkBPHpS4r_dpPEFsTyfFCLy7o64
RedirectMatch .*/find/(.*)$ https://schufi.herokuapp.com/find/$1
RedirectMatch .*/find$ https://schufi.herokuapp.com/find
RedirectMatch .*/qr/(.*)$ https://schufi.herokuapp.com/qr/$1
#RedirectMatch 301 (.*)\.html$ http://www.domain.com$1.php
ErrorDocument 404 /error.html

Deployment auf Hostpoint

Hostpoint unterstützt Zugriff auf sftp mit ssh-Zertifikaten.

Deployment via rsync:

#(verbose, recursive, preserving dates and times, zip)
rsync -vrtz _site/* xxx@xxx.web.hostpoint.ch:~/www/public_html/schumm/

(host siehe Notizen)


👨‍🏫 bootstrap tricks
git remote -v
git remote remove origin
git remote add origin ssh.... / https... 

git push -u ... (--set-upstream)
git push --tags ... --all 
git remote set-url origin (new url...)

if local repo already existed with some commits: 
git pull --allow-unrelated-histories origin master

👨‍🏫 update from master:  
git fetch origin
git merge origin/master

git tag -a korr -m "korrigierte Abgabe" 2405
git push —tags
git fetch --tags -f

👨‍🏫 aufräumen branches: 
git branch -a
git fetch --prune
git branch --merged
git branch --no-merged some-branch
git branch -d branchname

👨‍🏫 aufräumen files: 
git clean -i -fdx

git clean -n
git clean -fd 
git reset --hard 

git rm -r --cached ... 
find **/.project -exec git rm --cached {} \; 

git log --graph

👨‍🏫 merge aufgeben: 
git merge --abort
git reset --hard 

👨‍🏫 config:  
git config --global user.email "blabla@schumm.ch"
git config --global user.name "Rémy Schumm" 
git config --list
git config --edit
git config core.filemode false 

Review-Prozess: siehe Blog.
Trick: Comparing Stuff on GitHub


git log --graph --full-history --all --color --pretty=format:'%x1b[33m%h%x09%C(blue)(%ar)%C(reset)%x09%x1b[32m%d%x1b[0m%x20%s%x20%C(dim white)-%x20%an%C(reset)'
git config --global alias.graphlog "log --graph --full-history --all --color   --pretty=format:'%x1b[33m%h%x09%C(blue)(%ar)%C(reset)%x09%x1b[32m%d%x1b[0m%x20%s%x20%C(dim white)-%x20%an%C(reset)'"

git graphlog

git and ssh

if a Student has trouble with git https auth. on Windows, let him/her switch to public-key-auth:

git remote -v 

generate keypair: 

get public key: 
cd ~/.ssh
cat id_rsa.pub 

copy paste this public key to github's keys. 
copy the repo's ssh-clone-url 

switch an already checked out repo to ssh-auth: 
git remote remove origin 
git remote add origin (paste)

or if it's a new repo: 
git clone (paste)

Individueller ssh Key für git siehe Linux - SSH



freeCAD runs in snap - the snap filesystem is read-only. To find out what is in the path, execute…

import sys
for p in sys.path: print(p)

…in the Python Console. To put something on the path, use the only path which is readable, hence the working directory, for example ifcopenshell. If then import ifcopenshell works, everything is fine.


Overview DB size:

ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024) AS `Size (MB)`


create new application:

dotnet new web 
dotnet build 
dotnet run 


after booting into a Linux, the Windows clock will be screwed up. To fix it, add following Registry:

DWORD (32 bit)
Value: 1 

zurück zum Seitenanfang