Dietrich Schroff

Subscribe to Dietrich Schroff feed
Dr. Dietrich Schroff
Updated: 1 hour 35 min ago

(bash): The most useless commands (5)

Wed, 2017-06-21 15:17
In a comment Albert Godfrind pointed out, that the commands i was talking about like
  1. rev
  2. sl
  3. cowsay
are not really bash commands (in a way that they will be installed within the installation of the bash shell). They are commands, which can be used from on every shell. So my headline is a little bit missleading - thanks for this notice.

Just for clarification here a list with all bash builtin commands:
  • alias
  • bind
  • builtin
  • caller
  • command
  • declare
  • echo
  • enable
  • help
  • let
  • local
  • logout
  • mapfile
  • printf
  • read
  • readarray
  • source
  • type
  • typeset
  • ulimit
  • unalias
and the bourne shell builtins:

  • break
  • cd
  • continue
  • eval
  • exec
  • export
  • getopts
  • hash
  • pwd
  • readonly
  • return
  • shift
  • test
  • times
  • trap
  • umask
  • unset
Still missing:

Bash: The most useless command (4)

Sun, 2017-06-18 14:04
The blog statistics show, that there are many people reading the posts about useless commands. And there is the next candidate:
cowsayNow you are thinking, what is cowsay?
       Cowsay  generates  an  ASCII picture of a cow saying something provided by the user.  If run with no arguments, it accepts standard input, word-wraps
       the message given at about 40 columns, and prints the cow saying the given message on standard output.

Okay. Here we go:
$ echo what a cool command | cowsay
< what a cool command >
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
One thing to add here: moo 

Bash: The most useless command (3)

Wed, 2017-06-14 12:48
The blog statistics show, that there are many people reading the posts about useless commands. And there is the next candidate, suggested by an anonymous comment:
slThis is my most hated program on a shell. Why?
sl − display animations aimed to correct users who accidentally enter sl instead of ls.and this program is not interruptable by ctrl-c.
It shows a train running from the left to the right
and blocks your shell for at least 2-3 seconds (depends on the width of your shell window):
$ time sl
real 0m3.347s

Ubuntu: mouse jumps to trash icon / move to lower left corner / bottom left

Sat, 2017-06-10 14:02
There are many questions about jumping mouse cursors on ubuntu.
And there are often answers like
  • clean your touchpad
  • your touchpad is broken
  • send your laptop back
But there are so many people suffering this, so it is not reasonable that all these touchpads do not work well.

One thing to solve this is to install
gpointing-device-settingsbut this does not really help.
Next thing:
add-apt-repository ppa:atareao/atareao
apt-get update
apt-get install touchpad-indicator
/opt/  But this is not really the solution. But you can disable your touchpad while typing, so that the window focus does not jump to the trash icon and your typing is interrupted.

After searching i found the following discussion on a mailing list:

And the follwing did the job:
apt-get install xserver-xorg-core apt-get install xserver-xorg-input-libinput
apt-get remove --purge xserver-xorg-input-synaptics and then a logoff and login into the x window system...

Bash: The most useless command (2)

