Herr Mies will's wissen

Hallo!

Herr Mies will's wissen ist die zweiwöchige Interview-Reihe rund um IT Themen von und mit Daniel Mies.

Der Podcast kann via RSS abonniert werden und ist ebenfalls im iTunes Store gelistet.


HMww13 – ClojureScript mit Lisa Passing

Diesmal durfte ich Lisa Passing bei Travis besuchen. Bevor wir uns auf das eigentliche Thema stürzen sprechen wir über end-to-end Encryption und Crypto Parties (z.B. in Berlin).

Lisa verzichtet sehr bewusst auf Social Media und erzählt ein wenig, wie es sich so ohne Twitter, dafür aber mit eigenem Hashtag, leben lässt.

Schon eher zum Thema passt die ClojureBridge in Berlin bei der Lisa aktiv ist und die sich an Frauen und nicht-binäre Menschen richtet, die gerne lernen möchten, wie man programmiert. Wie besprechen auch direkt, wieso Clojure geeignet ist um programmieren zu lernen. Lisa selbst fängt hier übrigens häufig mit einem Spiel an, wenn sie eine neue Progammiersprache lernen möchte.

Aber natürlich sprechen wir auch über Clojure, dessen Verbindung zu Lisp und klären, warum Daten Code sind und Code auch Daten sind.

Beim Thema ClojureScript legen wir mit dem Clojure Compiler los, der wohl auch zukünftig ganz ohne JVM auskommt. Schon jetzt sorgt der Compiler übrigens Dank Google Closure Compiler dafür, dass Eure Anwendung am Ende nicht zu groß wird.

Der Einstieg in Clojure und ClojureScript ist übrigens nicht immer einfach: hier und da fehlt es noch an Dokumentation und auch das Tooling ist, besonders am Anfang, kompliziert. Also empfiehlt es sich hier durchaus andere um Hilfe zu bitten oder auch mal eines der zahlreichen Meetups zu besuchen. Grundsätzlich ist die Community jedenfalls sehr hilfsbereit. Was noch fehlt wäre ein Buch zum Einstieg in Clojure/ClojureScript. Hier hoffen Lisa und ich einfach mal auf Joy Clark.

Beim Tooling setzt Lisa auf Emacs da dieses selbst in Lisp geschrieben ist und man demnach die Konfiguration mit Lisp anpassen kann. Man kann aber natürlich auch mit den gängigen Editoren und IDEs arbeiten und dort ein Plugin nutzen. Nützlich ist auch die ClojureScript REPL, die wir dann auch beleuchten und besprechen, wie sie die Entwicklung unterstützen kann. Hier kann man hier übrigens figwheel nutzen.

Natürlich spielen auch Build Tools eine Rolle und hier könnt ihr gleich zwischen Leiningen (Leiningen versus the ants) und Boot wählen. Leiningen folgt dem Ansatz “Convention over configuration” während Boot hier alle Freiheiten überlässt. Beide Tools sind verbreitet und können Euch auch immer wieder begegnen.

Am Ende schwärmt Lisa noch ein wenig von Clojerl (Clojure auf der Erlang VM) und falls ihr auch in der Bash gerne Klammern schreibt, solltet ihr Euch mal Closh ansehen.

Warum JavaScript jetzt eigentlich doch nicht irgendwie funktional ist, könnt ihr uns, wie jedes weitere Feedback, gerne über den Github Issue mitteilen.

HMww12 – Open Source mit Benedikt Ritter

Heutiger Gast ist Benedikt Ritter (@benediktritter) mit dem ich über Open Source und speziell Apache Commons spreche.

Benedikt ist einer der zwei Gastgeber von autoweird.fm und feiert mit diesem in dieser Woche den ersten Geburtstag. Herzlichen Glückwunsch! 🎉

Benedikt ist Mitglied bei der Apache Software Foundation (ASF) und hier Mitglied des Project Management Committees bei Apache Commons. Außerdem ist er Gründer der Scala Usergroup in Düsseldorf.

Wir sprechen kurz über Titel in der IT Branche und kommen auch kurz auf das sehr lesenswerte “The Software Craftsman” zu sprechen.

