Musiktheorie Sammelsurium: Tonleiter

Tonleiter:

Klaviatur über zwei Oktaven
Klaviatur über zwei Oktaven

  • Stammtöne (7. Ganztonschritte): C, D, E, F, G, A, H
  • 7. Ganztonschritte + 5. Halbtonschritte = 12 Töne
  • Der Grundton H wird oft noch als B bezeichnet. Das verminderte H (b) wird dabei “B-Flat” genannt. Wikipedia: H Grundton
  • Stammtöne können um einen Halbton erhöht werden mit ♯: (Cis, Dis, Eis, Fis, Gis, Ais, His)
  • Stammtöne können um einen Halbton erniedrigt werden mit ♭: (Ces, Des, Es, Fes, Ges, As, B (nicht Hes))
  • internationale Variante (F♯ statt Fis, D♭ statt Des, usw.)

Dur Tonleiter (Major Scale):

  • Gilt als „hell“, „klar“, „freudig“
  • Besteht aus Tönen mit den Abständen: Ganzton, Ganzton, Halbton, Ganzton, Ganzton, Ganzton, Halbton (TTSTTTS) T = Tone, S = Semitone
  • Pentatonik besteht aus den Tönen: 1, 2, 3, 5, 6 (Bsp. C-Dur: C, D, E, G, A)
  • Paralleltonart in Moll: Grundton-Dur + 5 Ganztonschritte
  • Dominante: Grundton-Dur + 4 Ganztonschritte
  • Subdominante: Grundton-Dur + 3 Ganztonschritte

Dreiklang / Akkord / Harmonie:

  • Gemeinsames erklingen von drei verschiedenen Tönen
  • 1. Ton (Grundton) + 3. Ton + 5. Ton

Dur Dreiklang:

  • Grundton + 4. Halbtonschritte + 3. Halbtonschritte
  • Tonica = Grundakkord

C-Dur Tonart:

  • C, D, E, F, G, A, H, C
  • Paralleltonart: A-Moll
  • Dominante: G-Dur
  • Subdominante: F-Dur

C-Dur Dreiklang:

  • Grundton: C
  • Grundakkord (Tonika): C, E, G

Moll Tonleiter (Minor Scale):

  • Gilt als „dunkel“, „düster“, „traurig“
  • Besteht aus Tönen mit den Abständen: Ganzton, Halbton, Ganzton, Ganzton, Halbton, Ganzton, Ganzton (TSTTSTT)
  • Pentatonik besteht aus den Tönen: 1, 3, 4, 5, 7 (Bsp. C-Moll: C, ES, F, G, H)
  • Paralleltonart in Dur: Grundton-Moll + 5 Ganztonschritte
  • Dominante: Grundton-Moll + 4 Ganztonschritte
  • Subdominante: Grundton-Moll + 3 Ganztonschritte
  • Natürliche Molltonleiter: A, H, C, D, E, F, G, A
  • Harmonische Molltonleiter: A, H, C, D, E, F, Gis, A
  • Natürliche Molltonleiter: A, H, C, D, E, Fis, Gis, A

Moll Dreiklang:

  • Grundton + 3. Halbtonschritte + 4. Halbtonschritte
  • Tonica = Grundakkord

C-Moll Tonart:

  • C, D, ES, F, G, AS, B, C
  • Paralleltonart: Es-Dur
  • Dominante: G-Dur / g-Moll
  • Subdominante: F-Moll

C-Moll Dreiklang:

  • Grundton: C
  • Grundakkord (Tonika): C, ES, G

Vierklang / Akkord:

  • Gemeinsames erklingen von vier verschiedenen Tönen
  • 1. Ton (Grundton) + 3. Ton + 5. Ton + 7. Ton

Nützliche Links
Videos zum Thema Musiktheorie
Wikipedia: Moll-Tonleiter
Wikipedia: Dur-Tonleiter
Wikipedia: Pentatonik
Wikipedia: Enharmonische Verwechslung

Linux: Passwort des Benutzer root zurücksetzen

Sollte man mal in die Verlegenheit geraten und das “Root-Passwort” eines Systems nicht mehr zur Verfügung haben, gibt es eine einfache Möglichkeit das Passwort zu wechseln. Dazu wird das aktuelle Betriebsystem im “single user mode” gestartet.

