Projekte trotz Corona erfolgreich absolviert

Mai bis Juli 2020 wieder erfolgreich ein RollOut für die absolviert.

Es war eine Herausforderung unter Beachtung der Corona Pandemie bedingten Auflagen in den vielen Ämtern zu arbeiten. Zumal die Empfehlungen von Land zu Land unterschiedlich waren.

Von einer Krise durch den Virus kann in der IT-Branche keine Rede sein. Nahtlos geht es weiter und die nächsten Projekte stehen im Fokus.

Ich bin für Sie wie immer erreichbar: 02202 989 12 17

Compiler Optimierung nicht vergessen

Für schnelle Lösungen und „mal eben zeigen“ in Workshops und Schulungen verwende ich schnell die nackte Kompilierung von Quellcode mit GCC, G++, COBC oder NASM. Das sollte man sich in größeren Projekten abgewöhnen. Compiler Option sind mächtig und bringen viel (Link).

Nehmen wir den berühmten „Hello World“ Code zum Beispiel (Link). In C und C++ innerhalb der Funktion „main“ ein simples printf bzw. std::out und in COBOL lediglich in der „Procedure Division“ ein „DISPLAY“. Übersetzen wir alle Sources in Assembler und erzeugen ein ausführbares Programm.

Liste der erzeugten Code

Ohne Optimierung fällt einiges auf. „helloc“ und „test-03.s“ sind die Produkte aus dem C Source-Code. Das daraus generierte Assembler ist 8,2k gross. Das Assembler aus dem C++ Code wiegt 18k und 41k bringt das Assembler aus dem COBOL Source auf die Speicher-Waage. Fertig kompiliert sind alle drei ausführbaren Programme 22k bzw. 23k groß.

Schreiben wir „Hello World“ einmal in Assembler

Assembler

und übersetzen, verlinken es mittels „nasm -felf64 helloa.asm && ld -o helloa helloa.o“

Kompilierung des Assemblercode

Wir sehen, da ist wahnsinniges Optmierungspotential. 352 Byte Quellcode und 4,8k für das ausführbare Programm. Ohne genaue Kenntnisse über den Compiler würde man in realen Projekten unter gehen – wir reden da durchaus über Mega- oder Giga-Byte die so verschwendet und zu einem Bottleneck in der Prozessierung werden kann.

Keep on Coding

Authentifierung hinter Apache2 Proxy

Leitet man einen internen Dienst, der nur über eine interne IP erreichbar ist, über einen Apache2 Proxy weiter kommt es bei Authentifizierungen zu Problemen. Einige Browser verweigern das senden der Authentifizierungsdaten, wenn die Empfängeradresse nicht der aktuellen Adresse entspricht. Das Einrichten einer Authentifizierung am Apache, der diese dann an den Proxy Endpunkt weiter leitet, bringt Abhilfe. Benutzername und Passwort sollte gleich lauten:

  ProxyRequests On
  ProxyVia On
<Proxy *>
    Order deny,allow
    Allow from all
    AuthType Basic
    AuthName „Passwort erforderlich“
    AuthUserFile /etc/httpd/.passwdfile
    Require valid-user
</Proxy>   ProxyPassMatch ^/xxx/(.*)$ http://$1/cgi-bin/faststream.jpg?stream=full&html

Im Fall der Weiterleitung von MOBOTIX Cam Streams, funktioniert die Konfiguration. (Link)

Einfacher Report mit HTML Link

Schnell Programm in COBOL mit Sub-Routine in C. Vorhanden ist die OpenVPN Liste eines Servers die auch tote Verbindungen enthält. Erstellt werden soll eine Liste, die nur aktive Verbindungen enthält. Die OpenVPN Verbindung soll über eine Website der Welt zur Verfügung stehen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
       IDENTIFICATION DIVISION.
       PROGRAM-ID. SLS.
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT CAMS ASSIGN TO 'online.txt'
           ORGANIZATION IS LINE SEQUENTIAL.           
       DATA DIVISION.
       FILE SECTION.
       FD CAMS.
       01 CAMS-FILE PIC X(118).
       01 EOF PIC A(1).
       WORKING-STORAGE SECTION.
       01 STR-LEN PIC 9(3).
       01 SUB PIC 9(3).
       01 WS-EOF PIC A(1).
       01 WS-REC PIC X(118).
       01 WERT1 PIC X(4).
       01 WERT2 PIC X(20).
       01 WERT3 PIC X(5).
       01 WERT4 PIC X(20).
       01 WERT5 PIC X(15).
       01 WERT6 PIC X(1).
       01 WERT7 PIC X(20).
       01 WERT8 PIC X(20).
       01 RET PIC 9(1).
       PROCEDURE DIVISION.
           OPEN INPUT CAMS.
           PERFORM UNTIL WS-EOF='Y'
           READ CAMS INTO CAMS-FILE
            AT END MOVE 'Y' TO WS-EOF
            NOT AT END
            UNSTRING CAMS-FILE DELIMITED BY ALL SPACES
            INTO WERT1
                 WERT2
                 WERT3
                 WERT4
                 WERT5
                 WERT6
                 WERT7
                 WERT8
            END-UNSTRING
          MOVE LENGTH OF WERT5 TO STR-LEN
           PERFORM VARYING SUB FROM STR-LEN BY -1
           UNTIL WERT5(SUB:1) NOT = SPACE
           END-PERFORM
          CALL "test" USING
               BY REFERENCE WERT5(1:SUB)
               RETURNING RET
           END-CALL
          IF RET = 1
           THEN
           DISPLAY '<a href="https://Seite.COM/xxx/'WERT5(1:SUB)
      -    '/" target="_blank" rel="noopener noreferrer">'
      -    WERT8'</a><br>'
           END-IF
           END-READ
           END-PERFORM.
           CLOSE CAMS.
           STOP RUN.

