Tag 202/2016: Minimum viable product

Heute mit jemand telefoniert, der seine Geschäftsidee tatsächlich mit einem Minimum-viable-product – Ansatz testet, wie er mir kurz darauf (online) demonstrieren konnte.

In product development, the minimum viable product (MVP) is a product with just enough features to gather validated learning about the product and its continued development. Gathering insights from an MVP is often less expensive than developing a product with more features, which increase costs and risk if the product fails, for example, due to incorrect assumptions.

Just enough features um zu prüfen, ob die Idee tragfähig ist. Just enough features um sich potentielle Partner für die weitere Entwicklung auszuwählen, Leute anzusprechen; demonstrieren zu können, dass man es ernst meint.

Ein Ansatz, der so vielen Projekten helfen würde, schneller ans Ziel zu kommen. Noch bevor die ganze Maschine anrollt und sei diese noch so agil. Stattdessen sind gefühlt 90% aller Projekte kurz nach Projektstart in der Perfektionsfalle gefangen, trotz bester Vorsätze.

Deshalb habe ich mir auch verkniffen, die Geschäftsidee vorab zu kritisieren: Der Prototyp steht, der Aufwand war gering, das erste Feedback aka. Realitätscheck kann kommen. Dann sehen wir weiter.

Tag 201/2016: Kontoführungsgebühren und Marketing

Mehr und mehr (gerettete, siehe in diesem Zusammenhang Finanzmarktstabilisierungsergänzungsgesetz „FMStErgG“) Banken gehen jetzt ja dazu über, an der Gebührenschraube fürs Konto zu drehen.

Da werden dann Briefe verschickt, in denen steht nicht: „Sorry, die fetten Jahre sind vorbei, wir pfeifen aus dem letzten Loch, daher brauchen wir noch mehr von Ihrem Geld“.

Da steht dann: „Sie profitieren von hochqualifizierten Mitarbeitern, innovativen digitalen Services, diversen erstklassigen Vorteilen für Ihr Konto usw. …. Daher nehmen wir eine Preisanpassung vor“.

Formulierungen aus dem Marketinglösungsheft von 1984.

 

Tag 200/2016: Rumgedockert

Docker auf dem Mac ist erfreulich stabil. Heute hab ich das erste Mal einen Crash in einem Docker-Compose-Setup mit Webservern und einer Datenbank provozieren können, allerdings nicht wiederholbar.

Datenbank-Datenverzeichnis und Docroots liegen in lokalen Volumes, die wiederum mit GIT verwaltet werden. Ein nicht behebbares Rechteproblem konnte dadurch „gelöst“ werden, dass das Datenverzeichnis gelöscht wurde, ein docker-build es wieder erzeugt hat und danach – bei gestoppten Containern – ein git checkout den letzten Zustand wiederhergestellt hat.

Mittlerweile pendelt es sich ein, dass ich in den docker-compose.yml-Files nicht auf Standard-Images verweise, sondern deren GIT-Pendant via „build“-Direktive leicht verändere, z.B. für spezielle PHP-Extensions, angepasste Konfigurationsdateien oder sonstige Limits.

Tag 199/2016: Verschwendung

Im Buch „LEAN THINKING“ von James P. Womack und Daniel T. Jones wird ziemlich am Anfang der Value stream am Beispiel eines Kartons mit Aluminiumdosen betrachtet, deren Inhalt irgendeine typische Britzelbrause ist. Der Aufwand, bis das gefärbte Zuckerwasser im Supermarkt in Dosenform ankommt, ist gigantisch.

Nachdem wir heute zufälligerweise das Thema Pokémon näher erörtern konnten, musste ich daran denken, wie unkompliziert, haptisch und gesellig ein einfaches Kartenspiel sein kann (auch wenn es sich um etwas so Komplexes, Herausforderndes und Nervenaufreibendes wie Watten handelt).

Im Gegensatz zu den notwendigen tausenden von Servern, Millionen von Smartphones (verbaut mit seltenen Erden) und daraus resultierendem Stromverbrauch, für die aktuellen Games.

Tag 197/2016: Links zu Differential Privacy

Ergänzung zu Tag 165: Auf der Apple Worldwide Developers Conference hat Apple das Konzept der Differential Privacy erwähnt. Es gilt als mögliche Antwort auf die Frage, wie sich die Auswertung von Nutzerdaten und -aktionen einerseits mit algorithmisch bereitgestellten Serviceangeboten andererseits unter Wahrung des Datenschutzes vereinen lässt.

Kryptographie- und Computersicherheitsexperte Bruce Schneier hat in seinem lesenswerten Newsletter CRYPTO-GRAM einige Links zu dem Thema gesammelt, die ich hier auch den geneigten Leser/innen auflisten will:

Artikel:
https://www.wired.com/2016/06/apples-differential-privacy-collecting-data/

http://www.technobuffalo.com/2016/06/15/apple-differential-privacy-privacy-security-data/

Kommentierung:
http://blog.cryptographyengineering.com/2016/06/what-is-differential-privacy.html
http://emergentchaos.com/archives/2016/06/the-evolution-of-apples-differential-privacy.html
http://www.tomsguide.com/us/apple-ios-10-security,news-22817.html

