Ich weiß nicht was MS dazu gebracht hat, das Einfügen von kopierten Werten ohne Formatierung über das Tastaturkürzel Shift+Ctrl+V aus dem alten Office zu entfernen. Stattdessen öffnet sich je nach Lust und Laune der Software mal ein Kontext-Menü, das kein Mensch auf Anhieb versteht.
Aber mithilfe eines Makros kann man dem begegnen:
Wir öffnen mit Alt+F11 den VBA-Editor.
Dort fügen wir folgenden Code ein:
Sub PasteValues()
On Error Resume Next
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
End Sub
So sollte das Ergebnis aussehen:
Dann müssen wir diesen Code mit dem Tastaturkürzel Shift+Ctrl+V verbinden. Dazu öffnen wir mit Alt+F8 folgende Übersicht:
Wir klicken auf „Options“ bzw. „Optionen“.
Und jetzt aufgepasst, in das mit dem Pfeil gekennzeichnete Feld schreiben wir ein großes V (also Shift+F)
Dann sollte man Folgendes sehen:
Jetzt alles wieder mit „OK“ schließen und das Tastaturkürzel Shift+Ctrl+V fügt nur noch die nackten Werte, ohne lästige Formatierungen ein.
Im Laufe der Jahre ist Microsoft dazu übergegangen, Nutzer von Windows durch schmutzige Tricks auszuhorchen und (damit) an sich zu binden.
Hier eine Schnelllist, wie man die schmutzigsten Einstellungen wieder deaktiviert.
Downloads von anderen PCs nicht mehr zulassen
Microsoft macht Windows-Nutzer zu Update-Lieferanten, um eigene Server-Kapazität zu sparen. Wer keine Lust hat, Microsoft seine Bandbreite kostenlos zur Verfügung zu stellen, sollte das unterbinden:
Einstellungen öffnen mit WIN-Taste+i
Update & Sicherheit
Links „Übermittlungsoptimierung“ wählen.
Deaktivieren von „Downloads von anderen PCs zulassen“
Synchronisierung privater Daten stoppen
Früher kam man auch über die Runden, ohne automatisch private Daten oder Passwörter im Hintergrund, automatisch (und unbemerkt) kreuz und quer durch die digitale Walachei zu schicken.
Einstellungen öffnen mit WIN-Taste+i
Konten
Links „Einstellungen synchronisieren“ wählen.
Hier am besten alles deaktivieren.
Personalisierte Werbung unterbinden
Microsoft verkauft personalisierte Werbung als Service am Kunden. In Wahrheit bedeutet es nichts anderes, als dass sie fleißig eure Daten an andere Datenkraken schicken. Wenn ihr also auf eurem Windows-Desktop über Bing z. B. nach Öko-Socken sucht, dann kann es gut sein, dass ihr in Kürze passende Öko-Socken-Werbung auf eurem Handy seht, während ihr gelangweilt durch Instagram scrollt.
Einstellungen öffnen mit WIN-Taste+i
Datenschutz
Links „Allgemein“ wählen.
Apps nicht mehr im Hintergrund laufen lassen
Windows erlaubt es, Apps im Hintergrund (automatisch) laufen zu lassen, auch – und gerade – wenn ihr diese gar nicht gestartet habt. Wenn ihr also eine Benachrichtigung einer App in der Nachrichtenleiste erhaltet, dir ihr schon seit Monaten nicht mehr genutzt habt, dann wisst ihr jetzt, wieso.
Praktischerweise könnte ihr entweder für alle Apps das Starten im Hintergrund deaktivieren oder es für einzelne Apps zulassen. Ich habe es immer für alle deaktiviert.
Einstellungen öffnen mit WIN-Taste+i
Datenschutz
Links „Hintergrund-Apps“ wählen.
Werbung aus dem Startmenü entfernen
Ich weiß nicht, wie es euch geht, aber in einem Produkt (Windows 10), das ich gekauft habe, möchte ich einfach keine Werbung sehen.
Einstellungen öffnen mit WIN-Taste+i
Personalisierung
Links „Start“ wählen.
„Gelegentlich Vorschläge im Startmenü anzeigen“ deaktivieren.
Cortana ausschalten
Ihr hasst die Vorstellung, mit eurem PC zu reden? Ich auch. Also deaktivieren wir Cortana möglichst schnell, damit sie gar nicht erst auf die Idee kommt, im Hintergrund unserer Stimme zu lauschen.
Dazu müssen zwei Einstellungen bearbeitet werden.
Schritt 1
Einstellungen öffnen mit WIN-Taste+i
Datenschutz
Links „Spracherkennung“ wählen.
Schritt 2
Einstellungen öffnen mit WIN-Taste+i
Datenschutz
Links „Freihand- & Eingabeanpassung“ wählen.
Benachrichtigungen einschränken
Nervt es euch auch so sehr, wenn alle paar Minuten Nachrichten in der Benachrichtigungsliste aufblinken und euch von der Arbeit ablenken?
Einstellungen öffnen mit WIN-Taste+i
System
Links „Benachrichtigungen und Aktionen“ wählen.
Ich selbst lasse die wichtigsten Benachrichtigungen zu, aber nur für eine Auswahl an Apps.
Hier zeige ich kurz und schnell auf, wie man Docker Container anlegt, startet und editiert.
Anmerkung: Ich nutze Windows 10 als Host und arbeite mit Docker Desktop und der Linuxumgebung für Windows namens WSL bzw. WSL2. Diese Befehle funktionieren aber selbstverständlich auch auf nativen Linux-Systemen.
Ein Image herunterladen
Docker Container sind selbstständig lauffähige Instanzen von Images, die editiert, dupliziert, getestet, verschickt oder (später) wieder entfernt werden können. Um also einen Container zu starten, muss man zunächst ein Image anlegen oder herunterladen. Dazu kann man etwa das Repository von docker.com, das Docker Hub, benutzen. (Später wird noch gezeigt, wie man Images selbst erstellen kann.) Das Image verbleibt als Blaupause dabei unverändert.
Im Online Docker Hub gibt es tausende verschiedener Images. Ich nutze hier das thematisch naheliegende Image „docker/getting-started“.
Wir geben in der Kommandozeile ein:
cd ~ # ab ins Homeverzeichnis
docker pull docker/getting-started
Folgendes sollte zu sehen sein:
Um zu überprüfen, welche Images in unserem lokalen Repository vorhanden sind, nutzen wir das Kommando docker images.
docker images
Den ersten Container erstellen
Nur erstellen wir unseren ersten einfachen Container.
Da es anfangs zu Missverständnissen führen kann, weil man fälschlicherweise die Befehle run und start als Synonyme versteht, muss ich auf den entscheidenden Unterschied hinweisen: run = Abkürzung für create + start
Der Befehl run erzeugt also einen neuen Container von einem Image und startet ihn automatisch.
Wir gehen einmal Schritt für Schritt vor.
docker create -p 80:80 docker/getting-started # Container wird angelegt, aber nicht gestartet
docker ps -a # Auflistung der vorhandenen Container
Mit „-p 80:80“ werden die Ports 80 von Container und Gastsystem miteinander verbunden, das ist wichtig, um gleich per Browser auf den Container zugreifen zu können. Wie gewünscht und erwartet wurde ein neuer Container angelegt. Nun wollen wir diesen starten. (Wir können Container über deren automatisch generierten Namen ansprechen.)
docker start eloquent_haslett # Namen kann man leichter nutzen als IDs
docker ps -a # Kontrolle
Die IP des Containers ermitteln
Um die IP des gestarteten Containers zu ermitteln, müssen wir uns zunächst per Shell verbinden. Dies geschieht mit dem Befehl docker exec. Bei dem von Docker bevorzugten Alpine Linux liegt die Shell auf dem Pfad /bin/sh – andere Linux nutzen z.B. /bin/bash.
docker exec -u 0 -it eloquent_haslett /bin/sh
hostname -i # IP des Containers ausgeben
exit # Verbindung wieder trennen
Exkurs: Die IP für Windows Systeme ermitteln
Sollte der Container auf einem Windows Host laufen, dann müssen wir die IP des Containers anders ermitteln.
Dazu müssen wir in der Windows-Konsole (nicht in Unix!) den Befehl ipconfig nutzen. Die IP findet sich dann unter dem Eintrag für den Ethernet-Adapter WSL.
Der erste Aufruf eines Containers über den Browser
Wir können jetzt entweder den Container über die Adresse localhost (für Windows) oder über die ermittelte IP aufrufen.
Im Editor suchen wir jetzt mit der Tastenkombination STRG+w nach dem String „<h1>“. Die Überschrift besteht aus dem Text „Getting Started“ wir ändern ihn in „Hallo, Welt!“. Dann bitte speichern und den Editor wieder verlassen.
Rufen wir die Seite im Browser neue auf, sollte folgende Änderung zu sehen sein:
Und natürlich sollte die Änderung auch permanent sein und nicht nach Neustart verschwunden sein.
exit # um die Shell des Containers zu verlassen, falls noch nicht geschehen
docker stop eloquent_haslett # Container stoppen
docker start eloquent_haslett # Container wieder starten
Und wenn wieder die Seite im Browser aufgerufen wird, sehen wir weiterhin die Änderung.
Der umgekehrte Weg: Image aus Container erstellen
Wenn wir nun aus dem geänderten Container ein eigenes Image erstellen wollen (um es bspw. in das Repository von Docker hochzuladen oder um es Kunden zum Testen zugänglich zu machen), wird der Befehl docker commit genutzt.
Normalerweise wird die PowerShell (als besserer Ersatz für die Kommandozeile cmd) immer schon mit Windows installiert. Solltet ihr sie deinstalliert haben, könnt ihr sie leicht wieder zurück installieren. Es kann auch nicht schaden, die neueste Version zu installieren. Das Paket dazu findet sich hier: https://docs.microsoft.com/…
In der PowerShell (oder, wenn man die nicht mag, in der Kommandozeile) prüfen wir, ob Python installiert ist
Python --version
Python ist erfolgreich installiert.
Mit dem Befehlt python starten wir den Interpreter. Dass der Interpreter läuft, erkennt man am Prompt „>>>“.
Der Python-Interpreter ist gestartet.
Mit quit() kann man den Interpreter wieder verlassen.
Entwicklungsstudio VSCodium
Natürlich könnte man jetzt auch mit einem simplen Text-Editor arbeiten. Aber das wäre bei einem komplexen Framework wie Python sehr mühselig.
Daher installieren wir auf unserem Windows-Rechner den von mir favorisierten Editor VSCodium. VSCodium ist die OpenSource-Alternative zu Visual Studio Code von Microsoft und ähnelt diesem komplett, bis auf die Tatsache, dass es keine Nutzerdaten an Microsoft sendet.
Was wir vorhin zum Test in der PowerShell eingegeben haben, können wir jetzt selbstverständlich auch im eingebauten Terminal von VSCodium eingeben.
Terminal on VSCodium
Es gibt einige Erweiterungen (Extensions) für VSCodium, die wir uns noch installieren sollten. Das geht ganz einfacher über den eingebauten Extension Marktplatz.
Folgende Erweiterungen werden benötigt bzw. sind empfehlenswert:
Python (Anmerkungen weiter unten beachten)
Python Indent
Python Test Explorer
Wenn man die Python-Extension installiert, wird man gefragt, ob man Python installieren oder eine vorhandene Installation nutzen will.
Wenn alles geklappt hat, wird unten links im Editor die aktuelle Python-Version ausgegeben.
Optional: GitHub
GitHub ist die aktuell wichtigste Software für Versionsverwaltung. Im Grunde kann es nicht schaden, sich damit auszukennen, da man bei professionellen Projekten früher oder später damit konfrontiert wird.
GitHub kann für unsere Bedürfnisse ganz einfach per Default installiert werden.
„Hallo, Welt“-Beispiel
Wir legen mit STRG+N (oder per Menübefehl) erstmalig eine neue Python-Datei an.
Python mit VSCodium, eine neue Datei
Als Typ wählen wir natürlich „Python File“ aus.
Im Editor geben wir jetzt folgende Zeile ein:
print("Hallo, Welt!")
Die erste Zeile Code
Nun wählen wir auf der linken Leiste den Punkt „Run and Debug“ aus und klicken auf die nun erscheinende Schaltfläche gleichen Namens.
Debug, 1. Schritt
Sollten wir die Datei bisher noch nicht gespeichert haben, werden wir nun dazu aufgefordert. Praktischerweise solltet ihr euch dafür auch gleich einen Extra-Ordner anlegen, um (später) mit der Versionsverwaltung von GitHub arbeiten zu können.
Haben wir alles richtig gemacht, dann sollten wir im Terminal von VSCodium nun die Ausgabe „Hallo, Welt!“ sehen.
Debug, 2. Schritt
Versionsverwaltung mit GitHub
Um nun die Versionsverwaltung mit GitHub zu aktivieren, gehen wir wie folgt vor.
Links „Source Control“ auswählen (oder STRG+SHIFT+G), danach den oben erwähnten Ordner über „Open Folder“ auswählen.
GitHub, 1. Schritt
Nun muss mit „Initialize Repository“ erstmalig die Datenbank angelegt werden, die GitHub benötigt, um alle notwendigen Informationen zu speichern. Dabei handelt es sich um einen versteckten (Unter-)Ordner im Ordner der Python-Dateien.
GitHub, 2. Schritt
Nun kann man in einem geteilten Fenster die Änderungen bzw. Unterschiede (rechts) vom Original-Programmcode (links) sehen. Da es sich bei unserem Beispiel um die erste Version des Programmcodes handelt, ist die linke Fensterseite natürlich noch leer.
GitHub History
So, das soll es erstmal gewesen sein.
Wer sich jetzt in Python weiterbilden möchte, der sollte hier hereinschauen:
Hier beschreibe ich, wie man die Konfigurationsumgebung Webmin für Debian schnell und einfach installiert.
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # Kopie schadet nie
echo 'deb http://download.webmin.com/download/repository sarge contrib' | sudo tee -a /etc/apt/sources.list > /dev/null
su -l # zu root wechseln
cd /root
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc
exit # wieder zurück zu Default Nutzer
sudo apt-get update
sudo apt-get install apt-transport-https
sudo apt-get install webmin
Webmin startet immer mit einer erzwungenen SSL-Verbindung. Da wir in der Regel auf dem Server noch kein SSL-Zertifikat installiert haben, schalten wir den Zwang zu SSL vorläufig aus, um Stress mit dem Browser zu vermeiden.
Wir öffnen die Konfigurationsdatei von Webmin:
sudo nano /etc/webmin/miniserv.conf
und ersetzen ssl=1 durch ssl=0
Nun müssen wir den Webmin-Server wieder starten
sudo /etc/init.d/webmin restart
Wir öffnen im Browser http://masch3:10000 und wählen uns als normaler Linux-Nutzer an. (Hinweis: beim ersten Aufruf kann es durchaus etwas länger dauern, bis der Browser eine Seite auswirft.)
Nun müssen wir noch Refresh Modules klicken, um eventuell noch nicht von Webmin zugeordnete Module zu erkennen.