nocin.eu

Homelab, Linux, JS & ABAP (~˘▾˘)~
 

[ZFS] diff – what changed between ZFS snapshots

The diff command tells you what files were changed/added/deleted between snapshots.

#list snapshots of a dataset
zfs list -rt snapshot | grep zpool/dataset
zpool/dataset@zfs-auto-snap_monthly-2020-03-01-0552
zpool/dataset@zfs-auto-snap_monthly-2020-04-01-0552
...
#choose two snapshots and use the diff command
zfs diff -FH zpool/dataset@zfs-auto-snap_monthly-2020-03-01-0552 zpool/dataset@zfs-auto-snap_monthly-2020-04-01-0452

The diff command can also show the difference between a snapshot and a current dataset.

zfs diff -FH zpool/dataset@zfs-auto-snap_monthly-2020-03-01-0552 zpool/dataset

The first column indicates the type of change:

-       The path has been removed
+       The path has been created
M       The path has been modified
R       The path has been renamed

The second column indicates the file type, similar to ls. For further information have a look into the zfs man page.

[RaspberryPi] Forwarding USB Audio Input to HifiBerry AMP2

For music playback at home I have built my own Bluetooth Speaker. It’s a RaspberryPi 3, on top a HifiBerry AMP2, and they are powering two B&W DM601.
I have used this script to setup bluetooth and configure the audio settings.
Because bluetooth is the only way to pass audio to the raspberry (besides running music on the raspberry itself, e.g. via MPD/MPC), I was thinking of a way passing audio via chinch cable. I grabbed an old USB Soundcard I had laying around and connected it to the raspberry. Now I had to forward the USB Soundcard Audio Input to the HifiBerry AMP2. I found a way using PulseAudio for this. Got it from here.

#find input device (my USB Soundcard)
pactl list sources
#find output device (my HifiBerry AMP2)
pactl list sinks
#set loopback
pactl load-module module-loopback source=src_name sink=sink_name

But most USB Soundcards only have Mono-Audio-In and often there a annoying noises through the input… So this was really no joy and I will continue using bluetooth.

[HTPC] HDMI

HMDIHigh Definition Multimedia Interface
HDMI-ARCAudio Return Channel
HDMI-CECConsumer Electronics Control

Andere Bezeichungen bei Herstellern:
Philips -> EasyLink
LG -> Simplelink
Samsung -> Anynet+
Sony -> BRAVIA Sync

[ABAP] SE80 Shortcuts

Meine meist verwendeten Workbench Shortcuts:

Strg DZeile verdoppeln
Strg JIn Kommentaren -> 1 Buchstaben groß
Strg ISuchen abwärts (startet beim tippen)
Strg Shift ISuchen aufwärts (startet beim tippen)
Strg KText groß/klein switchen. Alternativ (Strg U für groß, Strg L für klein)
Strg Shift SCoding in Datei speichern
Strg Shift LGanze Zeile löschen
Strg Shift XGanze Zeile löschen und einrücken
Ctrl /Jump to the “command field” where we enter t-codes
Alt Shift PfeiltastenCoding Block markieren (alternativ Alt + Maus)

[SAPUI5] Formatting numbers

https://experience.sap.com/fiori-design-web/formatting-numbers/#usage
https://sapui5.netweaver.ondemand.com/sdk/#/topic/91f3145e6f4d1014b6dd926db0e91070
a few examples: https://github.com/brooklynb7/HTML5/blob/master/sapui5-dist-static/test-resources/sap/ca/ui/demokit/explored/views/type/number.view.xml

<ObjectListItem 
title="{income>Month}" 
number="{ model : 'income', path : 'Cost', type: 'sap.ui.model.type.Integer', formatOptions: {groupingEnabled: true} }"
numberUnit="EUR" />

[SAPUI5] Deploying the ui5 sample app on debian

I’m deploying the openui5-sample-app to a Linux Container running Debian Buster. First update the packages and install Node.js.

apt update && apt upgrade -y
apt install curl -y
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt install nodejs -y
nodejs --version

Install PM2 (process manager to manage Node.js applications) and the UI5 Tooling

npm install pm2 -g
npm install --global @ui5/cli

Now clone the openui5-sample-app and build it

apt install git
git clone https://github.com/SAP/openui5-sample-app.git
cd openui5-sample-app/
ui5 build -a
cd ..

Run your project on port 8000. With “startup” it will automatically create a systemd script.

pm2 serve openui5-sample-app/dist/ 8000
pm2 startup
pm2 save
systemctl start pm2-root
systemctl status pm2-root

[SAPUI5] local ui5 development

1. Install node.js

2. Install UI5 Tooling

npm install --global @ui5/cli

3. Install Easy UI5 Generator, create a project and run it on your localhost

npm install -g yo generator-easy-ui5
yo easy-ui5
cd <your project name> 
npm start

4. Set up a Github project and do your initial push

git add .
git commit -m "Initial commit"
git remote add origin https://github.com/user/myUI5App.git 
git push origin master

5. Install your favorite Editor, e.g. Visual Studio Code or Atom, and open your project to edit it

RSS-Feeds abonnieren

Hat eine Website keine direkte bzw. sichtbare Verlinkung zu ihrem RSS/Atom Feed (meist dieses Icon, wie hier direkt in der Überschrift), kann man trotzdem versuchen die Website zu abonnieren, da die meisten CMS die RSS Funktionalität von Haus aus mitbringen. Meist muss lediglich /rss, /feed, /atom oder /index.xml an der entsprechenden URL angehängt werden, z.B.:

https://jellyfin.org/posts/index.xml

oder bei WordPress Seiten häufig einfach mit rss, feed oder atom:

https://nocin.eu/rss
https://nocin.eu/feed
https://nocin.eu/atom

Alternativ hilft auch das Firefox Addon Feed Preview um auf mögliche RSS Feeds aufmerksam gemacht zu werden.

Als RSS Reader benutze ich Nextcloud News in Kombination mit der News App aus dem F-Droid Store.

[SAPUI5] Versioning

SAPUI5 follows Semantic Versioning.

MAJOR.MINOR.PATCH (e.g. 1.71.9)

  • Patches are mostly bug fixes.
  • Minor releases bring new features.
  • Major contains incompatible API changes.

Version overviews:
https://sapui5.hana.ondemand.com/versionoverview.html
https://openui5.hana.ondemand.com/versionoverview.html

Find detailed patchinfos here:
https://sapui5.hana.ondemand.com/X.XX.X/patchinfo.html (where X.XX.X is the SAPUI5 version number)
https://openui5.hana.ondemand.com/X.XX.X/patchinfo.html (where X.XX.X is the OpenUI5 version number)

Note: “sap.ui.core and sap.m are special, because they are OpenUI5 libraries. Currently, OpenUI5 libraries are always released as a whole. This means that whenever there is a change to be released for any of the OpenUI5 libraries, the new patch includes them all.”