“Raise the nose, HAL.” “I’m sorry, Dave, I can’t do that.”

This article looks like a must-read for software developers.

“The flight management computer is a computer. What that means is that it’s full not of aluminum bits, cables, fuel lines and all the other accoutrements of aviation. It’s full of lines of code. And that’s where things get dangerous.”

http://web.archive.org/web/20190328093447/https://drive.google.com/file/d/1249KS8xtIDKb5SxgpeFI6AD-PSC6nFA5/view

Also published here
https://spectrum.ieee.org/how-the-boeing-737-max-disaster-looks-to-a-software-developer

Urheberrecht dem Patentrecht angleichen

Dieser Kommentar auf Heise schlägt zur Umsetzung von Uploadfiltern folgendes vor:

  • Aufbau einer Datenbank mit allen urheberrechtlich geschützten Werken.
  • Eingang in die Datenbank per Antrag.
  • Teilweise Finanzierung der Antragsbearbeitung durch den Antragsteller.
  • Alles was nicht in der Datenbank ist, muss auch nicht vom Uploadfilter überprüft werden.

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 about – /init.d ?

What does the .d stand for in directory names?

FHS in Debian

 

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:

  1.  read -s -t.1 -n1 c to read exactly one character (-n1) into a variable c only waiting 0.1 seconds for user input.
  2. sleep .1 to delay further processing for 0.1 seconds
  3. secs=$(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. 

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));
  });
}