All posts by Stefan

Third day of the hybris summit in Barcelona

Seen:

  • Develop SAP Hybris Commerce Backoffice Applications with rapid prototyping using the Backoffice Framework
    • F4 to enter the backoffice orchestrator
  • Discover Smart Edit and what makes it special in the CMS world
  • Use a Rule Engine model as a foundation for Business Rules Management Systems
  • Build secure code from within – securing your code against cyberattacks

#SAPHybrisLIVE
Continue reading “Third day of the hybris summit in Barcelona” »

Second day of the hybris summit in Barcelona

Seen:

  • Day Two Keynotes
  • Explore the Impact of AI on E-Commerce
  • Build Your Functional Toolset
  • Price Your Products for Maximum Impact
  • New ‘first look’ demo: YaaS for the Enterprise
  • Galaxy
  • SAP S/4HANA and SAP Hybris Commerce Integration
  • The Role of Blockchain in Enterprise Commerce and Product Content Management

#SAPHybrisLIVE
Continue reading “Second day of the hybris summit in Barcelona” »

First day of the hybris summit in Barcelona – some impressions

I’ve visited these sessions:

  • Learn the Benefits of API-Backed Accelerators
  • Learn about Cloud and Scalability in SAP Hybris Commerce Technology Strategy
  • Discover the Three Keys to Marketing in the Moment
  • Handle Black Friday Traffic Every Day
  • Co-Innovation Program for SAP Hybris Solutions: Lead the Technological Evolution

#SAPHybrisLIVE
Continue reading “First day of the hybris summit in Barcelona – some impressions” »

Vierter JUG Saxony Day

Ich war heute auf dem JUG Saxony Day in Dresden. Ach ich hab jetzt gar keine große Lust viel zu schreiben:

WAR SUPER und HAT SICH GELOHNT! 🙂

Mein persönliches Highlight war der Vortrag “Rundungsfehler” von Michael Wiedeking aber auch bei “Über den bewussten Umgang mit Nichtwissen in IT-Projekten” von Prof. Dr. Tobias BrĂŒckmann habe ich mir so einiges mitgenommen.

Hier meine Mitschrift:

(Ich habe vor Ort blind mitgemarkdownt und das ganze dann nach einem kurzen Review nur in html-umgewandelt – es wĂ€re sehr erstaunlich, wenn sich keine Tippfehler fĂ€nden)

1. Keynote

2017-09-29
Radisson Blue Hotel Radebeul

Eröffnung

500 Besucher, 90 Studenten
#JSD2017

Keynote – Software Architektur fĂŒr alle!? – Software Architektur wird Entwicklerstil

Stefan Zöllner / embarc

  • The accidental Architecture – paper von Grady Boch

Entscheidungen und Konzepte

  1. Interaktion mit Benutzern und Fremdsystemen
  2. Unter der Haube
  3. Entwicklung und Weiterentwicklung
  4. Ziel Umgebung und Betrieb

Architekturbewertung:

  1. Entscheidungen absichern
  2. Risiken kennen aufdecken
  3. Zielerreichung prĂŒfen
  4. Kompromisse finden
  • Arc42
  • ATAM

QualitÀtsmerkmale

  • Reliability (ZuverlĂ€ssigkeit)
  • Maintainability (Wartbarkeit)
  • Usability (Nutzbarkeit)
  • Functionality
  • Security
  • Compatiblity
  • Performance
  • Portability

Wechselwirkungen zwischen QualitÀtsmerkmale:

  • Effizienz vs Portablilty
  • Sicherheit vs. Usability

Architekturvision

  • fĂŒr den Projekterfolg kritische Architekturaspekte
  • fĂŒr die Entwicklung unumstĂ¶ĂŸlich wichtel Rahmen

Prinzipien vs. Konkrete Vorgaben – im Team vereinbaren

arc42