Schritt 1:
Sobald der “Grub Boot Loader” angezeigt wird, wählt man den benötigen “Boot-Eintrag” aus.
Grub_Boot_Menue

Danach kann mit der Taste “e” der Eintrag bearbeitet werden. Dann sucht man die Zeile, welche mit “linux” anfängt und ergänzt diese am Schluss mit:init=/bin/bash

Grub Boot Menü

Wurde das “Grub Boot-Menü” angepasst kann mit der Taste F10 gestartet werden.

Schritt 2:
Danach muss das “Root-Filesystem” noch gemounted werden:
mount -o remount,rw /

Schritt 3:
Nun kann das Passwort geändert werden.
passwd

unter Ubuntu:
passwd "{Benutzer}"

“{Benutzer}” ist der bei der Installation definierte “Root-Benutzer”.

Mit dem Befehl: exec /sbin/init kann nun das Betriebsystem gestartet werden.

Nützliche Links:
How To Reset Root User Password In Linux

HERMES 5 Foundation – Release 5.1

Da ich diesen Monat in den “Genuss” ;o) gekommen bin und eine “HERMES 5 Foundation” Zertifizierung machen durfte, habe ich ein paar Links zusammengetragen.

Was ist HERMES überhaupt:

HERMES ist die Projektmanagementmethode für Projekte im Bereich der Informatik, der Entwicklung von Dienstleistungen und Produkten sowie der Anpassung der Geschäftsorganisation. HERMES unterstützt die Steuerung, Führung und Ausführung von Projekten verschiedener Charakteristiken und Komplexität. HERMES hat eine klare, einfach verständliche Methodenstruktur, ist modular aufgebaut und erweiterbar.

Die wichtigste Seite zum Thema HERMES ist hermes.admin.ch. Auf der offiziellen Webseite findet man alles (Handbuch, Vorlagen usw.) rund um HERMES.

Nützliche Links:

Lernkarten zu HERMES 5

BFH Kurseinstufungstest HERMES 5

tüv-süd Musterfragen mit Lösungen

nginx: Strong SSL Security on nginx

Beim Prüfen der nginx SSL-Konfiguration bin ich auf folgende Seite gestossen: Raymii.org: Strong SSL Security on nginx. Hier wird ausführlich beschrieben wie man die SSL-Konfiguration seines nginx Webserver stärkt. Eine weitere aktuellere Seite ist: sherbers.de: Sichere TLS Konfiguration mit NGINX.

Prüfen kann man die Konfiguration auf: ssllabs.com

Hat man die wichtigsten Einstellungen vorgenommen, sollte der SSL-Report mindestens eine A Bewertung anzeigen.

SSL-Report Bewertung
SSL-Report “monsterli.ch” Bewertung

 

Nützliche Links:

Raymii.org: Strong SSL Security on nginx

sherbers.de: Sichere TLS Konfiguration mit NGINX

ssllabs.com: SSL Server Test

 

 

Ubuntu: Apache2 Kommandos

Starten:

> sudo service apache2 start

Stoppen:

> sudo service apache2 stop

Neustarten:

> sudo service apache2 restart

Konfiguration aktualsieren:

> sudo service apache2 reload

Syntax der Konfiguration prüfen:

> apache2ctl configtest

Status anzeigen:

> sudo service apache2 status

Geladene Module anzeigen:

> apache2ctl -M

Modul aktivieren:

> sudo a2enmod

Modul deaktivieren:

> sudo a2dismod

Aktivieren eines virtuellen Hosts:

> sudo a2ensite <name>.conf

Deaktivieren eines virtuellen Hosts:

> sudo a2dissite <name>.conf

Layout der Konfiguration unter Ubuntu:

/etc/apache2/
|-- apache2.conf
|        -- ports.conf
|-- mods-enabled
|        -- *.load
|        -- *.conf
|-- conf-enabled
|        -- *.conf
|-- sites-enabled
|        -- *.conf

Standard Dokumentverzeichnis (Docoument root):

/var/www/html

Nützliche Links

Ubuntu documentation: HTTPD – Apache2 Webservice

Cheat-sheet: Apache2 Commands

(C / C++): Bitmanipulation mit bitweise Operatoren

