Thursday, December 19, 2013

Vision Mobile: Enterprise App Developer Atlas

Vision Mobile hat seinen Enterprise App Developer Atlas online gestellt. Ganz nett um sich einen Überblick über verfügbare Tools und Frameworks zu verschaffen.

Der C#-Compiler und Extensions auf anonymen Lambdas

Im folgenden Artikel zeige ich ein einfaches Idiom das dem C#-Compiler ermöglicht auch Erweiterungen auf anonymen Lambdas zu verstehen. So lassen sich UnitTests kompakter und verständlicher schreiben.

Mapstraction (...one API to rule them all)

Mapstraction - A JavaScript library to had all those mapping APIs!
aus Scott Hanselmans Newsletter of Wonderful Things.

8 Differences Between Traditional and Collaborative Leaders

Interessante Gegenüberstellung traditioneller und gemeinschaftlicher Leitung: 8 Differences Between Traditional and Collaborative Leaders (aus Interesting Finds).

Wednesday, December 18, 2013

Manage Agile 2013

Bernd Krehoff hat einen Erlebnisbericht zur vergangenen Manage Agile 2013 im bor!s gloger Blog veröffentlicht und nennt dabei die aus seiner Sicht interessantesten Vorträge.

Ich finde insbesondere den Keynote-Vortrag Beyond IT - Beyond Agile? von Ulf Brandes sehr inspirierend.

Tuesday, December 17, 2013

Was ist eigentlich "Technical Debt"?

SonarQube ermittelt die im Projekt angehäuften technischen Schulden (Technical Debt) anhand des SQALE Models (Whitepaper, pdf). Doch was genau sind eigentlich technische Schulden? Und wann werden diese fällig?

Thursday, December 12, 2013

Surrogates (alpha) - iPad on wheels?

(Aus HackerNews): Der schwedische Kanban-Guru Henrik Kniberg hat versuchsweise mit einem mobilem iPad an einer Stockholmer Konferenz teilgenommen während er selbst in Thailand weilte:

Henrik Kniberg geht der Saft aus: "Hat irgendjemand ein Ladegerät?"

KDevelop 4.6 & Ninja

Ist normalerweise nicht meine Baustelle, aber vielleicht ist das was für unsere C++/Linux-Ritter: Laut Ankündigung ist mit KDevelop 4.6 die Debugger-Unterstützung für den GDB verbessert worden (Stichwort Breakpoints). Außerdem wird jetzt neben make und CMake auch Ninja als Buildsystem unterstützt. Ninja soll extrem schnelle Builds ermöglichen was sich insbesondere für größere Projekte bezahlt macht. Das motivierende Projekt für Ninja ist der Chrome Browser dessen Build

Tuesday, December 10, 2013

Vagrant 1.4: About Docker

Was ist Docker?
Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere.
Der Gedanke Container anstelle isolierter VMs zu nutzen hat was.

Das Search-Server-Duell: Solr oder ElasticSearch

Ein sehr informativer Vergleich von Solr und ElasticSearch in Form eines virtuellen Streitegespräch: Apache Solr und ElasticSearch im Streitgespräch.

OneClickBuild für .NET

Zur Vereinfachung von .NET-Builds für Entwicklung und Continuous Integration gibt es jetzt das Paket OneClickBuild.

Was ist toll daran?
  1. Außer .NET keine Tools nötig (insbesondere kein Visual Studio). Alles andere kommt per NuGet
  2. Es kann mit einem 1-Zeiler auf der Kommandozeile gebaut werden
    • Keine Abhängigkeit von einem speziellen Entwicklungsrechner oder Buildserver
    • Der CI-Build ist derselbe wie bei der Entwicklung (insbesondere genauso einfach und daher wartungsärmer)
  3. Mit dem Target Test können Tests ausgeführt werden
  4. Mit dem Target Coverage kann die Testabdeckung ermittelt werden
Anstoss waren für mich die Erfahrungen mit Maven und Markus Gärtners Artikel Pareto Continuous Integration.

Wednesday, December 4, 2013

The reactive manifesto

In Reactive Programming – vom Hype zum Praxiseinsatz gibt Joachim Hofer ein Beispiel wie man um "reactive" zu werden in Scala eine synchrone API schrittweise in eine asynchrone API umstrukturieren kann; und das ohne Abstieg in die sog. "Callback-Hölle".

Der Bezug auf das Reactive Manifesto kommt dabei etwas kurz, wie ich finde.

Auch kommt mir die Schachtelung der Futures/Monaden in Scala (und später vielleicht Java) vergleichsweise umständlich vor. Die Verwendung von async/await und der TPL ab C# 5 ist dagegen purer Zucker was Les- und Nachvollzieh-barkeit betrifft. Ab VS2013 sollen diese Einflüsse sich auch auf den Debugger ausgewirkt haben. Der von Microsoft diesbezüglich getriebene Aufwand ist zugegebenermaßen schwer zu erreichen, geschweige denn zu toppen!

"No Experience Required!"

Der Blogpost No Experience Required! stellt die Ergebnisse von empirischen Studien zusammen die insgesamt über 30 Jahre abdecken. Erstaunliches Ergebnis: Es konnte absolut gar keine Korrelation zwischen der Erfahrenheit eines Programmierers (in Jahren) und der von ihm produzierten Codequalität festgestellt werden. Das stimmt nachdenklich, oder?

Code Inspection is not optional!

Im Blog Accelerated Development gibt Dalip Mahal mit Inspections are not Optional eine sehr schöne Motivation um Anforderungsdefiziten mit Code Inspection zu begegnen. Fazit: Je später die Inspektion desto teurer, d.h. es ist ratsam diese so früh wie möglich im Entwicklungsprozess einzuplanen. Ja genau: Idealerweise ganz an den Anfang.