Gliederungsvorschlag zur Architekturdoku

  1. EinfĂŒhrung und Ziele
  2. Randbedigungen
  3. Kontextabgrenzung
  4. Lösungsstrategie
  5. Bausteinsicht
  6. Laufzeitsicht
  7. Verteilungssicht
  8. Konzepte
  9. Entwurfsentscheidunge
  10. QualitÀtsszenarien
  11. Risiken
  12. Glossar

Softwarearchitektur: Stufen

  1. ZufÀllig
  2. Explizit
  3. Nachvollziebar
  4. Wirkungsvoll
  • Wo finde ich die Struktur?
  • Übergreifende Konzepte?
  • Kommunikation? Wie beantwortet Ihr Fragen nach ArchitekturansĂ€tzen, – Konzepten, – Entscheidungen?

Risikogetriebene Architektur

“You should play as much attention to software arch. a single it contributes risk to the overall Projekt…”

Literatur

Architektur Spicker

Blog


2. Über den praktischen Umgang mit Nichtwissen in IT-Projekten

Prof. Dr. Tobias BrĂŒckmann (CampusLab)

Nichtwissen, Unwissenheit, Unsicherheit

  • Softwareentwicklung ist Wissenserwerb und dessen Übersetzung in Programmcode
  • Software reprĂ€sentiert das Wissen zum Zeitpunkt der Implementierung.

“gesunder Menschenverstand”

  1. Unbewusste Inkompetenz
  2. Bewusste Inkompetenz
  3. Bewusste Kompetenz
  4. Unbewusste Kompetenz (gesunder Menschenverstand => hilft nur den Profi)

Typen von Unsicherheit

  1. Produkt-Unsicherheit (Was?)
  2. Methoden-Unsicherheitn (Wie? )
  3. Stakeholder-Unsicherheit (Wer?)
  4. DomÀnen-Unsicherheit (Worin?)

Ebenen von Unwissenheit

  1. Lack of Ignorance – Fehlen von Unwissenheit
  2. Lack of Knowledge – Fehlen von Wissen (ich weiß das ich etwas bestimmtes nicht weiß)
  3. Lack of Awareness – Fehlen von Bewusstsein (ich weiß, das ich irgend etwas nicht weiß)
  4. Lack of Process – Fehlen eines Prozesses (ich weiß, dass ich etwas nicht weiß, aber nicht, woher ich das wissen bekomme)

Ziel der Softwareprozesses

Ebene 1: Fehlen von Unwissenheit zum Zeitpunkt der Implementierung.

Typische Fehlermuster in der Praxis

Prinzip des perfekten Autodidaktikers

Was beschrieben / gesagt wurde gilt als vermittelt und verstanden

Prinzip der unklaren Probleme

  • Jeder Stakeholder hat anderes Problem
  • Jeder Stakeholder hat andere Vorstellungen von den Problemen der anderen

Prinzip der einfachen VerfĂŒhrung

Fokus auf Dinge, die man gut kennt

Prinzip der Axiomatic von dokumentierten Annahmen

  • Was mit viel Aufwand dokumentiert wurde, wird nicht mehr hinterfragt – gilt als richtig
  • Dokumentierte Annahmen sind fix, Änderungen schwer

Prinzip der zwanghaftgen VollstÀndigkeit

  • Erst wenn etwas wirklich vollstĂ€ndig ist, ist es gut.
  • Nur das Detail zĂ€hlt, der Überblick ist nicht wichtig.

Prinzip des ĂŒberlagerten Wissen

  • Verschwendung vieler Ressourcen fĂŒr das Anlegen großer LagerbestĂ€nd an Wissen
  • LagerbestĂ€nd ist schnell ĂŒberlagert und wertlos

Wissen hat ein Haltbarkeitsdatum

Prinzip der Missachtung von Erkenntnisprozessen

  • Keine Möglichkeit auf gewonnene Erkenntnisse zu reagieren
  • Stigmatisierung von Erkenntnissen als Fehler

Prinzip der maximalen Distanz zum Kunden