Slide-Deck vom WWDC:
http://devstreaming.apple.com/videos/wwdc/2016/709tvxadw201avg5v7n/709/709_engineering_privacy_for_your_users.pdf

Latanya Sweeney (Professor of Government and Technology), die in ihren Arbeiten Schwachstellen in Anonymisierungstechniken beschreibt:
http://dataprivacylab.org/people/sweeney/

Tag 196/2016: Pokémon

Sagt Wikipedia:

Pokémon (jap.: ポケモン [‚pokemoɴ], kurz für ポケットモンスター Poketto Monsutā, engl.: Pocket Monsters, dt.:Taschenmonster), auch PoKéMoN oder POKéMON geschrieben, sind Fantasiewesen in der gleichnamigen Serie von Videospielen. Die Spiele wurden ursprünglich von Satoshi Tajiri und der japanischen Spielesoftwarefirma GAME FREAK Inc. entwickelt und stellen eines der wichtigsten Franchises des Publishers Nintendo dar.

Ich kann ja die ganzen Abschnitte ab „Spielinhalt“ nicht lesen, ohne in nervöses Kichern abzugleiten, aber Hut ab, da haben sie einen netten Hype in die Welt gesetzt.

Heute bin ich am Busbahnhof der Universität Regensburg eine Armlänge neben einem freundlichen Smombie gesessen, der gerade in die Pokémon-App vertieft war. Ich glaube, er war noch in der Lernphase, nach Zucht, Kampf oder Fütterung hat’s nicht ausgesehen.

Oh komme, Erweiterte Realität! Aber bitte, irgendwie, cooler…

 

Tag 195/2016: nginx response filter

Wer nginx als Proxy verwendet, konfiguriert im Regelfall die Header, die an den Upstream weitergegeben werden, z.B. den Host-Header oder die IP-Adresse des eigentlichen Clients (und nicht von nginx selbst) als X-Real-IP oder X-Forwarded-For. Darüber hinaus ist es oft notwendig, Redirects des Upstream zu erkennen und auf einen anderen Host oder Port umzuschreiben, gleiches gilt für Cookies.

In seltenen Fällen muss man aber noch weiter gehen und nicht nur die Header, sondern den Response umschreiben, z.B. bestimmte im HTML enthaltene Strings (Formular-Ziele, Script- oder CSS-Links).

Dafür gibt es das ngx_http_sub_module:

location / {
    sub_filter '<a href="http://127.0.0.1:8080/'  '<a href="https://$host/';
    sub_filter '<img src="http://127.0.0.1:8080/' '<img src="https://$host/';
    sub_filter_once on;
}

Tag 194/2016: Viech

Vor vielen Jahren, beim Programmieren eines CMS (such dir was aus) für einen bekannten deutschen Großkonzern, hämmerte ich zu Testzwecken Demo-Content in das System: Titel, Anreißer, Text. Ein paar Mal.

Weil es genug andere Baustellen gab, war ich nicht besonders kreativ, aber immerhin kam es nicht zu „Test 1“, „Test 2“, „Test 3“. Stattdessen war der erste Titel „Viech”, auf den folgte „More Viech” und schließlich „Endless Viech”. Dazu Autobilder aus dem Netz.

Zum Naturgesetz des Demo-Contents gehört, dass er nicht gelöscht wird. Am Tag der wichtigen Präsentation des Projektstandes vor den Geschäftsführern der Geschäftsbereiche, den Projektleitern und dem Auftraggeber präsentierte sich also ein etwas verstörender Sinnzusammenhang.

Die Konkrete Poesie verwendet die phonetischen, visuellen und akustischen Dimensionen der Sprache als literarisches Mittel.

(Kleiner Scherz)

Viech! Dachte ich mir auch öfter beim Lesen des Buches „Hysterie des Körpers”. JK beschreibt dort, wie er von Wilhelmshaven zur Zugspitze marschiert, ähnlich wie seinerzeit RN mit seinem Deutschlandmarsch. Zu den selbstauferlegten Regeln von JK gehört, sich nur von dem zu ernähren, was die Natur bietet; jedenfalls nicht um Nahrung zu betteln oder sich mal schnell an einer Raststätte etwas zu kaufen. Zum Zeitpunkt seines Marsches resultiert das in unreifen harten Äpfeln oder Maiskolben, Nüssen, Schnecken, vom Auto überfahrenen Hasen oder altem Pizzarand. Stern-TV (noch mit Günther Johannes Jauch) machte dazu eine mehrteilige Reportage.

Das Buch ist kurz und knapp, schnell gelesen, kurzweilig. Eingeflochten Kapitel mit Hintergrundgeschichten zur Kelly-Family, wie JK zum Laufen kam (eine Wette), welchen Herausforderungen er bzw. die ganze Familie sich täglich stellen musste.

More Viech! In weiteren Kapiteln folgen Slapstick-artige Anekdoten zu seinen ersten Läufen, zu aberwitzigen Timings, z.B. den (letztlich erfolgreichen) Versuchen gleich nach oder am Tag eines Konzertes einen irrwitzigen Marathon zu bestehen. Faszinierend, zu was der menschliche Körper in der Lage sein kann!

Die Liste der sportlichen Leistungen schließlich: Endless Viech!