hartmutpfarr.de db: karls

Our website wants to use Cookies  

Cetalison IT Services


Wartung und Entwicklung von Software mit ABAP und anderen Sprachen. Ich greife auf eine mehrjährige Erfahrung im Bereich Unternehmenssoftware zurück. Gerne unterstütze ich Sie beim Erreichen Ihrer Software-Ziele.

Hier geht es zum Angebot

Fun With Strings


Eigene Musik machen... interessiert?
Alle Instrumente.
Alle Genres.

Hier geht es zu Fun With Strings


Hello Traveler, Ulm, 18.6.2022

EN: This Site displays a small number of text fragments, for various issues, hope this may help someone, as it did for me. I've written it down to not forget about it.

DE: Aktuell finden sich hier ein paar kurze Texte, die ich aufschreiben wollte, um sie nicht zu vergessen, und evtl. kann das jemand brauchen.

Best Regards & Enjoy

JVM Version change & BSP

Cannot run program "/usr/lib/jvm/java-17-openjdk/bin/java" (in directory "..."): error=2, No such file or directory
Solution Check config file .bsp/sbt.json and update reference to jvm version
JDBC ResultSet Fetch Size

To prevent Out of Memory Errors in JVM when receiving extensive, large ResultSets from JDBC queries, it can help to not only set FetchSize on Prepared Statement Level, but also defaultRowFetchSize on JDBC Driver Level. Depending on the used database system and driver, this may vary.
PreparedStatement Level:
ps.setFetchDirection( ResultSet.FETCH_FORWARD )
ps.setFetchSize( 1000 )

JDBC Driver Level:
props.setProperty("defaultRowFetchSize", 1000)
val connection = java.sql.DriverManager.getConnection(url, props)
Minus Symbol within Patterns (RegExp)

Minus Symbol must be escaped within character classes, e.g.
but this is not needed (but doesn't harm either) in other use cases, such as
Endless Repeat Command (Linux)

while(true); do echo abcdefgh ; date ; sleep 3; done

scala> null.asInstanceOf[Integer]
val res4: Integer = null

scala> null.asInstanceOf[Int]
val res5: Int = 0
(Int is a primitive type)
Upper Case, Lower Case Conversion (ABAP)

to_upper( ... )   
or String Interpolation:
|{ ... case = upper }|

to_lower( ... )   
or String Interpolation:
|{ ... case = lower }|
Audacity Latency Compensation

Edit > Preferences > Devices > Latency
Latency Compensation: -15 ms
Buffer length: 200 ms
Software playthrough of input: activated
192 kHz / 24 Bit recording resolution
Increase the value (mathematically add x), if the recorded track is playing too early compared with the template.
Decrease the value (subtract x), if the recorded track is playing too late compared with the template.

You'll have to redo the measure from time to time, since so many components influence the latency in Audacity, especially: SDD Hard Disks.
Hardware: Lenovo x121e Model 304579G running Manjaro Linux XFCE connected to Steinberg UR22mkII audio interface.
Can't find jdk BSP_java-17-openjdk

Cannot start Scala compile server
Can't find jdk BSP_java-17-openjdk
Solution IntelliJ Settings -> Build, Execution, Deployment -> Compiler -> Scala Compiler -> Scala Compile Server -> Use compile server (checked); JVM: JDK: Select valid SDK (black font instead red font then).
Reboot when compile server problems persist.
Non-Capturing Group (RegExp)

Beispiel mit Strings-Alternativen
Simultaneous Output on All Local Soundcards (Linux)


Go to paprefs -> Simultaneous Output -> Activate: Add virtual output device for simultaneous output on all local sound cards.

Go to pavucontrol, see tab "Output Devices"
Activate Simultaneous Output for broadcast default output to all local sound cards at the same time.

This way you have the default output multiplied on every soundcard output channel simultaneously.

Keep VLC in Background (Linux)

When VLC is placed in background behind outer windows e.g. on Manjaro Linux, VLC keeps re-popping up to front after a media playing is finished. To stop this behaviour:
VLC -> Tools -> Preferences -> Show Settings (last entry) -> All -> Interface -> Main interfaces -> QT (the option for Manjaro XFCE) -> When to raise the interface (last entry) -> Never
Update: The same setting can be found there:
VLC -> Tools -> Preferences -> Interface -> Auto raising the interface
Button Type "submit" by default (pitfall)

The default type is submit, with all consequences (forward form data to a GET or POST destination, if there is a surrounding form tag somewhere). That is by default:
<button type="submit">...</button>
It is not so obvious, and could be a pitfall in my eyes (I'd prefer the default would be type=button, then the literals would match).

A button with type button (and not automatically forwarding form data to an URL destination) you get with:

<button type="button">...</button>
Monitor Ur22mkII-Input e.g. ePiano/Keyboard or USB-Microphone-Input Live Signal on USB-Headset (Linux)


Go to pavucontrol, activate UR22mk2 or your USB-Headset-Microsphone as Input, activate USB-Headset as Output, then:

$ pactl load-module module-loopback latency_msec=20

Go to pavucontrol, see tab "Recording ". There the loopback options appear.

Here also You can pause the loopback, alternatively:

To stop:

$ pactl unload-module module-loopback 
Please note: Once an input source is used for loopback, you can no longer use it as input in Audacity, since Audacity needs this exclusively (Audacity error Error opening recording device. Error Code: -9985 Device unavailable would appear then).
On the other side, OBS is able to record from the input and monitor it at the same time.
OBS Studio / Graphcis QT Rendering Bug in Properties Windows / XFCE Manjaro Linux


Problem When using OBS with XFCE Manjaro Linux, there is a QT Graphics Bug appearing only while opening Property windows for Filters, e.g. lots of "pixel noise" appears, fonts are written twice, etc.

Work-around In Manjaro, go to "Compositor" (in "Window Manager Tweaks"), disable "Display Composition" temporarily (keep the mouse pointer stable for undoing your selection if the screens gets black). Adjust the properties in OBS, then switch "Display Composition" back to its original value.

Ulm, Germany
Phone: +49 (0) 731 14 399 046
Email: hartmut0407@googlemail.com

IT Solutions im Bereich Unternehmenssoftware
ABAP, Relational DBMS, Linux