Die Sub-Routine „test“ ist ein C Programm (Link) das einen Ping durchführt und wahr/falsch zurück gibt. Zeilen 28-42 lies eine Zeile mit 8 Spalten und legt die Werte in den Variablen WERT1 bis WERT8 ab. 43-46 entfernt Leerzeichen durch simples abzählen der Stellen bis „Leerzeichen“. Danach erfolgt durch Aufruf der Ping Routine eine Prüfung der Erreichbarkeit. Wenn wahr, wird ein HTML Link generiert.

C Sub Program Ping

Schnelle Prüfung ob eine IP an einem bestimmten Port erreichbar ist. Return Werte einfach 0 (falsch) oder 1 (wahr).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
 
int test(char *_SERVER) {
    int _PORT = 80;
    int sockfd = socket(AF_INET, SOCK_STREAM, 0);
    struct sockaddr_in addr = {AF_INET, htons(_PORT), inet_addr(_SERVER)};
    struct timeval timeout;
    timeout.tv_sec = 1;
    timeout.tv_usec = 0;
    setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof(timeout));
    setsockopt(sockfd, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout, sizeof(timeout));
    if (connect(sockfd, (struct sockaddr *) &addr, sizeof(addr)) != 0)
        return 0; 
    else
        return 1;
    close(sockfd);
}

Kopieren großer Datenmengen

Es ist zeitraubend hat man große Datenmengen in einer Cloud und möchte sie transportieren.

Je nach Internetverbindung kann man den Spass verlieren – Abgleich von Bibliotheken oder Datensicherungen in der Cloud.

Ein sehr praktisches Tool habe ich entdeckt und empfehle es. Ein Onlinedienst, der Cloudspeicher automatisch kopiert und sogar synchronisiert.

Cloud Synchronisation - automatisch von Cloud zu Cloud - https://www.multcloud.com/

Es ist aber zu empfehlen, die eigene Cloud nicht dauerhaft zu verbinden und das Passwort zu ändern. Das Unternehmen untersteht dem US Recht.

Der FiButroniker

In der Digitalisierung besteht enormer Nachholbedarf bei Klein- und Handwerksbetrieben. Das treibt seltsame Blüten.

Die Erkenntnis war erfrischend: Wir IT Profis im Rechnungswesen leben vermutlich in einer rosa roten Blase. Ist es für uns doch seit mehr als 20 Jahren normal, Standard-Software für die tägliche Arbeit einzusetzen. Gewundert wurde sich, dass die Zusammenarbeit mit Steuerberatern traditionel schwierig ist – dort wurde das Potential der EDV lange nicht erkannt. Nicht erkannt, weil der digitale Horizont regelmäßig am harten Kartonrand eines ranzigen Leitz-Ordners endete. Mir ist jetzt klar, warum das so ist.

Heute – wir schreiben das 21te Jahrhundert – wird begonnen, die Errungenschaften des letzten Jahrhunderts doch einmal in die Lehrpläne des Nachwuchs zu integrieren. Kein Scherz! In der professionellen Welt der EDV gestützten Buchhaltung ist das als selbstverständliches Grundwissen seit Jahrzehnten vorhanden. Im wesentlich größeren Beritt der Klein- und Handwerksbetriebs betreuende Zunft der Steuerratenden, wird jetzt einmal – mit großem TamTam – eine Weiterbildung dem geneigten Auszubildenen, zum freiwilligen Genuß offeriert. Das alles mit der viel genutzten Überschrift „Digitalisierung“ und für sehr viel Geld.

Bitte nachlesen (Link) sonst mag man es nicht glauben, dass ich keine Nachtschattengewächse geraucht habe. Der Fibutroniker zeichnet sich dadurch aus, daß er Pivot-Tabellen erstellen kann und um die grundsätzliche Infrastruktur in der Kanzlei Bescheid weiss. Das darf nicht wahr sein!

Den ungebremsten Genuß von bodennahen Waldgewächsen mag man aber den Damen und Herren zutrauen, welche das FEG (Facharbeiter Einwanderungsgesetz) erbrochen haben, welches jüngst zum 1.3.2020 verlesen wurde. Freudig proklamierte die Fachpresse:

Besonders flexibel zeigt sich der Gesetzgeber im Hinblick auf die Informations- und Kommunikationstech­no­logiebranche. Der Mangel an Fachkräften ist hier so groß, dass IT-Spezialisten aus Drittstaaten nun nur noch eine mindestens dreijährige Berufserfahrung und deutsche Sprachkenntnisse nachweisen müssen, um einen Aufenthaltstitel zu erhalten – ein formaler Abschluss wird nicht mehr gefordert.