Fri, 2017-06-09 14:58
The last posting about useless commands for bash discussed the command
rev. One nice comment pointed out, that the rev command can be used for searching inside logfiles (Thanks to

Like it was said there, the command
yeslooks even more useless:
       yes - output a string repeatedly until killed
       yes [STRING]...
Ok - it can be used for scripts to answer call backs. But which kind of script needs always the same answer? (and commands like "apt-get" support this via the option "-y".

Any other suggestions about useless bash commands?

Bash: The most useless command

Sun, 2017-06-04 14:08
After many years working with the bourne again shell i still learn some commands, which i never used.
I am completely convinced that i discovered the most useless command:
revThe manpage says:
rev - reverse lines characterwise Is there anything, where i can use this command?

Ok. I can check if a word is a palindrome (like 123321 or otto):

# Shell script to test if a string is a palindrome
# This simply uses the 'rev' command found in util-linux-ng package
# and checks if the reverse of the string is same as the original
 echo "Enter a String : "
read string
if [ "$(echo $string | rev)" = "$string" ]
 echo "\"$string\" IS a Palindrome"
 echo "\"$string\" IS NOT a Palindrome"
fiThis script i found in this article.

Have anyone used the rev command for something reasonable?
Please write a comment!

Ubuntu: Eclipse does not find openjdk (JRE)

Sat, 2017-06-03 14:06
On my Ubunut linux i decided to do some Java programming.
So first step is to install java:
apt-get install openjdk-9-jdk openjdk-9-demo openjdk-9-doc openjdk-9-jre-headless openjdk-9-source This just works like expected. But after that i installed eclipse.
Download via was easy and the installation ran without any error.
But Eclipse was not able to find the JRE for compiling, autocorrection, etc.

For all developers, which are not used to linux:
The JRE is in Ubuntu located here:
/usr/lib/jvm/java-9-openjdk-amd64/jreAnd it is added like on any other platform via the preferences window:
 After that Eclipse runs fine and you can start building your java applications...

Ubuntu: visudo problem / NOPASSWD option does not work for commands

Sat, 2017-06-03 13:56
It is always the same:
After installing a new Linux commands like
/sbin/rebootonly work with entering your password everytime (or precisely: after every reboot).
This can be changed with visudo:
export EDITOR=vi; visudo Inside the /etc/sudoers.conf you will see:
# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALLAnd this is the problem:
First idea is to double the line
root    ALL=(ALL:ALL) ALL
schroff    ALL=(ALL) NOPASSWD: /usr/sbin/s2diskand do the desired changes.

BUT: This will not work!

You have to add your line at the end of the file and after you exit vi (or whatever editor you have configured) it will work...

UEFI and Linux: Installation of Ubuntu on a new laptop / How to add grob on UEFI

Sat, 2017-06-03 09:28
On my new laptop i decided to install in addition to windows 10 a linux distribution.
First idea was to install debian linux but the debian installer does not provide any functionality to resize the partitions. And without this, the windows partition will be erased after the installtion.
I knew, that the ubuntu installer had this functionality, so i created a usb stick and tried installing ubuntu.

The installation went through like a charm, but the next reboot does not show up the grub boot menu. The laptop started without any call back.


I found a solution here.

You have to enter the BIOS/UEFI and set a password:
After that you are allowed to select a new trusted uefi file:
 Then walk to grubx64.efi via HDD0 -> EFI -> ubuntu:

After that you have to reboot once and enter the BIOS/UEFI again.
New you can change the boot order and move the grub to the first entry:
Now every reboot enters the grub menu and you are able to choose ubuntu or windows...

review at amazon: Apache SOLR for newbies

Thu, 2017-05-25 14:39
Last weekend this book fell into my hands:

Paul Lawson wrote a splendid introduction into Apache SOLR. At the beginning he describes the motivation behind the project SOLR:
 "Outside the firewall  [searching] is used to make money, and inside to save money."
Within 130 pages this books covers everything from installation, adminstration GUI, examples to start (importing documents, first searches, etc.) and the quick overview to the fundamental configuration files.
If you are interested in Apache SOLR and you do not know where to start: this book is the answer.
But one thing is missing: The book only covers searching XML documents. On page 42 (!) it is pointed out, that you have to configure SOLR cell. I think this was a good decision, because deep dives should be done after an introduction.

if you are interested, take a look at my review at (as all my reviews written in german ;-)

Touchpad tuning on linux: touchpad-indicator...

Fri, 2017-04-14 10:21
I encoutered some problems with my touchpad on ubuntu:
While typing some text, the touchpad signalled the mouse some strange moves. Sometimes it marked parts of the text and the next key erased the highlighted text...

First idea was to edit the xorg.conf or something else, but i found a less difficult was via touchpad-indicator.

It can be installed via
apt-get install touchpad-indicatorAlittle problem is, that you can not run it via cli with just calling touchpad-indicator, because ubuntu installs this program into /opt:

Here you can choose "disable touchpad on typing" and you are done...

Review at amazon: Quality of Service for Intenet Multimedia

Sat, 2017-03-25 07:21
Over the last three months i read a really amazing book about quality of service techniques.
Today everyone has internet access with more than 50Mbit/s, it seems like overbooking does not happen anymore and traffic priorization is no longer needed.
But this is only the half of the truth: Using cloud service, video streaming, onling gaming, ... you can really fast reach the limit of your internet access bandwith.
Companies face the same problem at a different scale: They can buy up to 1Gb/s but if they use techniques like shared workplace, cloud storage etc. even they will exhaust their bandwidth.

If you are interested how priorization can be done (and what are the problems in real life), you should read this book:

It covers the theory and practice for multimedia streaming which is just one of many categories of internet traffic. It is clear that the proposed solution can only be implemented by internet service provicers - but here you can understand what they do und why they are doing it.

if you are interested, take a look at my review at (as all my reviews written in german ;-)

How to embed HTTP content inside a HTTPS webpage / Mixed content problems

Sat, 2017-03-04 03:27
If you are running a webpage and you decide to move to SSL protection you can encounter the following problem: Inside your webpage you are using tags like "iframe", "script" or "link" pointing to HTTP servers. This is considered as mixed active content (mozilla):

Mixed active content is content that has access to all or parts of the Document Object Model of the HTTPS page. This type of mixed content can alter the behavior of the HTTPS page and potentially steal sensitive data from the user. Hence, in addition to the risks described for mixed display content above, mixed active content is vulnerable to a few other attack vectors.
And this will not work...

The best solution is: change all links from HTTP to HTTPS and you are done.

But there are still websites which offer their content in HTTP only. If you really trust them, you can do the following:
Add the link inside a https proxy like

Of course this is not an excellent solution, but a workaround which allows you to protect your website and if you seperate this solution from the pages, which deal with sensitive content you should be fine...

Linux: keyring-password for wlan needed / legitimate wlan login

Sat, 2017-02-18 03:20
Each time i resume my notebook after a suspend to disk-cycle the connection to WLAN hangs with the following message:

 (Die Systemrichtlinien verhinder das Bearbeiten von Netzwerkeinstellungen für alle Benutzer / Enter password for default keyring to unlock)
I tried to fix this via network-manager with adding the hook at the checkbox "Alle Benutzer dürfen dieses Netzwerk verwenden", but this did not help at all.
The point is, that after resuming my login keyring wants a authentication with password again. But this behaviour can be easily changed with the tool seahorse.
(Installation in debian with:  apt-get install seahorse)

After starting seahorse choose "File -> New" and you will get the following dialog:
 Create a new password-keyring (Passwort-Schlüsselbund) -
 Choose a name -
 and do not enter a password (this is not really secure, but if you configure your screensaver to lock your screen with a password, this should not be a problem)
 Confirm an empty password - and the you are done.

At the end you have to delete the old keyring (the one with the password):
This is done with right clicking the appropriate item...

After all this steps you should not see this legitimate-popup anymore...

Review at amazon: Projektbegleitendes Projektmanagement

Fri, 2017-02-17 14:06
Today i finished the book "Projektbegleitendes Projektmanagement:

The author created a quite good reference for project and quality management. If you need a short summary of ISO 9001 or best practices for quality assurance, you will find this in a few pages.
I would like to pay particular attention to the following part: The chapters 9 to 11 contain many checklists, table of contents for some needful documents and so on...
From my point of view this is already sufficient for the purchase of this book.

If you are interested, take a look at my review at (like all my reviews: written in german ;-) 

10 years of "run like hell" - an anniversary after nearly 300 blog entries...

Sun, 2017-02-12 10:42
Ten years ago after a lecture given at the Technische Universität Kaiserslautern i started this blog with this posting (about the lecture). And you can see: the link does not work anymore but the screenshot still remains after such a long time.
After this post, i owned a blog, with one entry and noticed that finding topics to write about is not really easy.
In August 2017 i started to write about Oracle products like jDeveloper, 11c, ... With more than 100 posts over 30% of the blog entries are related to Oracle. In respect to this fact my blog is listed by 2 Oracle aggregators.
But for the last three years i did not write about Oracle anymore. But nevertheless there are still readers visiting:
The blog was called 350.000 times in 10 years - not really a big site, but nearly 3000 readers per week.
So thank you for reading my postings - let's see if i will run like hell for another 10 years ;-)

Review at amazon: Fundamentals of 5G mobile networks

Sat, 2017-02-11 16:02
Today i read the book "Fundamentals of 5G mobile networks":

This book is a collection of 10 articles around 5G, framed by an introduction and summary from the editor Jonathan Rodriguez.

More or less every article starts with the same motivation for 5G: mobile traffic will increase 1000times form 2010 to 2020.
Here some findings from the articles:
  • 5G is not one radio access technology (RAT). It will be a collection of RATs like small cells, SON, ... (chapter 1)
  • Spectral efficiency is about 1 bps/Hz/cell - gains can be achieved with multi-antenna techniques and small cells (chapter 3)
  • 5G devices are expected to exploit spectrum opportunities efficiently on the fly (chapter 6)
  • new transceivers have to be built with excellent power saving characteristics and tunable RF frontend radio. (chapter 11)
If you are interested, take a look at my review at (like all my reviews: written in german ;-) 

Review at amazon: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering

Sun, 2017-01-29 15:47
This weekend i read the following book:

Software Product Lines in Action tries to explain, why a company should move from contract-based development to its own product strategy. But this change does not only involve software engineering - organizational changes, business process changes, technology changes, .... And the author states "Bringing comprehensive change to a software development organization isn't easy, and false starts are expensive."
The book has three divisions: "Aspects of Software product line engineering", "Experience Reports" and "Conclusions"
Part one covers the theoretical statements and is quite readable.
Part two presents 9 experience reports, which are not really helpful. Different companies are presented with their problems and their lessons learned. The best example is Nokia Mobile Phones - it is clear that their change to software product line has not worked very well. Nokias software for mobile phones was not a magic bullet...
Part three ("Conclusions") is much to short, to learn something.
Reading the 300 pages is at the beginning quite interesting, but after page 80 i did not get anything new or helpful...

If you are interested, take a look at my review at (like all my reviews: written in german ;-)

Review at amazon: Fallbuch BIP

Sun, 2017-01-29 07:39
Sometime ago i read the following book:

For all who do not know what BIP stands for: Bochumer Inventar zur berufsbezogenen Persönlichkeitsbeschreibung

And as you can see: This is something, what is only used in Germany - wikipedia has no translation in english or any other language.

If you are interested, take a look at my review at (like all my reviews: written in german ;-).

Ubuntu: Hibernate/Suspend to disk: Resume problem with ATI Radeon R7

Sun, 2017-01-15 14:08
On a new Lenovo laptop i had some issues with supsend/resume.
I installed tux on ice and the suspend process worked, but the resume just freezed after some seconds.

First step to solve this problem was to stop the graphics (/etc/init.d/lightdm stop) and try it again.

This attempt worked without a problem, so it was clear: the resume problem is a issue with the graphic card:
laptop:~$ lspci
01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Topaz XT [Radeon R7 M260/M265] (rev ff9)
[...]So i tried to disable the modesettings with grub. I changed in /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/sda9 quiet splash"to
 GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/sda9 quiet splash  nomodeset"and then the command
update-grubAnd after that everything worked...

Here an explanation from
The newest kernels have moved the video mode setting into the kernel. So all the programming of the hardware specific clock rates and registers on the video card happen in the kernel rather than in the X driver when the X server starts.. This makes it possible to have high resolution nice looking splash (boot) screens and flicker free transitions from boot splash to login screen. Unfortunately, on some cards this doesnt work properly and you end up with a black screen. Adding the nomodeset parameter instructs the kernel to not load video drivers and use BIOS modes instead until X is loaded.

Note that this option is sometimes needed for nVidia cards when using the default "nouveau" drivers. Installing proprietary nvidia drivers usually makes this option no longer necessary, so it may not be needed to make this option permanent, just for one boot until you installed the nvidia drivers.