Bitweises Komplement / Bitwise NOT

Der NOT-Operator (~) invertiert jedes einzelne Bit einer Zahl.

Beispiel mit 8-Bits:

 0000 0100 = 4
~0000 0100 = 1111 1011 = 251

Bitweises UND / Bitwise AND

Der AND-Operator (&) wird auf jedes einzelne Bit zwischen zwei Operanden angewendet. Das Ergebnisbit ist 1, wenn beide Bits den Wert 1 aufweisen.

Beispiel mit 4-Bits:

 0001
&1001
-----
 0001

Bitweises ODER / Bitwise OR

Der OR-Operator (|) wird auf jedes einzelne Bit zwischen zwei Operanden angewendet. Das Ergebnisbit ist 1, wenn eines der beiden Bits den Wert 1 aufweisen.

Beispiel mit 4-Bits:

 0001
|1001
-----
 1001

Bitweises exklusives ODER / Bitwise XOR

Der XOR-Operator (^) wird auf jedes einzelne Bit zwischen zwei Operanden angewendet. Das Ergebnisbit ist 1, wenn die beiden Bits unerschiedliche Werte haben.

Beispiel mit 4-Bits:

 0001
^1001
-----
 1000

Linksverschiebung / Left shift

Bei der bitweise Linksverschiebung (<<) werden alle Bits um die angegebene Position nach links verschoben.

Beispiel mit 4-Bits:

0001 << 1 = 0010
0001 << 2 = 0100

Rechtsverschiebung / Right shift

Bei der bitweise Rechtsverschiebung (>>) werden alle Bits um die angegebene Position nach rechts verschoben.

Beispiel mit 4-Bits:

0010 >> 1 = 0001
0100 >> 2 = 0001
1010 >> 1 = 0101 

Bit löschen

Will man in einem Byte mehrere Bits auf 0 setzen, wird dazu die UND-Verknüpfung verwendet.