HS Magazin 2020-1

Jetzt wird das Bild, das ich hier skizzierte, klar. Das Totalversagen in der Arbeitswelt soll mit Fachkräften ausserhalb der EU abgefangen werden?!

Ich verweigere es mir selbst, weiter darüber nachzudenken. Wir waren einst technologisch – und das in jeder Disziplin – jeder anderen Gesellschaft haushoch überlegen. Wir waren Spitzenreiter in der EDV! Unser Erfolg – Ja,unsere Daseinsberechtigung – war in unserer Fähigkeit zu denken begründet. Heute sind wir eines der Schlußlichter in der Digitalisierung. Einstige Entwicklungsländer haben heute einen höheren Standard, eine bessere digitale Allgemeinbildung. Es kann schon gut sein, daß das FEG funktioniert. Wenn man die zahlreichen EDV Fachkräfte hier zu Lande weiter ignoriert, kann der IT Profi aus Papua Neuguinea – der ohne Abschluss drei Jahre Computer Teile auf der Mülldeponie sortierte – unseren hier beschriebenen Angestellten das Wasser reichen.

So funktioniert Digitalisierung nicht!

Es kann nur funktionieren, wenn wir die Neugierde, das Interesse wecken. Der Informatik Unterricht muss zurück in den Lehrplan – und das schon in den Grundschulen. Der Faden muss sich dann durchziehen bis in die Berufsschulen und Universitäten. Alles andere kann nicht funktionieren.

Neue Landingpage

Die Aussendarstellung und die Wirksamkeit von Onlinewerbung muss ständig geprüft werden. In dem Zusammenhang endet die Seite HALSYSTEM.de. Sie befasste sich mit der Entwicklung von High-End Systemen und brachte keinen Nutzen. Das Thema wird hier integriert.

Neu hinzu kommt die Page http://edv-schilling.de die lediglich werbende Funktion hat. Das Ergebnis der neuen Messungen diskutieren wir.

Workshop: Web Excel in Teams

Im letzten Jahr gab es einen Workshop den ich mit meiner These, man brauche als Kleinunternehmer theoretisch keine weitere Software als denn Windows, begonnen hatte.

Viele Lösungen haben wir in dem Workshop im April 2019 im Microsoft Live.com erarbeitet und bewiesen, das für die Unternehmensführung eines Kleinbetriebes nicht mehr Software nötig ist. Konkret habe ich gezeigt, das EXCEL selbst in der sehr einfachen Web Version unglaublich vielseitig einsetztbar ist. „Einfach“ deshalb, weil die Web Version auf keine Datenbanken zugreifen, keine Regeln für bedingte Formatierungen editieren und nicht programmiert werden kann. Wir können lediglich auf einfache Mittel der Datenüberprüfung, bedingte Formatierung und Formeln – wichtig ist der SVERWEIS – zurück greifen.

Mit erscheinen von Microsoft Teams, das kostenlos zur Verfügung steht, hat der Unternehmer ein unverzichtbares Arbeitsmittel. Die Frage, ob das EXCEL im Live.com und das innerhalb des Teams gleich sind, kann mit „Ja“ beantwortet werden. Ich habe die damals erarbeiteten Lösungen wie zB das Kassenbuch, die Kaffeekasse und eine einfache Einnahmen-Überschuss-Rechnung in Teams mit mehreren Teilnehmern gleichzeitig geteilt.

Neben dem Kassenbuch ist auch eine EÜR problemlos möglich. Durch die fehlende Datenbank ist aber zu empfehlen, je nach Menge der Geschäftsvorfälle, die Daten nach Periode in einzelnen Worksheets abzulegen. Mit Hilfe der Pivot Tabelle, ist eine Auswertung nach Periode in jeder Art und Weise möglich.

Das und einiges mehr hat jeder PC Nutzer mit dem Kauf einer Windows 10 Lizenz mit erworben. Gerne können wir darüber nachdenken, welche Lösungen möglich sind.

Online Allianzen bilden

#wirbleibenzuhause

Die EDV läuft aber weiter und es muss auch weiter Geld verdient werden.

So schlimm die jetzige Situation auch ist, wir müssen uns jetzt selbst helfen – Uns selbst und unseren Kunden. Die Betriebe laufen weiter und damit auch die EDV, Produktion und Buchhaltung. Gemeinsam müssen wir – der Kunde, der EDV Dienstleister und die Büro- und Buchhaltungsdiensleister – an einem Strang ziehen und die vorhandene Technik intelligent einsetzen.

Mit dem richtigen Einsatz der technischen Mittel und den Synergien durch intensive interdisziplinären Zusammenarbeit können wir den wirtschaftlichen Schaden durch die Corona-Krise minimieren.

Lasst uns darüber diskutieren. Per Telefon ( 02202/9891217 ), Facebook-Chat oder über Microsoft Teams (klick auf das Foto). Bleibt gesund!

Teams Gruppe der GfUD Bergisch Gladbach