Januar 4, 2021

Lizenzmodelle statt Kauf

Weiterlesen
November 9, 2020

Servicewüste Deutschland?

Werden wir jetzt alle zu Menschen zweiter Klasse?

Weiterlesen
Cover Image

Lizenzmodelle statt Kauf

Januar 4, 2021 - Lesezeit: ~1 Minute

Lizenz.png 

Immer mehr Softwareunternehmen arbeiten mit Lizenzmodellen. Die Versionen, welche käuflich zu erwerben waren, laufen aus und möchte man der Software treu bleiben, gibt es nur noch die Möglichkeit einer Lizenz die es monatlich, quartalsweise oder ähnliches zu verlängern gilt.

Man kann nur vermuten, dass die Softwarehersteller so nicht einmal große Umsätze einfahren und den Rest der Zeit von diesen leben, sondern so regelmäßige und kalkulierbare Einnahmen erzielen.

Ich persönlich mag diese Modelle nicht und finde es schade, wenn Software die in einer Version jahrelang genutzt wurde, plötzlich nicht mehr zu gebrauchen ist und man stattdessen auf eine Lizenz umsteigen muss, obwohl man diese Software vielleicht nur zwei Mal im Monat nutzt.


Cover Image

Servicewüste Deutschland?

Werden wir jetzt alle zu Menschen zweiter Klasse?

November 9, 2020 - Lesezeit: ~1 Minute

Gerade in der momentanen Situation (Corona-bedingt) sollte man meinen, die "Läden" sind daran interessiert Geschäfte zu machen!?

Leider scheint das nicht überall der Fall zu sein. Der Gang in ein Autohaus für einen Jahreswagen (Preis um 20.000 €) endet im Nachdenken. Zunächst wird man in den Altbau geschickt, man versteht ja, dass man in Coronazeiten nicht erwarten kann, begleitet zu werden. Der Altbau sieht aus wie er heißt: ALT.

Man kommt sich plötzlich vor, wie ein Mensch 2. Klasse... Soll das so sein?

Die Mitarbeiter lassen einen für eine Zigarette warten und bekommen es nicht mal hin den Mundschutz gescheit zu tragen... Gespräch vor der Probefahrt vielleicht 10 Wörter seitens der Mitarbeiterin, nach der Probefahrt auch nicht viel mehr....

Auch wenn das Auto noch so toll war, man wird sich erstmal noch zwei andere ansehen. Ja das passiert, wenn man mit dem Service unzufrieden ist.

Hier bei Symolo wird jeder Kunde gleich freundlich und zuvorkommend behandelt, egal ob er 200 € im Jahr Umsatz gebracht hat oder 20.000 €. Unserer Meinung nach ist das selbstverständlich und gehört sich so!


Cover Image

Mit Node.js gegen den Rest der Welt - Heute Webserver

Webserver in Node.js

November 8, 2020 - Lesezeit: 28 Minuten

Mit Node.js lässt sich JavaScript in einer Konsolenumgebung starten, ohne dass dazu eín Browser notwendig wäre. Das eröffnet ganz neue Möglichkeiten, da so JavaScript aus der Sandbox des Browsers herauskommt und die bisherigen Beschränkungen, wie Dateizugriff und betriebssytemspezifische Abfragen nun entweder direkt möglich sind oder unkomplitziert implementiert werden können. Node.js kommt mit einem Paketverwaltungssytem auf den Rechner. Dieser Manager liefert Zugriff auf eine große Zahl von Paketen, in denen viele Funktionen in Node.js bereits realisiert sind oder Node.js durch z.B. Platform invokes sinnvoll erweitert.

Diese Pakete wiederum können Verweise auf andere Pakete haben, falls sie diese benutzen. Ganz ähnlich zu dem Paketmanager von Debian. Wenn z.B. ein FTP Paket geladen wird, wird im Hintergrund das Paket für den Dateizugriff ebenfalls installiert. Mithilfe einer kleinen Konfigurationsdatei und einem ordnerbasierten Paketmanagement, können verschiedene Versionen auf einem Rechner nebeneinander installiert werden. Dies ermöglicht verschiedene Projekte in verschiedenen Versionständen nebeneinander zu betreiben. Weiterhin ist der Anspruch, auf jedem System lauffähig zu sein und das Prinzip "Write once, run anywhere" passend umzusetzen. Intressant wird es immer dann, wenn man versucht betriebssystemspezifische Implementierungen zu nutzen.

Da Node.js unkompliziert sowohl unter Windows als auch unter Linux verwendet werden kann, ist es naheligend, als JavaScriptentwickler einen Blick zu wagen. Man kann im Gegensatz zu anderen Systemen den Know How Aufbau für eine Skriptsprache minimal halten und schnell Ergebnisse erzielen. Um mit der ganzen Umgebung etwas warm zu werden und weil ich für die Entwicklung einen kleinen Webserver benötigt habe, hab ich das Ganze mal mit einem Nodeskript umgesetzt. Natürlich ist dieser Server nicht vergleichbar mit der voll ausgestatteten Variante eines Symolo Servers, aber für kleine Zwecke ist auch ein solches Skript durchaus hilfreich.

