Simple reproduzierbare Entwicklungsumgebungen mit Nix

Sebastian hatte in seinem Blogpost Python-Abhängigkeiten projektbezogen verwalten das Problem, bestimmte Shell-Tools reproduzierbar für alle Entwickler bereitstellen zu müssen. In seinem Fall ging es dabei nur um awscli und awsebcli, beides Python-Tools von PyPI. Das geht relativ angenehm über seine genannte Methode mit pip und virtualenv. Selbst mit der Einschränkung auf PyPI als Quelle für die Abhängigkeiten zeigen sich jedoch schon die Vorteile von Nix.
Weiterlesen

Python-Abhängigkeiten projektbezogen verwalten

Ich bin generell eher kein Python-Entwickler und kam irgendwann in die Situation, Python-Abhängigkeiten bei der Nutzung von AWS und unterschiedlichen CLI-Tools (aws-cli, eb-cli, etc.) zu verwalten. Jetzt kann man natürlich sagen: „Egal – installiert euch lokal-global das aktuellste aws/eb-cli und gut ist“.

Weiterlesen

Three ways to create Word documents with PHPWord

Creating Microsoft Word documents in PHP can be a challenge. Word offers a multitude of options and settings and while creating a document in PHP you want do take advantage of those options to achieve a satisfying result. Perhaps you need to dynamically create documents for a client and the client will only know the capabilities of Mircosoft Word, but not the limitations of PHP libraries. This can result in an unsatisfied client.

In this article we will take a closer look at PHPWord and three different ways to create Word documents with it: basic easy templating, the creation of Word documents from scratch, and (going a little crazy there) the combination of both by merging existing templates with dynamically created documents. Hopefully, after reading through the text, you will have an idea of how to implement the perfect Word creator for your needs.
Weiterlesen

DreamFactory Intermediate Service

DreamFactory is a BaaS (Backend as a Service) that connects a multitude of data sources to APIs that apps can connect to. With our Agile Anti-Pattern App (MAPA), we wanted to move the patterns database out of the app, so that we did not have to publish a new version of the app every time we added or changed patterns. The simplest way for this was to put the complete data set (a tiered json file) on a webserver and tell the app to download from there. This would solve the problem, but be a pain to edit or version. The optimal solution would of course be a somewhat normalized database of patterns, their symptoms, their remedies, categories and a pattern-categories relation.
Weiterlesen

React gets Context & Suspense. Quo vadis, Redux?

Disclaimer: this article targets developers that are using Redux with React. If you are using Redux with another Framework, this article might not be important for you.

Last thursday, Dan Abramov gave a talk on JSConf Iceland called „Beyond React 16“. A few hours later, react-etc.net featured an article titled RIP Redux: Dan Abramov announces future fetcher API. While I agree with almost nothing that article has to say about Redux, the article got one thing right: Somewhere between 6 or 12 months from now, the way we are using Redux (at least when starting a new project) will be drastically different from the way we are using it today.

But before we take a gaze into the crystal ball, let’s take a step back and see what happened.

Weiterlesen

So war es beim ersten Laravel-Meetup 2018

Im Februar fand das erste Laravel-Meetup der Laravel Usergroup Munich im noch jungen Jahr 2018 statt. Regelmäßig – meist im Turnus von ca. 3 Monaten – treffen sich Laravel-begeisterte Entwickler, um sich auszutauschen oder gegenseitig Projekte vorzustellen. Dieses Meetup wurde gesponsert und organisiert von Links der Isar  – vielen Dank an dieser Stelle!

Thema des Abends war ein Live-Q&A mit Taylor Otwell, dem Gründer des bekannten PHP-Frameworks Laravel. Nach einem Kennenlernen, kurzem Smalltalk und etwas Pizza ging es schließlich direkt los.

Weiterlesen

Die Exclusive Design Challenge

Exclusive Design – was soll das bitte sein?

Vasilis van Gemert versteht Exclusive Design als die Umkehrung von Inclusive Design. Wobei Inclusive Design das Bestreben beschreibt, Interfaces im Web so zu gestalten, dass sie für jeden gleichermaßen benutzbar sind. Ein zentraler Wunsch bezüglich des Web ist ja die Verfügbarkeit für jeden.

Weiterlesen

Open Source ist auch Bildung

Es bringt ja Nichts. Egal wie man das Blatt dreht und wendet – von staatlicher Seite scheint in den nächsten Jahren nicht viel zu kommen, wenn es um digitale Bildung geht. Jugendliche stehen mit Ihren Smartphones zwischen dem Verbot an der Schule und den Eltern, die die neue Technik womöglich noch nicht einmal ganz verstehen. Sie stehen der Welt, dem Internet und der Flut der Information beinahe allein gegenüber.

Der Ist-Stand

Es werden zwar aktuell Milliarden-Investitionen für die technische Ausstattung von Schulen für die Bildung besprochen, doch was nützt das alles, wenn weder der Lehrplan noch die Ausbildung der Lehrer die Welt von morgen – oder eigentlich von heute – beinhalten?

Weiterlesen

10 Lessons Learned für besseres Pair Programming

Es ist Zeit für Lessons Learned: Nachdem ich in meinem letzten Blogbeitrag eine Einführung in das Thema Pair Programming gegeben habe, möchte ich in diesem Artikel meine persönlichen Erfahrungen mit dieser Arbeitstechnik teilen. Hierzu stelle ich die wichtigsten Regeln vor, die man beim Pairing beachten sollte. Außerdem gebe ich Tipps, die sich im konkreten Doing bei Mayflower als Lessons Learned herausgestellt haben.
Weiterlesen

Pair Programming

Obwohl ich seit 15 Jahren als Softwareentwickler tätig bin, habe ich Pair Programming erst vor ca. drei Jahren bei Mayflower kennengelernt und zum ersten Mal angewandt. Bei all meinen vorhergehenden Tätigkeiten war ich ausschließlich als Code-Einzelkämpfer unterwegs und damit beschäftigt, so schnell und so effizient wie möglich Quellcode zu produzieren.

Ich möchte in diesem Artikel eine grundlegende Einführung in das Thema Pair Programming geben, indem ich die wichtigsten Aspekte zu dieser Arbeitstechnik vorstelle.

Weiterlesen