Prinzip der Eigengefangenheit

“Dem Experten im Umgang mit einem Hammer erscheint jedes Problem als ein Nagel.”

Prinzip der Ummöglichkeit der eigenen Meta-Perskektive

Reflektor des eigenen Handelns bzgl. Des Wertbeitrags

Techniken zur Gewinnung und Verwaltung

Annahme: Wissen ist wertvolle Ressource

  • selten Uhren in MeetingrĂ€umen
  • Wie teuer war das Meeting? Wieviel Wissen wĂŒrde gewonnen?

Verwaltung des Wissens (LagerbestÀnd)

  • Definition of Ready (Spec vor der Entwicklung)
  • Definition of DONE

Veranschaulichen von Unwissen

  • Kategorien statt vermeintlicher PrĂ€zision (SchĂ€tzungen in Shirt grĂ¶ĂŸen M statt 54,034)
  • Explizite Ungenauigkeit statt vorgetĂ€uscht Wissen
  • Aktuellen Stand der Erkenntnisse reflektieren (regelmĂ€ĂŸig NeuschĂ€tzen und Repriorisierung)

Steuern auf Basis von gewonnene Wissen

  • Annahmgesteuert vs. Erkenntnissgesteuert

3. Agiles Sefi

Jan Gentsch & Julia Dellnitz

  • Arbeit am Produkt / im Team
  • Arbeit am Unternehmen
  • Arbeit an sich selbst (Vormachen) – inspect & adapt

Feedback

  • bekommen Negatives Feedback tut oft weh
  • geholt Feedback fĂŒhlt sich besser an

Feedback selbst einholen

Agile Selfie


4. Ein Agile Knigge fĂŒr Entwicklerteams

Lena MĂŒller-Ontjes & Beginn Haider (Mach AG)

Prozesse Ă€ndern heißt sich selbst Ă€ndern!

Userstories

INVEST-Methode

  • Indeendent
  • Negotiable
  • Valuable
  • Estimable
  • Small
  • Testable

Sprintplanung

  • Team ĂŒbernimmt und unterstĂŒtzt bei Erstellung von Stories
  • Fehler vermeiden statt Fehler finden
  • Hinterfragen
  • Besprochene dokumentieren
  • Keine Entwickler-Anleitung
  • Alles was das Team macht steht am Board
  • Work-in-Progress-BeschrĂ€nkung
  • QA ist Teil des Teams
  • Der Sprint ist und bleibt stabil (Aufgaben / Dauer)
  • Wissensinseln vermeiden

Retrospective

  • Nur fĂŒr Teammitglieder!
  • Aktive Teilnahme aller Mitglieder
  • Moderator notwendig
  • Fokus ist nur der letzte Sprint
  • Keine Opferhaltung
  • Maßnahmen dokumentieren

Abnahme

  • Abnahme ist keine zweite QA
  • Konflikte eingehen -> alles muss auf den Tisch

Fazit

  • Vertrauen schaffen
  • Methoden einsetzen
  • Lösungsorientiert denken
  • Sprint-Alzheimer verhindern
  • Feedback geben

5. Serverless

Jörg Adler, Benjamin Otto (Mercato)

Cloud ist nicht nur Rechenleistung und Speicher sonder auch Servses

  • Infrastructure (IaaS)
  • Platform (PaaS)
  • Function (FaaS)

Tool to check: artillery

Function as a Service

  • alle Ressourcen beim Cloudanbieter
  • DEV stellt nur Code bereit
  • keine Persitenz
  • anbieterspezifisch
  • schnell scallierbar

AWS Lambda

  • functions can be bound to S3-buckets (eg. called on file-upload)
  • mehrere Sekunden fĂŒr Start eines Lambdas
  • 2800 Lambdas – rund 40 TFlops (ca. 7 Cent/Sek)
  • JavaSDK von Amazon (Github: aws-lambda-java-libs)
  • Limits
  • Heap max. 1.5 GB
  • Laufzeit max. 5 Minuten