PORTB &= ~((1 << 0)

Löscht Bit 0

Sollen gleichzeitig mehrere Bits gelöscht werden:

PORTB &= ~((1 << 0) | (1 << 2));

Löscht Bit 0 und 2 in PORTB

Bit invertieren


PORTB ^= (1 << 3);

Invertiere das dritte Bit

Bit setzen


PORTB |= (1 << 2);

Setzt das Bit 2 auf 1

Beispiel Methoden:


void set_PORTB_bit(int8_t  position, int8_t  value)
{
	// Sets or clears the bit in position 'position'
	// either high or low (1 or 0) to match 'value'.
	// Leaves all other bits in PORTB unchanged.
	
	if (value == 0)
	{
                // Set bit # 'position' low
		PORTB &= ~(1 << position);
	}
	else
	{
                // Set bit # 'position' high
		PORTB |= (1 << position);
	}
}

void set_Pin_Mode(int8_t  position, int8_t  value){
	if (value == 0)
	{
                // Set bit # 'position' to input
		DDRB  &= ~(_BV(position));
	}
	else
	{
                // Set bit # 'position' to output
		DDRB  |= (1 << position);
	}
}

Nützliche Links

mikrocontroller.net: Bitmanipulation

wikipedia: Bitweiser Operator

stackoverflow.com: How do you set, clear and toggle a single bit?

LearnCpp.Com: Bitwise operators

Windows 10: Autostart Programme hinzufügen und entfernen

Seit Windows 10 gibt es im Startmenü keinen Autostart-Ordner mehr. Aber es gibt weiterhin eine Möglichkeit, Programme beim Hochfahren des PC’s, automatisch starten zu lassen. Diese Autostart-Programme können über folgenden Befehl hinzugefügt werden:

Autostart-Programme hinzufügen

  1. Durch Drücken der Tastenkombination: “Windows-Taste + R”
  2. Danach den Befehl: “shell:startup” eintippen und ausführen
  3. Im geöffneten Autostart-Ordner können nun die Applikationen mit Drag&Drop hineingezogen werden

Danach werden die Autostart-Programme beim Hochfahren ausgeführt.

Autostart-Programme entfernen

  1. Durch Drücken der Tastenkombination: “Windows-Taste + R”
  2. Danach den Befehl: “shell:startup” eintippen und ausführen
  3. Im geöffneten Autostart-Ordner können nun die Verknüpfungen gelöscht werden

Danach werden die Autostart-Programme beim Hochfahren nicht mehr ausgeführt.

Linux: Bereinigen der “/boot” Partition mit Hilfe der Konsole

Sollte es vorkommen, dass die “/boot” Partition keinen freien Speicherplatz mehr besitzt, müssen die alten überflüssigen “Kernel-Images” entfernt werden.

1. Prüfen welcher Kernel aktuell verwendet wird, damit dieser nicht gelöscht wird:


>uname -r

2. Anzeigen aller installierten Kernels:


>dpkg --list 'linux-image*'

3. Löschen der nicht mehr benötigten Kernels. Dabei muss {Version} mit der Versionsnummer ersetzt werden:


>sudo apt-get remove linux-image-{Version}

4. Löschen der nicht mehr benötigten Pakete:


>sudo apt-get autoremove

5. Am Schluss kann noch die Kernel-Liste aktualisiert werden:


>sudo update-grub

Der Befehl “apt-get remove” funktioniert nicht da “/boot” zu 100% voll ist

Erhält man die Meldung, es müsse zuerst


>sudo apt-get -f install

verwendet werden, da nicht alle Pakete korrekt installiert sind, dieser Befehl aber wegen fehlendem Speicherplatz auf “/boot” nicht beendet werden kann, muss manuell auf der “/boot” Partition platz geschaffen werden.

1. Anzeigen, welche Kernel installiert sind:


>ls -l /boot

2. Manuelles löschen der Dateien:
So viele nicht mehr benötigte Kernel-Dateien löschen, bis genügen Speicherplatz zur Verfügung steht.


>sudo rm vmlinuz-{version}
>sudo rm initrd-{version}
>sudo rm System.map-{version}

3. Installation bereinigen:


>sudo apt-get -f install

4. Löschen der Pakete, welche nicht mehr gebraucht werden:


>sudo apt-get autoremove

Nützliche Links

askubuntu.com: What is the safest way to clean up /boot partition?

Windows 7: Windows Updater hängt “Es wird nach Updates gesucht…” – manuelle Installation funktioniert auch nicht

Wer sein Windows auf den neusten Stand bringen will und den “Windows Updater” nach neuen Updates suchen lässt, kennt die Meldung “Es wird nach Updates gesucht…”.
Was aber, wenn nach einigen Stunden diese Meldung immer noch angezeigt wird?

Eine Lösung im Internet wird schnell gefunden. Beispiel auf Giga.de: Windows 7 Update fix. Leider hat diese Lösung bei mir nicht ohne Weiteres funktioniert.

Lösung auf Giga.de:

Damit Windows 7 wieder Updates findet, installiert ihr euch folgende Updates in dieser Reihenfolge:

  • KB3078601
  • KB3109094
  • KB3185911
  • KB3020369
  • KB3172605

Damit diese Updates überhaupt installiert werden konnten, musste die Einstellung Automatische Updates auf “Nie nach Updates suchen” eingestellt werden. Danach Windows neu starten und die Updates nochmals ausführen. Sehr wahrscheinlich werden einige dieser Updates schon installiert sein, was aber kein Problem darstellt, da diese nicht nochmals installiert werden. Danach hat es wieder funktioniert.

Achtung: nicht vergessen die Einstellung Automatische Updates “Nie nach Updates suchen” wieder rückgängig zu machen.

Nützliche Links

Microsoft Community: Windows Update hängt ewig

Giga.de: Windows-Update hängt – so geht’s trotzdem (Windows 7, 8, 10)

Borns IT- und Windows-Blog: Windows 7 Update findet nichts oder es dauert ewig

AVR: Unterschied zwischen sleep_cpu() und sleep_mode()

Die zwei Methoden unterscheiden sich nur beim Handling des SE-Bit. Bei der Methode sleep_cpu() muss durch den Code sichergestellt werden, dass zuvor das SE-Bit gesetzt wird und nach dem Aufwachen der CPU das SE-Bit wieder gelöscht wird.

Beispiel mit sleep_cpu():


    sleep_enable();
    sleep_cpu();
    sleep_disable();

Beispiel mit sleep_mode():


    sleep_mode();

Nützliche Links

avr-libc: sleep