Benedikt erzählt von seinen ersten Schritten als Software Entwickler und wie er auf Apache Commons gestoßen ist. Hier ist es bei der ASF durchaus üblich über Mailinglisten zu kommunizieren, was am Anfang sicherlich ungewohnt ist. Dennoch rät Benedikt Euch, hier ruhig mitzumachen und sich an der Diskussion zu beteiligen.

Benedikt gibt einen tiefen Einblick in den Entwicklungs- und Reviewprozess bei der ASF und wie diese auch seine tägliche Arbeit als Entwickler beeinflussen. Wir sprechen über unsere Heransgehensweise bei der Entwicklung, Code Style, statische Methoden und kommen irgendwie ein wenig vom eigentlichen Thema ab.

Neben der Entwicklung spielt natürlich auch die Community bei der ASF eine große Rolle. Die ASF trifft sich regelmäßig auf der ApacheCon und zeichnet sich durch ihre Hilfsbereitschaft aus. Trotzdem musste auch Benedikt erstmal lernen mit dem direkten Feedback, welches es bei Änderungen durchaus geben kann, umzugehen.

Die ASF unterscheidet mehrere Rollen (die sie auch auf ihrer Webseite beschreibt) vom Contributer über das Project Management Comittee (PMC) hin zum Board of Directors. Benedikt erzählt, wie seine Arbeit im PMC aussieht und welche Rechten und Pflichten mit den unterschiedlichen Rollen verknüpft sind.

Am Ende unterhalten wir uns noch über den Release Prozess, der auf der einen Seite recht flexibel ist, was den Zeitpunkt des Releases angeht, aber auch ein klares Regelset hat, was die Durchführung angeht (auch hier findet man auf den Seiten der ASF noch mehr Informationen).

