Faster Programming (with ES6): Destructuring and Arrow Function (Part 2/4)

This series is about how to program „faster“. It is not, however, about typing code faster but to write less code in the first place. It saves time but also you have to read less code and the effort to maintain it sinks in the long run (more about it in the introduction). In part 2 I’ll show you how to use destructuring and the Arrow Function.  Weiterlesen

Faster Programming (with ES6/TypeScript): Introduction

Our daily business as a JavaScript/TypeScript developer is to work with lots of code. The bigger the project, the more code you need to read – instead of writing it. The idea for this four-part series is that in the long term a project always benefits from writing less. Make the code-base smaller, cleaner, so that you and others don’t need to read so much. This allows faster programming and less code increases maintainability.

Weiterlesen

FENNEC – das Projekt zur Bachelorarbeit

Im Rahmen meiner Doktorarbeit am Lehrstuhl für Bioinformatik an der Universität Würzburg habe ich den FENNEC – Functional Exploration of Natural Networks and Ecological Communities – entwickelt, eine Webapplikation die es Biologen ermöglicht große Datenmengen automatisiert auszuwerten.
Weiterlesen

Ivory Becomes FOS Now – CKEditor Bundle for Symfony

Maybe you heard about it: The Symfony Bundle „egeloen/ckeditor-bundle“ was looking for a new maintainer. And the Symfony 4 compatibility was missing. Having the downloads in mind I did not expect it to be that difficult to find new maintainers. At the end Marko Kunic and I took that place. But let us take a look back into the history.
Weiterlesen

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

Coding Ninjas

Coding Ninjas ist der Titel einer Webapplikation die ich auf dem diesjährigen Developer Camp in Würzburg am 09. und 10. März 2018 im Rahmen der Würzburg Web Week vorgestellt habe – und das ist die Geschichte hinter diesem Projekt.

Weiterlesen

Of Love and Hate: TypeScript, Redux and immutable.js

I love Redux. It’s such an elegant and simple concept that solves so many problems. But like every other solution, adding new concepts to your code base can also introduce the occasional headache.

One of these headaches is that Redux does not enforce a lot of it’s conventions, but when you don’t adhere to them, things start breaking further down the road in strange ways.

Today, I’m going refer to one of Redux‘ three principles: State is read-only
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