Die Funktion des Skriptes umfasst lediglich das Starten eines Webservers, der eine begrenze Anzahl von Dateien aus einem Ordner und dessen Unterordnern laden kann. Dieses Skript ist nicht für Produktivumgebungen gedacht. So, genug chitchat, los gehts:

const http = require("http");
const path = require('path');
const fs = require('fs');

const HOST = "localhost";
const PORT = 8190;
const HOMEPATH = "dmf";

const requestListener = (requestresponse=> {

  let filePath = './' + request.url;
  if (filePath == './/'filePath = './' + HOMEPATH + '/index.html';
  else filePath = './' + HOMEPATH + request.url;

  filePath = filePath.split('?')[0];

  let extname = path.extname(filePath).split('?')[0]; // filter the queryparams

  let contentType = 'text/html'// set default content type
  switch (extname) {
    case '.js'contentType = 'text/javascript'break;
    case '.css'contentType = 'text/css'break;
    case '.json'contentType = 'application/json'break;
    case '.png'contentType = 'image/png'break;
    case '.jpg'contentType = 'image/jpg'break;
  }

  fs.readFile(filePath, (errorcontent=> {
    if (error) {
      if (error.code == 'ENOENT') {
        fs.readFile('./404.html', (errorcontent=> { // some nice error handling
          response.writeHead(200, { 'Content-Type': contentType });
          response.end(content'utf-8');
        });
      }
      else {
        response.writeHead(500);
        response.end('Sorry, check with the site admin for error: ' + error.code + ' ..\n');
      }
    }
    else {
      response.writeHead(200, { 'Content-Type': contentType });
      response.end(content'utf-8');
    }
  });
};

const server = http.createServer(requestListener);
server.listen(PORTHOST, () => { console.log(`Server is running on http://${HOST}:${PORT}`); });

Ein minimalistischer Server auf nur 50 Zeilen. Natürlich wird hier Gebrauch von einigen Paketen gemacht, die viele der Grundarbeiten bereits erledigen. Trotzdem kann sich das Ergebnis sehen lassen. Dieses Skript, unter und für Windows entwickelt, ist auch aus dem Stand unter Linux und MacOS lauffähig. Da hier Dateizugriffe verwendet werden, ist dieses Skript leider nicht für den direkten Einsatz im Browser verwendbar. Dafür beim nächsten Mal ein Beispiel.


Cover Image

Es müssen nicht immer die Großen sein

Open Source vs. Global Player

November 3, 2020 - Lesezeit: 3 Minuten

Wer glaubt, dass er im Internet nur auf youtube Videos schauen kann, Quellcodes nur auf github hosten oder chatten nur mit whatsapp machen kann, liegt ziemlich falsch. Zu den meisten Diensten gibt es alternative Implementierungen, die meistens sogar Open Source sind. Das hat ja nicht nur den Vorteil, dass sich auch mal Fremde den Source Code anschauen und was beitragen können, sondern auch, dass in Bereichen, wo Datenschutz eine Rolle spielt mal noch eine unabhängige Instanz das Ganze prüfen kann.

Die non-profit Matrix.org Foundation versucht sich an einer überarbeiteten Definition von freier Kommunikation. Dabei wird aber nicht parallel zu whatsapp, signal, telegram und Konsorten gearbeitet, die werden einfach knallhart integriert. Den Versuch gab es schon mal mit XMMP und IRC funktioniert auch ganz ähnlich, so richtig gewuppt hat das aber nicht. Mal sehen ob es diesmal besser klappt.

Mit jitsi-meet kann man easy eigene Videokonforenzen abhalten ohne dazu über irgendwelche Server in China geroutet zu werden. Mit gitea baut man sich einfach seinen eigenen github (gut, ich meine wer ist nicht bei github). Und selbst youtube kann man in Eigenregie mit invidious betreiben.   

Jetzt ist es natürlich so, dass nicht jeder einen voll ausgestatteten Webserver sein Eigen nennt und sein Wohnzimmer in ein Datacenter verwandelt hat. Denn um die Dienste zu betreiben ist ja nicht nur die Software notwendig, sondern ja auch entsprechende Infrastruktur und natürlich ein passender Internetanschluss. Zudem müssen die Server gepflegt werden. Nicht nur die Software und das Betriebssystem müssen aktuell gehalten werden, auch muss machmal die Hardware nachjustiert werden.

Glücklicherweise ist das Internet nicht nur mit Werbung und Bots zugemüllt, sodass man immer mal wieder über ein toll gemachte Seite stolpert. Soeben passiert! Und jetzt kommts: Der Betreiber hat sogat ein paar Open Source Dienste selber gehostet. Also, wer sich die vorgestellten Dienste mal ansehen will ohne die Couch durch einen Serverschrank zu ersetzen, dem sei die Seite sp-codes.de von samuel-philipp.de wärmstens an Herz gelegt.   

Und das alles nur, weil ich ein Plugin für Bludit gesucht habe...


Über

Symolo - systems of mobile logistics
Wir sind Anbieter für Softwarelösungen im Logistikbereich und darüber hinaus.
https://symolo.de