Im Gespräch haben wir dann noch Mobster (Tool für Pair- und Mobprogramming
und “Looks good to me” (Tool um Pull Requests einfach annehmen zu können) erwähnt.

Zu der sogenannten Sicherheitslücke in Apache Commons Collections hat Benedikt auch im codecentric Blog etwas geschrieben.

Benedikts Talk zu Apache Commons “Beyond StringUtils” könnt ihr Euch auch bei YouTube ansehen.

HMww11 – Sketchnotes mit Joy Clark

Was Sketchnotes sind und wie man damit anfangen kann erklärt mir Joy Clark (Twitter, Homepage) in der heutigen Folge. Joy arbeitet bei innoQ und ist ein Freund runder Klammern. Daher trifft man Sie beispielsweise auf dem Clojure Meetup Düsseldorf (welches sich natürlich auch an Clojure-Anfänger wendet) oder auch mal bei der RheinJUG.

In der Folge sprechen wir darüber, warum Joy mit Sketchnotes angefangen hat, wie ihre ersten Schritte aussahen, was man so braucht um loszulegen und welche Materialien sie inzwischen einsetzt. Twitter liebt Sketchnotes und daher findet ihr alle Sketchnotes von Joy dort oder auf ihrem Blog.

Wenn Euch das Thema interessiert, braucht ihr am Anfang nur irgendeinen Stift und Papier und könnt loslegen. Später können es dann auch speziellere Stifte (z.B. der FineOne und der SketchOne aus dem Shop von Neuland) sein. Dazu empfiehlt Joy dann zwei Farben (Highlights und Schatten).

Joy gehört übrigens auch zum Orga-Team der EntwickelBar, welche am 2. Dezember erstmals in Düsseldorf stattfindet. Hier gibt es noch Karten und vielleicht ist das ja für Euch ein guter Zeitpunkt um auch Sketchnotes zu erstellen?

Wenn ihr Feedback habt, könnt ihr dies gerne bei Github hinterlassen.

HMww10 – Blockchain mit Jonas Verhoelen

Teil 2 zum Thema Bitcoin und Blockchain. Nachdem Jonas und ich uns in der letzten Folge vor allem Bitcoin angesehen haben, geht es in dieser Folge um die Technik dahinter: die Blockchain.

Wir unterhalten uns zunächst über Anwendungsfälle in denen die Blockchain ihre Stärken ausspielen kann. Hier ist die Supply Chain ein gutes Beispiel, wie man zum Beispiel beim Thema Wein sehen kann: hier ist es möglich die komplette Wertschöpfungskette über die Blockchain nachzuvollziehen. Zum Thema Supply Chain hat auch unser Kollege Kai Herings einen Blogartikel geschrieben.

Auch wenn es möglich ist, diese Usecases über Bitcoin abzubilden, sind hier andere Blockchains, wie zum Beispiel Ethereum, einen Blick wert. Ethereum ist darauf ausgelegt auch Smart Contracts zu verwalten.

Smart Contracts erinnern an die Lambda Funktionen, die man aus der AWS kennt. Diese Funktionen werden auf der Blockchain veröffentlicht und verteilt. Die Laufzeit dieser Funktionen bezahlt der Nutzer dann mit Ethereum (“gas”).

Smart Contracts kann man z.B. mit Solidity oder auch Serpent entwickeln. Der IDE Support ist gut, beim Debuggen ist hier noch Luft nach oben. Um das ganze integrativ zu testen empfiehlt es sich testrpc zu nutzen. Um mit der Ethereum Blockchain zu kommunizieren benötigt man einen Client (z.B. web3.js).

Auch die Nachteile beleuchten wir: es traten bereits Sicherheitsprobleme im Zusammenhang mit Ethereum und Smart Contracts auf. Eine Konsequenz hieraus war ein Fork von Ethereum bei dem Ethereum Classic entstand.

Wenn ihr Euch auch mit Smart Contracts und Solidity beschäftigen wollt, empfiehlt Jonas Euch den Einstieg über solidity.readthedocs.io. Auf GitHub findet ihr ebenfalls hilfreiche Repositories:

Wenn Ethereum als Blockchain Eure Anforderungen nicht erfüllt, kann sich ein Blick auf Stratis oder Waves lohnen. Eine weitere Alternative sind private Blockchains, die Firmen auch zusammen betreiben können. Hier stellt sich aber schnell die Frage, ob die Blockchain in geschlossenen Systemen noch ihre Stärken ausspielen kann.

Gegen Ende sprechen wir noch über das Thema Skalierung. Hier ist die Transaktionsgeschwindigkeit bei weitem nicht auf dem Niveau wie beispielsweise bei Dienstleistern wie VISA.

Aber die Zukunft ist rosig: Jonas erwähnt hier Tangle (Whitepaper pdf), welches statt der “linked list” Blockchain auf einen Graphen (Directed Acyclic Graph (DAG)) setzt. Umgesetzt wird das ganze momentan vom Projekt IOTA.

Der erwähnte Chain Day ist leider schon vorbei.

Wie immer freuen wir uns über Feedback und Hinweise. Diese könnt ihr gerne bei GitHub in diesem Issue hinterlassen.

HMww09 – Bitcoin

Heute ist Jonas Verhoelen (Twitter) mein Gast und spricht mit mir ein wenig über Bitcoin als Beispiel für eine Cryptowährung.

Jonas hat im codecentric Blog bereits einiges zum Thema Blockchain geschrieben so findet ihr dort eine Einführung in das Thema sowie einen weiterführenden Artikel zu Decentralized Autonomous Organizations.

Jonas erzählt, wie er auf Bitcoin aufmerksam geworden ist und selbst investierte (er nutzt hier hin und wieder den Begriff Fiatgeld, den wir nicht erklären. Bei Wikipedia findet ihr eine Erklärung).

In der Folge sprechen wir über Bitcoin und was technisch dahinter steckt.

Darüber hinaus erwähnen wir auch ein paar Bitcoin Alternativen wie Ethereum, Litecoin und Ripple.

Am Ende erklärt Jonas noch, ob es sich momentan noch lohnt in Bitcoin zu investieren und was man bei einem Investment beachten sollte.

Wenn ihr noch mehr zum Thema erfahren wollte, empfiehlt Jonas folgende Dokus:

  • “Banking of Bitcoint” (iMDb / YouTube)
  • Bitcoin: The End of Money As We Know It (IMDb)

Wie immer würden wir uns über Feedback freuen. Zum Beispiel bei GitHub.

HMww08 – Der perfekte Espresso

Die bereits angekündigte Espresso-Folge nun auch endlich online. Christian hat audiotechnisch noch einiges aus der Folge rausgeholt. Vielen Dank dafür!

In dieser Folge unterhalte ich mich im sonnigen München mit Victor Volle. Victor arbeitet bei der codecentric, ist aber auch gerne mal im Bellissimo Espresso (bellissimo-espresso.de) anzutreffen.

Wir unterhalten uns zunächst etwas über die “Hardware” und Victors erste Maschine, eine Gaggia Classic. Inzwischen schwört er auf eine “Vibiemme Domobar” von Vibiemme. Victor nutzt seit jeher als Mühle die Demoka GR-0203. Wem das alles noch nicht genug ist, der wird bei La Marzocco sicher fündig.

Beim Thema Bohnen probiert Victor sehr gerne neues aus. Third Wave Espresso schmeckt ihm nicht so gut, ist aber momentan wohl ganz in. Sein Lieblings-Röster ist die Quijote Rösterei aus Hamburg und dort hat es ihm “Dantes Inferno” besonders angetan.

Victor erzählt mir, wie er seinen Espresso zubereitet und worauf er besonders Wert legt. Dabei spielt natürlich der Mahlgrad eine entscheidende Rolle aber auch die Temperatur der Tasse. Auch über die Reihenfolge, in der man Espresso und Wasser trinkt unterhalten wir uns kurz, kommen aber zu keinem Ergebnis. Vielleicht stimmt ja, was in diesem Artikel steht.

Am Ende schwärmt Victor noch vom Espressionisten. Wenn ihr mal in Frankfurt seid, könnt ihr dort ja einen Espresso probieren.

Wer sich tiefer in das Thema einlesen möchte, der sollte einen Blick auf das Kaffee-Netz und das KaffeeWiki werfen.

Die Folge könnt ihr gerne auf GitHub kommentieren.

HMww07 – Die 6 Sterne Folge: Spring Boot

Nachdem Christian mich in der letzten Folge fragte, was eigentlich Spring ist, ist es heute höchste Zeit, sich mal den Thema Spring und Spring Boot anzunähern. Der perfekte Gast hierfür ist Johannes Edmeier (twitter.com/joshiste), der schon seit einigen Jahren in der Community aktiv ist und u.a. den Spring Boot Admin betreut.

Johannes erklärt mir, wie sich JavaEE und Spring voneinander abgrenzen und warum es sich lohnen kann, hier auf Spring zu setzen. Spring ist open source und erlaubt Euch aktiv an der Entwicklung teilzunehmen (github.com/spring-projects). In vielen Fällen kann es sich lohnen, hier noch etwas weiter zu gehen und Spring Boot einzusetzen. Gerade, wenn man schnell loslegen möchte und wenig Aufwand in die Konfiguration investieren möchte.

Das Tolle an Spring Boot ist, dass es gerade den Einstieg enorm vereinfacht: ihr könnt unter start.spring.io Euer Projekt einfach konfigurieren und diese dann auch direkt starten. Johannes nutzt dies auch gerne mal für kleine Projekte.

Richtig ins Schwärmen kommt Johannes beim Thema Dependencies: Hier kann man sich bei Spring Boot darauf verlassen, dass alles gut zusammen funktioniert. Gerade für den Einstieg natürlich ein großer Vorteil aber auch für erfahrene Spring Entwickler ein klarer Vorteil.

Eine Alternative aus dem Java Ökosystem zu Spring Boot ist übrigens Dropwizard (dropwizard.io) bei dem sich das Spring Boot Team auch ein paar Dinge abgeguckt hat.

Die von Johannes erwähnte URL guides.spring.io gibt es nicht, richtig ist hier spring.io/guides. Dort findet ihr dann zahlreiche Guides, die Euch den Einstieg in Spring und Spring Boot vereinfachen.

Die Seite zur Twelve Factor App findet ihr unter 12factor.net.

Wir sprechen noch über das Zusammenspiel mit den unterschiedlichen JVM Sprachen wie Scala, Groovy oder auch Kotlin: Hier kann man bei Spring aus dem vollen schöpfen, auch wenn es hier und da vielleicht nicht perfekt zueinander passt. Wenn ihr Groovy einsetzt, braucht es auch nicht mehr als einen Tweet für die erste Anwendung.

Beim Gespräch über Microservices offenbart sich dann, dass ich wohl während des Studiums etwas zuviel World of Warcraft gespielt habe: Ich meinte natürlich Zuul von Netflix und nicht Gruul.

Natürlich frage ich Johannes auch ein paar Dinge zum Spring Boot Admin (github.com/codecentric/spring-boot-admin) und erfahre auch ein paar Dinge zu dessen Geschichte. Spring Boot Admin nutzt die Actuator Endpoints von Spring Boot Anwendungen und stellt eine UI für diese bereit. So lassen sich auch mehrere Anwendungen bspw. in einem Microservice Umfeld, bequem überwachen. Zudem bietet es einige Konfigurationsmöglichkeiten. Wenn ihr Spring Boot einsetzt und ein Monitoring Tool benötigt, lohnt ein Blick auf den Spring Boot Admin.

PS: Wir haben heute ein paar Störgeräuche dabei, die mit dem Mikro zusammenhängen. Das wird in den nächsten Folgen wieder besser.

HMww06 – Vue.js

Heute spreche ich mit Christian Schaefer (Schepp) in Flehe (aber auch nur ganz knapp) über Vue.js. Christian ist als Selbstständiger unterwegs. Wir kennen uns über einen Angular2 Workshop bei den Jungs von thoughtram, sind aber beide (bisher) nicht besonders warm mit Angular geworden. Christian hat stattdessen Vue.js für sich entdeckt und kann mir mehr dazu erzählen.

Wir klären, ob Vue.js nur eine Eintagsfliege ist und wie es sich zwischen AngularJS, Angular4 und React einordnen lässt, wie man eine Anwendung mit Vue.js entwickeln kann und wie das Ökosystem aussieht. Das ganze kompakt in unter 30 Minuten damit wir keinen Ärger mit dem Parkwärter bekommen.

Wer, wie Christian, gerne Tutorials bei YouTube sieht, kann sich dort die Vue.js Basics von Academind vermitteln lassen.

Weitere Links

Und wie immer gibt es auch zu dieser Folge einen Issue bei Github.

HMww – 500

Fünfhundert! 500 Downloads und ein neuer Jingle, da musste eine kleine Folge außerhalb der Reihe veröffentlicht werden. Aber fangen wir mit dem Jingle an: Dave Kotylar hat das ganze für mich produziert und wenn ihr seine Musik mögt, dann schaut doch mal auf einem seiner Profile vorbei:

Danach erzähle ich Euch ein wenig über die “verlorene” Episode (auch wenn ich noch versuche sie irgendwie zu retten) und bewerbe auch meinen neuen Twitter Account: @HerrMies.

Und sonst so? Es gibt jetzt auch Sticker und wir feiern 500 Downloads (kann man nicht oft genug erwähnen)! Es gibt noch einen kleinen Ausblick auf die nächsten Episoden (eine davon wenige Stunden nach dieser) und dann ist diese kleine aber feine Episode auch schon wieder rum.

HMww05 – UX

In dieser Folge spreche ich mit Stefan (Twitter) über UX. Stefan machte seine ersten Schritte als Entwickler mit Eiffel und beschäftigt sich auch sonst gerne noch mit dem Programmieren (u.a. eine Stoppuhr-App für Windows (Phone)).

Er erzählt mir, wie er mit UX in Berührung kam und wie auch andere das tun können. So empfiehlt er Don’t make me think von Steve Krug und
The Design of Everyday Things von Don Norman.

Wir sprechen über die Grundlagen von UX, mentale Modelle und wie man Usability Tests durchführen kann.

Fragen und Feedback zur Folge könnt ihr in diesem Issue bei Github loswerden.