Kosten

  • Kostenalarme möglich (cloud-watch)
  • deutlich preiswerter als Docker in elastic cloud

Serverless framework

CLI-tool zum Bauen und Deployen von serverless functions

Demo mit Lambda-Beispiel

-> in ErgÀnzung: https://www.golem.de/news/open-source-oracles-serverless-plattform-versteht-auch-aws-lambda-1710-130447.html


6. Rundungsfehler

Michael Wiedeking (Mathema Software GmbH)

Gleitkommazahlen

  • Je grĂ¶ĂŸer die Zahl, desto grĂ¶ĂŸer die Ungenauigkeit (logarithmisch wird der Abstand der darstellbar Zahlen grĂ¶ĂŸer)
  • Je mehr grĂ¶ĂŸer die Mantisse, desto genauer die Darstellung (… kleiner die AbstĂ€nde)

Rechnen mit Gleitkommazahlen

Wenn eine Zahl nicht darstellbar ist, dann nimm die nĂ€chst gelegene -> Problem der Unterschiedlichen AbstĂ€nde -> Fehler bei großen Zahlen grĂ¶ĂŸer

Je nach Zahl treten große Fehler auf: 0.1 + 0.1 + 0.1 + 0.1 = 0.5

Fehler hÀngt ab von:
* Abstand von den existierenden Zahlen
* => GrĂ¶ĂŸe der Zahlen

=> Reihenfolge der Rechnung ist wichtig (Zwischenergebnisse können nicht darstellbar sein)

DFÜ am Amiga 1 – Mailbox

Kennt Ihr noch “DFÜ”? Ich glaube ich habe das Wort “DatenfernĂŒbertragung” schon seit einer halben Ewigkeit nicht mehr gehört.

In den letzten Wochen hatte ich mal wieder Spaß mit meinem Amiga. Etwas, das schon eine Weile auf meiner Wunsch-TODO-Liste steht ist das Thema DFÜ/Internet/Netzwerk. Ja, das alles geht mit dem Amiga.

Thema heute: Dial-In-Mailboxen

Bevor das Internet populĂ€r wurde, gab es sogenannte “Mailboxen“. Im Prinzip waren das Rechner, die man “anrufen” konnte – mit einem Akustikkoppler oder Modem. FĂŒr ersteres bin ich zu jung, aber ein Modem habe ich vor einiger Zeit auf dem Dachboden noch gefunden.

Was wird benötigt?

  • Amiga 🙂 – in meinem Fall ist das “THE-BABY” – ein A1200
  • Modem – ich benutze ein Elsa MicroLink 56k basic
  • Terminalprogramm – NComm (freier Key) oder Term
  • Telefonanschluss
  • Telefonnummern von Mailboxen
Amiga 1200 (aka "The BABY") mit Elsa-Modem
Amiga 1200 (aka “The BABY”) mit Elsa-Modem

 

NComm (Modem noch nicht angeschlossen)
NComm (Modem noch nicht angeschlossen)

 

Nachdem ich genau mit diesem Modem bereits vor ĂŒber 20 Jahren in diversen Mailboxen unterwegs war, sollte es mit den ersten drei Punkten keine Probleme geben. Also Term installiert, Modem angeschlossen … und … “Modem not responding”. Hmm. Ach da war doch was … der Initialisierungsstring.

Nach wenigen Minuten Recherche bin ich fĂŒndig geworden. Mit AT&FX3 ließ sich das Modem schließlich von Term zur Mitarbeit ĂŒberreden.

Init-String Elsa MicroLink 56k basic: AT&FX3
Init-String Elsa MicroLink 56k basic: AT&FX3

 

Doch nun die große Frage – wird die DFÜ ĂŒber meinen VOIP-Anschluss funktionieren? Nun – JA – absolut problemlos.

