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.

improve ->… be[come] a genius