Build your own keyboard
Erobique
Der Körper Meines Feindes
Filmrunde 10.03.2019
Chris Imler und Albrecht Schrader
Unix tools introduced. Today: FHS
The Filesystem Hierarchy Standard (FHS) defines a standard layout to organize various kinds of application and OS related data in a predictable and common way [1].
A basic knowledge of the FHS will help you to find application or OS related data more easily. If you are a developer, it also provides a good orientation for organizing your own applications in a maintainable way, e.g. as ubuntu package.
/bin – essential user commands
/boot – OS boot loader
/dev – devices (everything is a file principle)
/etc – system configuration
/home – user data
/lib – essentail shared libraries
/media – mount point for removable media
/mnt – mount point for temporarily mounted filesystems
/opt – add-on applications
/root – home of root
/run – run time variable data
/sbin – system binaries
/srv – data for services provided by the system
/tmp – temporary data
/proc – is a virtual filesystem
/usr – secondary hierarchy
bin – Most user commands
lib – Libraries
local – Local hierarchy (empty after main installation)
sbin – Non-vital system binaries
share – Architecture-independent data
/var – variable data
cache – Application cache data
lib – Variable state information
local – Variable data for /usr/local
lock – Lock files
log – Log files and directories
opt – Variable data for /opt
run – Data relevant to running processes
spool – Application spool data
tmp -Temporary files preserved between system reboots
Find more
What does the .d stand for in directory names?
Writing polyglot Applications with GraalVM
Small Java apps with JLink
A stopwatch in bash
Is it possible to implement a stopwatch in bash? Here is my try:
https://github.com/jschnasse/stopwatch/blob/master/stopwatch
The script uses some interesting features like:
-
read -s -t.1 -n1 c
to read exactly one character (-n1) into a variable c only waiting 0.1 seconds for user input. sleep .1
to delay further processing for 0.1 secondssecs=$(printf "%1d\n" ${input: 0 : -9})
Create a digit from all but the last 9 characters lead by a zero if string is empty. This is used to separate seconds from a nano seconds.
Regex for validating any english word
Java Properties: Part 2
Load a properties file from current directory.
Properties properties = new Properties(); properties.load(new FileReader(new File(".").getCanonicalPath() + File.separator + "java.properties"));
Write a start script
#! /bin/bash scriptdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd $scriptdir java -jar MyExecutable.jar cd -
Now you can start your configurable java program from any location, e.g. by linking the startscript to /usr/bin/ .
Java Properties: Part 1
Printing
printProperties(System.getProperties()); private static void printProperties(Properties properties) { new TreeSet<>(properties.keySet()).forEach((k) -> { System.out.println(k + " : " + properties.get(k)); }); }
Es röhrt der Fuchs…
…es schreit der Wal. Es naht der kölner Karneval.
Unix tools introduced. Today: date
The unix tool date can be used to print the current date. It also can be used to calculate time spans or to reformat time strings.
Examples:
1. Print the current date in a conventional form
date +"%d. %B %Y"
2. Use certain locale. Find supported list in /usr/share/i18n/SUPPORTED
LANG=de_DE.UTF-8 date +"%d. %B %Y"
3. Print an arbitrary (but valid) timestring in a conventional form
date -d 2003-11-22 +"%d. %B %Y"
4. Print the current date as seconds since 1970 (unix epoche)
date +%s
5. Calculate the difference of two dates in days. Explanation can be found here.
A="2002-10-20" B="2003-11-22" echo $(( ($(date -d $B +%s) - $(date -d $A +%s)) / 86400 )) days
6. Print seconds after 1970 (unix epoche) in a conventional form.
TZ=UTC LANG=en_EN.UTF-8 date -d@0 +"%H:%M:%S %d. %B %Y"
Note: if TZ=UTC is left out, date will add or subtract an offset in accordance to systems timezone.
7. Find timezone offset
OFF_1=$(date -d '1 Jan' +%z) OFF_7=$(date -d '1 Jul' +%z) echo $OFF_1 $OFF_7
The Mule
Mehr Drama als Thriller. Solide arrangiert.
6/10 Punkte
Lichtspiele Kalk 09.02.2019
https://www.lichtspiele-kalk.de/filme/the-mule/
Kubernetes, Docker, vSphere und Co.
Software Development Process
Als Entwickler sucht man möglichst einfache Wege, seine Software zu veröffentlichen und zu installieren. Idealerweise kann die Installation und Veröffentlichung der Software in den normalen Entwicklungsprozess integriert werden, so dass nach erfolgreichem Durchlaufen der Testprozeduren ein fertiges Paket zur Installation bereit liegt.
Serverless
Der Entwickler übernimmt dabei die Verantwortung seine Software als lauffähiges Paket bereit zu stellen. Damit dies gelingen kann, müssen Kenntnisse über die siginifikanten Eigenschaften der Zielplattform bekannt sein. Je weniger solcher Eigenschaften der Entwickler beim Paketieren berücksichtigen muss, desto besser.
Aus ihrer Tätigkeit heraus, haben Entwickler nur über einige Aspekte Ihrer Software überhaupt Kenntnisse. Idealerweise reichen diese natürlichen Kenntnisse aus, um ein lauffähiges Paket für die Zielplattform zu erzeugen.
zum Beispiel:
- benötigte Bibliotheken
- benötigte Systempfade
- benötigte Drittdienste
- benötigte Ports
Infrastructure as a Service
Dabei sind eine Vielzahl von Aspekten, die im Entwicklungsprozess keine Rolle spielen, für den erfolgreichen Betrieb der Software von höchster Wichtigkeit.
zum Beispiel:
- benötigte Systemgröße – CPUs, RAM, Storage
- benötigte Instanzen – Loadbalancing
- Sicherheitsaspekte – Netzkonfiguration, DNS, SSL
- Caching
- Systembenutzer/Gruppen
- Start/Stop Skripte
- Monitoring
Über diese Aspekte können Entwickler oft nur wenig sagen. Eine aus Entwicklersicht ideale Umgebung, würde sich einfach den Erfordernissen der Software anpassen, bzw. mit einigen Handgriffen leicht anzupassen sein.
Eine solche Umgebung bereit zu stellen, ist die Triebfeder hinter Technologien wie Docker, Kubernetes, und/oderVMWare. Durch den Einsatz dieser Technologien sollen alle Aspekte des Softwarebetriebs erfolgreich verwaltet werden können, über die Entwickler typischerweise keine Kenntnisse haben.
Quellen
- Kubernetes Introduction for VMware Users – Part 1: The Theory
- Containers and Kubernetes: The Time Is Now
- https://www.infoworld.com/article/3268073/kubernetes/what-is-kubernetes-container-orchestration-explained.html
Wearing earrings at work …
… make me feel like a Señora developer
The House That Jack Built
Intelligenz und Geduld werden abwechselnd auf den kunstfertig montierten Folterstuhl gesetzt. Der Künstler, ein psychopathischer Serienkiller, der für sein Werk in der Hölle landen wird. Als Komödie funktioniert die angerührte Mixtur nicht, als Thriller auch nicht – “Hit the road Jack” .
5/10 Punkten
Lief am 26.01.2019 in der Filmpalette.
https://www.imdb.com/title/tt4003440/