… im April. 😯
Endlich Sommer …
25. April 2020 in Sonstiges.
Determining User Access on a Linux Filesystem with „Classic Permissions“
30. November 2021 in Administration, GNU/Linux.
Introduction
Looking at a Linux filesystem, checking if a certain file or directory is accessible for reading, writing or executing by certain users or groups poses interesting challenges.
Let the basic and seemingly simple question be: „Given a user X and a file Y, can it be determined if X has access to Y, and if yes, how can it be determined?“ A simple answer was: „Let X try to access Y, and if it does not work, X does not have that kind of access.“ However, this may not be feasible: The users, files and directories in question may not exist yet. More generally, access by users to files and directories should be predictable; appropriate access restrictions should be placed in advance, not after exposing possibly sensitive information. Also, certain types of access, such as deleting a file or directory, can not be simulated in a safe manner.
Moreover, a test procedure that just involves „trying to access the file“ may be incomplete: Just because the way the test procedure has attempted access did not succeed, that does not mean that there is no procedure at all by which the user in question can access the file.
This article investigates Linux filesystems that implement the semantics of „classic UNIX permissions“ in an effort to find more exhaustive methods of determining access.
AD-Precreation using ktutil, kinit and adcli
4. Dezember 2019 in Administration, GNU/Linux.
Using computer object precreation you can enable machines to join an Active Directory domain with knowledge of just one dedicated one-time-password. Combined with delegation you can offload management of computer objects to an otherwise unprivileged AD user.
Drawing a Yellow Rectangle on Android
29. Mai 2025 in Programmierung.
As an addendum to my previous article, there now also is an Android App „YellowRectangle“ that draws a yellow rectangle and terminates on the first touch event. It runs on Android version 4.0.3 (Ice Cream Sandwich MR1) and upward. It is written in Java and C++ and uses the Allegro game development library (http://liballeg.org/).
Drawing A Yellow Rectangle
25. März 2018 in Programmierung.
Premise
On the weekend i wanted to perform the task of drawing a yellow rectangle programmatically onto the screen of a Personal Computer:
- The program would feature a viewport that occupies the entirety of the primary display of the PC.
- On the viewport, 640 pixels could be adressed in width, 480 in height.
- The viewport would be drawn in black color by default.
- A yellow, filled rectangle would be drawn from an upper left corner at pixel coordinates 10 from the left, 20 from the top to a lower right corner at 100 from the left, 75 from the top.
- When having drawn the yellow rectangle, the program would indefinately await any keypress and then shut down.
I solved this task using several different programming languages and toolkits, having the following goals for the implementation:
- The program does a simple thing, so it should require little processing and memory resources.
- The program should still work in 24 months from now.
Creative E-MU 1616m PCIe on Windows 10 64bit
27. Mai 2021 in Multimedia, Technik.
On a PC running Win10Pro64 that has no Firewire port i needed a 4in4out audio solution functioning as an ASIO device.
So i dug out my E-MU 1616m PCIe, and – fearing that it would show severe compatibility issues – installed the most recent driver (EmuPMX_PCDrv_US_2_30_00.exe, July 15th 2011). To my surprise, the device started working immediately. So far i have not found any unsupported or problematic features (at 48 kHz samplerate i use WDM audio output, symmetrical input with zero-latency monitoring and ASIO sends and output to speakers through a 4-band EQ as DSP insert).
I think the E-MU 1616m PCIe is a great device:
- 10 years after i bought it, it works as on the first day.
- It has good and solid performance, i permanently run it with 10ms buffer size, which in Ableton Live adds on to 23.3 ms global round-trip latency, and i am yet to encounter any dropout or instability.
- PatchMix looks and feels very functional (apart from the brushed Aluminium skin which i find quite funny and nostalgic). Since it has spent many years in maturity, having no „software development“ bloating it with useless features and workflows, it runs rock solid and lightning fast on a modern PC.
- The breakout box (called „Microdock“) has massive connectivity:
- copper S/PDIF, AES or EBU (really!),
- optical ADAT or S/PDIF,
- four balanced 6.35mm input jacks,
- two XLR/jack combo inputs,
- six balanced 6.35mm output jacks,
- three unbalanced 3.5mm stereo output jacks,
- a dedicated 6.35 mm headphone output jack with hardware volume control and
- a stereo pair of RCA inputs plus GND (Phono).
- It works with Linux (using emutrix instead of PatchMix).
This is the best Creative product ever – ah wait, it’s not really by Creative … 😉
xdraw 1.1
26. November 2021 in Multimedia, Programmierung.
I was very pleased to notice that my small Xlib-utility xdraw has made it across the years unscathed. It compiled after 11 years of complete lack of code or build system maintenance. Hail to the stability of the X Library!
However, i found the visual quality of the drawing results a bit lacking – the drawn lines are too uneasy. So i have added weighted average smoothing to the drawn lines.

xdraw in action.
I have released this improvement as version 1.1 of xdraw here: https://gitlab.tk-sls.de/tilman/xdraw/tree/1.1
Project information not readable.
In Powershell das Piepen bei Backspace abstellen
7. April 2017 in Administration.
Folgendes Verfahren habe ich auf Windows 10 Home durchgeführt:
In einer Powershell werden einige Vorbereitungen durchgeführt:
# Profil erstellen, falls nicht vorhanden
if (!(test-path $PROFILE)) {
new-item -type file -path $PROFILE -force
}
# Skript-Ausführungs-Richtlinie ändern:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
# Profil-Skript editieren:
notepad $PROFILE
Hinweis: Die Ausführungsrichtlinie RemoteSigned erlaubt das Ausführen von Skripten auf den lokalen Datenträgern. Dabei gelten gewisse Ausnahmen (eine „aus dem Internet heruntergeladene Datei“ zum Beispiel ist nicht sofort vertrauenswürdig sondern führt beim Versuch der Ausführung zu einem zusätzlichen Bestätigungsdialog). Etwas sicherer wäre die Richtlinie AllSigned, doch das würde bedeuten, dass wir unser Profil-Skript Windows PowerShell-Skript.ps1 signieren müssen, was ohne das .NET SDK nicht machbar ist. Hurra! 🙂
In das Profil-Skript wird folgender Befehl geschrieben:
# Akustisches Signal in der Powershell deaktivieren
Set-PSReadlineOption -BellStyle None
… und das Generve hat ein Ende.