Die technischen Voraussetzungen sind geschaffen. Was fehlt sind einige Telefonnummern von noch existierenden Mailboxen. Tja, und hier gab es eine kleine EnttĂ€uschung. Es existieren zwar noch einige aktive BBS, aber die sind fast ausschließlich via Telnet erreichbar. Nun, das können wir ja gerne spĂ€ter machen, bis dato hing der Amiga aber noch nicht am Internet. Und ĂŒberhaupt ist das ja nicht einmal halb so cool und retro 😉 .  Leider habe ich keine einzige noch aktive deutsche (alles andere ist nicht flat) Amigamailbox gefunden. Nichts desto trotz bin ich fĂŒndig geworden – wenn auch nicht im Amigabereich – und konnte mich erfolgreich in folgende beiden Mailboxen einwĂ€hlen:

Im nÀchsten Teil wird es um die Verbindung zum Internet und diverse Dienste gehen.

Legal Video on Demand

"Bought" a movie on Amazon - Locked In - Fucking Amazon
Locked in the Amazon-Universe

Just wanted to legally watch a movie spontaneously on my Kodi-media-center …

  • Saved stream is DRM-contaminated
  • No working Kodi-plugin for Amazon Video
  • Amazon-Video-App does not support DLNA
  • Had to do a 2-hour-screen-recording >:(

… and you wonder about illegal streams and downloads?

GREAT NEW WORLD! 🙁

Enigmail und die Suche

Nach dem Studium habe ich E-MailverschlĂŒsselung bewusst nicht mehr genutzt. Der Grund: die Suche – verschlĂŒsselte E-Mails lassen sich nicht finden, weil sie von Thunderbirds Suche nicht indiziert werden. Bei der Flut an E-Mails, die sich im Laufe der Zeit ansammeln ist das fĂŒr mich ein klares NO-GO.

Bis vor Kurzem hatte ich mich damit abgefunden, dass dieses Problem nicht lösbar sei und ganz bewusst darauf verzichtet, E-Mails zu verschlĂŒsseln oder andere zu animieren, mir verschlĂŒsselte E-Mails zu schicken.

Unterschiedliche SphÀren

Nun muss man sich beim Thema Sicherheit immer im klaren sein innerhalb welcher “SphĂ€re” man sich bewegt und wie vertrauenswĂŒrdig diese ist. Davon ausgehend, dass Sender und EmpfĂ€nger ihre E-Mails jeweils auf einem Server liegen lassen (IMAP), der nicht unter ihrer Kontrolle steht und zudem immer auch eine lokale Kopie behalten, gibt es fĂŒnf relevante SphĂ€ren:

  • der Rechner des Kommunikationspartners
  • der E-Mailserver des Kommunikationspartners
  • der Transportweg
  • mein E-Mailserver
  • mein Rechner

Über den Rechner und den E-Mailserver des Kommunikationspartners habe ich keinerlei Kontrolle. In diesen beiden SphĂ€ren gibt es keine Möglichkeit, sicherzustellen, dass Nachrichten vor dem Zugriff Unberechtigter geschĂŒtzt sind. Der Kommunikationspartner könnte die E-Mails hier unverschlĂŒsselt ablegen und ich wĂŒrde es noch nicht einmal bemerken. Die beiden SphĂ€ren “Rechner des Kommunikationspartners” und “E-Mailserver des Kommunikationspartners” sind also unsicher und unkontrollierbar. Da hilft nur Vertrauen, dass der Partner diese SphĂ€ren sicher macht.

Die SphĂ€ren “Transportweg” und “mein E-Mailserver” mĂŒssen per se als unsicher angesehen werden. Ich kann nicht sicher sein, dass hier niemand mitliest. Aber die beiden SphĂ€ren sind kontrollierbar. Ich kann entscheiden, wie meine Nachrichten innerhalb aussehen weil ich diese in die SphĂ€ren einbringe.

Die letzte SphĂ€re “mein Rechner” ist kontrollierbar und ich bin in der Lage, dafĂŒr sorgen, dass sie auch sicher ist. Letzteres kann beispielsweise durch FestplattenverschlĂŒsselung erreicht werden.

Sicherheit in den drei kontrollierbaren SphÀren

Ziel ist es, dass innerhalb der kontrollierbaren SphĂ€ren nur Berechtigte in der Lage sind, den Inhalt meiner E-Mails zu lesen. In den beiden unsicheren SphĂ€ren “Transportweg” und “mein E-Mailserver” kann ich das erreichen, indem ich die Nachrichten verschlĂŒssele. Ich verpacke die Nachrichten damit in eine sichere SphĂ€re, bevor ich sie in eine unsichere einbringe. In der sicheren SphĂ€re “mein Rechner” ist das nicht notwendig, weil die SphĂ€re durch andere Maßnahmen ja bereits sicher ist.

Vertrauen ist alles

Letztlich geht es immer nur darum, wie groß mein Vertrauen in die Sicherheit einer SphĂ€re ist. Und natĂŒrlich, wie sicher “sicher” denn sein soll (wie stark der Angreifer sein darf). Ich muss glauben, dass der “Rechner des Kommunikationspartners” und der “E-Mailserver des Kommunikationspartners” sicher sind. Ich muss glauben, dass die von mir verwendete VerschlĂŒsselungstechnologie sicher ist und ich muss glauben, dass die Maßnahmen, die ich ergreife, “meinen Rechner” sicher zu machen ausreichend sind. Und natĂŒrlich muss ich auch Thunderbird, Enigmail und dem Linuxkernel vertrauen 🙂 .

Enigmail und die Suche

Nach all der Vorrede will ich nun aber zum Thema dieses Posts kommen. Wie eingangs bereits dargelegt ist eine funktionierende Suche in meinem Desktop-E-Mailprogramm fĂŒr mich ein absolutes MUSS. Wenn ich nun wie ausgefĂŒhrt davon ausgehe, dass “mein Rechner” eine sichere SphĂ€re ist, so kann ich E-Mails hier getrost in unverschlĂŒsselter Form ablegen und von der Suche indizieren lassen. Und genau das ist mit Enigmail möglich. Dazu wird ein Mailfilter angelegt, der von jeder eingehenden verschlĂŒsselten E-Mail eine unverschlĂŒsselte Version in einem LOKALEN Ordner ablegt. Diese Kopie wird indiziert und bei einer entsprechenden Suchanfrage gefunden.

enigmail-message-filter

Wichtig dabei ist, dass die unverschlĂŒsselte Kopie ausschließlich in der sicheren SphĂ€re “mein Rechner” verbleibt und dafĂŒr ein Odner im lokalen Account benutzt wird. Keinesfalls darf hier ein IMAP-Ordner gewĂ€hlt werden.

Fazit

Mit Hilfe von Thunderbirds Nachrichtenfiltern und der von Enigmail mitgebrachten Filteraktion “Create decrypted Copy” ist es möglich, verschlĂŒsselte Kommunikation innerhalb von Thunderbird suchbar zu machen. Serverseitig funktioniert das selbstverstĂ€ndlich nicht. Solange der E-Mailserver nicht als sichere SphĂ€re betrachtet werden kann dĂŒrfen die betreffenden Nachrichten hier niemals unverschlĂŒsselt abgelegt werden. Genauso verhĂ€lt es sich mit anderen E-Mail-Clients, die sich nicht in einer sicheren SphĂ€re befinden wie Smartphone, Portable Edition von Thunderbird, etc.

FĂŒr mich genĂŒgt das aber, um wieder aktiv GPG zu nutzen und zu propagieren.

In diesem Sinne (nur fĂŒr private E-Mails):

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2

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
=DCD9
-----END PGP PUBLIC KEY BLOCK-----

Dank geht an dieser Stelle an meinen Kollegen Carsten, der mich nach einer Diskussion ĂŒber dieses Thema auf die Filteraktionen von Enigmail aufmerksam gemacht hat.