Was man von der Baruco 2013 gesehen haben muss

Die Baruco (Barcelona Ruby Conference) ist zwar schon fast 2 Monate her, allerdings sind die Videos erst seit letzter Woche alle online. Die Idee pro Tag ein Video zu veröffentlichen ist recht praktisch um fortlaufen die Präsentationen anzuschauen. Wartet man allerdings vor allem auf die zuletzt gehaltene Präsentation ist dies nicht gerade ideal.

Den Organisatoren gelang es eine Top-Liste an Referenten einzuladen die mit viel Freude und Enthusiasmus ihre Präsentationen hielten oder Workshops durchführten. Da aber nicht jeder 2 Tage Zeit hat um alle Videos anzuschauen habe ich die 5 ausgewählt die man unbedingt sehen sollte:
 

Here Be Dragons“ von Katrina Owen (@kytrinyx) handelt nur vordergründig von schlechtem Code. In einer an ein Computerspiel erinnernden Präsentation zeigt Katrina das man nicht ein schlechter Mensch sein muss um schlechten Code zu schreiben. Vielleicht hatte der entsprechende Programmierer ja auch nur einen schlechten Tag oder die Anforderungen änderten sich fortlaufend. Wie man dennoch als Team zusammenarbeiten kann wird ebenso gezeigt wie die dazu passenden Erkenntnisse aus der Spieletheorie.

 

Der 2. Tage wurde von Paolo Perrotta (@nusco) mit der Keynote „Hunters and Gatherers“ eröffnet. Dass Evolution nicht linear verläuft dürfte den meisten wohl bekannt sein. Was für Umwege dabei in Kauf genommen müssen zeigt Paolo anhand des Längenproblems. Die Bestimmung der geografischen Länge beschäftigte die Seefahrt für über 2000 Jahre und war das Problem schlechthin. Dies ist nicht nur eine interessante Geschichtslektion, sondern zeigt auch worauf wir uns in der IT einstellen müssen.

 

Wen man von Regeln spricht denken die meisten an Einschränkungen. Wie daraus auch neue Möglichkeiten entstehen können zeigt Sandi Metz (@sandimetz) in „Rules„. Um Ruby Code zu schreiben empfiehlt uns Sandi diese 5 Regeln:

  • Maximal 100 Zeilen pro Klasse
  • Maximal 5 Zeilen pro Methode
  • Maximal 4 Parameter pro Methodenaufruf (keine Hashes als Umgehungslösung)
  • Nur 1 Instanzvariable pro Rails-View
  • Maximal 2 Klassen pro Rails-Controller Action

Wer sein eigenes Projekt gegen diese Regeln prüfen will findet mit sandi_meter das passende Gem.

 

Matt Wynne (@mattwynne) sprach in „Treating objects like people“ nicht nur über den Stellenwert der Zusammenarbeit aller im Projekt beteiligten Personen sondern auch über Cucumber. Dieses Projekt ist keinesfalls tot. Obwohl es länger recht still war wird nun wieder aktiv entwickelt und für die nächste Version gibt es zahlreiche interne Verbesserungen. Die Hauptentwickler haben die Firma Cucumber.pro gegründet und bieten nun auch Support und Unterstützung für Unternehmen an.

 

Wie man mit Ruby Spiele für iOS entwickelt zeigte Brian Sam-Bodden (@bsbodden) in „iOS Games with RubyMotion„. Dies geht ganz ohne Objective-C und auf einer unglaublich hohen Abstraktionsebene. Die dafür notwendigen Bibliotheken zeigt Brian ebenso wie weitere hilfreiche Werkzeuge um die Levels zu erstellen. RubyMotion ist definitiv ein Projekt das ich mir einmal genauer anschauen werde.

 

Fazit

Die Baruco 2013 war eine sehr spannende Konferenz die mein Interesse an Ruby deutlich gesteigert hat. Die vorgestellten 5 Videos zeigen einen guten Querschnitt der Präsentationen und wer Zeit hat soll ruhig auch ein Blick auf die Präsentationen von Avdi oder Matz werfen.
 

10 äusserst sehenswerte Videos der NDC Oslo

Auch 2 Monate nach der NDC Oslo stosse ich noch immer auf zahlreiche Referenzen und Zitate aus den dort gehaltenen Präsentationen. Dies erstaunt mich angesichts der hohen Qualität der Konferenz und der Referenten nicht wirklich. Seit die Videos auf Vimeo aufgeschaltet sind bin ich selber auch fleissig am Anschauen.

Bei total 150 Präsentationen kann ich mich wohl noch einige Wochen beschäftigen. Da nicht jeder so viel Zeit hat habe ich hier die 10 Präsentationen zusammengetragen die ich äusserst sehenswert finde.

 

Clean Architecture and Design“ und „Principles of Component Design“ von Robert C. Martin behandeln die Themen die im Workshop zu „Clean Architecture“ eingehend behandelt wurden. Wer seine Software nicht einem Framework unterordnen will findet hier einen passenden Ansatz.

 

Allan Kelly zeigt in „Do it right, then do the right thing“ wieso man sich besser darauf konzentrieren soll die Dinge richtig zu machen. Macht man die Dinge richtig ist es viel einfacher die richtigen Dinge anzugehen. Der so oft propagierte Weg erst die richtigen Dinge zu machen funktioniert nur bis zur nächsten Management-Theorie, dann gibt es ein neues „richtig“ und alles was man bisher machte war „falsch“. Und wie oft die Theorien wechseln hat wohl jeder schon selber mitbekommen.

 

Abusing C#“ von Jon Skeet zeigt einem in einer Stunde was man alles mit C# anstellen kann und einem garantiert nichts bringt. Dies macht Skeet allerdings so lustig das man dieses Video unbedingt gesehen haben muss. Und wenn man genau zuhört kann man doch noch das eine oder andere über die Implementierung verschiedener .Net Features lernen…

 

Liz Keogh zeigt in „Don’t let your process hide your ignorance“ wie wir überall versuchen unsere Unkenntnisse durch eine übertriebene Prozesstreue zu kompensieren. Aber genau da wo wir noch nie mit einem Projekt zuvor waren liegt oft der Wert des neuen Projekts. Dieses Neue benötigt unsere Aufmerksamkeit und hier wird sich entscheiden ob unser Projekt ein Erfolg oder ein Fehlschlag wird. Aus meiner Sicht ist dies das beste Video darüber was „agil“ eigentlich bedeutet.

 

In „Being an Anti-social Geek is harmful“ zeigt Hadi Hariri wie wichtig Kommunikation ist. Dies gilt nicht nur für Business-Analisten, sondern auch für Entwickler. Wie schnell man schon in Englisch aneinander vorbei spricht zeigte er mit der Grafik „What British People Say, Versus What They Mean„. Wer schon einmal einen Dialog von SAP gesehen hat weiss was passieren kann wenn ein Entwickler nicht mit dem Benutzer kommuniziert…

 

Gojko Adzic zeigt in „Make Impacts, Not Software“ wie Veränderungen in der Umgebung massive Auswirkungen auf unsere Annahmen und Anforderungen haben. Die Vasa dient dabei als perfektes historisches Beispiel (“The ship was shipped – but not very far…“) für die veränderlichen Zeiten in denen wir uns bewegen. Ein GPS für Projekte ist nur eine von vielen seiner Ideen die in dieser Präsentation zum Überdenken der eigenen Abläufe anregt.

 

Wie Bodil Stokke in „What Every Hipster Should Know About Functional Programming“ zeigt kann man eine Präsentation auch in Klingonisch starten. Nach diesem kleinen Spass zur Einleitung erklärt sie sehr verständlich all die vielen verwirrenden Begriffe rund um die funktionale Programmierung (wie Functors). Eine äusserst hilfreiche Präsentation für alle die einmal etwas abseits von OO probieren wollen.

 

In „TDD, where did it all go wrong“ zeigt Ian Cooper die häufigsten Probleme bei TDD. Er führt dabei all die bei so vielen (TDD-) „Fanatikern“ hochgehaltenen Praktiken auf und zeigt wie weit diese von den ursprünglichen Ideen von Kent Beck entfernt sind. Wer „TDD by Example“ schon kennt sollte nach dem anschauen des Videos unbedingt nochmals das Buch hervorholen. Es ist erstaunlich was alles von Kent Beck vor 10 Jahren beschrieben wurde und heute wieder als die Lösung der TDD-Probleme aufgeführt wird.

 

Andy Hunt zeigt in „Uncomfortable with Agility: What has Ten+ Years got us?“ was in den letzten 10 Jahren in der agilen Software Entwicklung so alles geschehen ist. Wer schon immer wissen wollte wie das agile Manifest entstanden ist und was die Motivation war wird hier fündig. Die Erinnerungen von Andy Hunt über die damalige Zeit und ihre Hoffnungen ist eine äusserst spannende Geschichtslektion. Und es motiviert einem über die eigene Definition von „agil“ nachzudenken.

 

Soweit die 10 Videos die ich besonders hervorheben möchte. Über zusätzliche Empfehlungen würde ich mich freuen.

Präsentation „Refactoring: Mythen und Fakten“ bei der @dnugbe

Im Rahmen des 5x20min Abends bei der .Net User Group Bern durfte ich am 25. Juni 2013 meinen Vortrag über Refactoring halten. Neben den häufigsten Mythen versuchte ich zu zeigen was Refactoring wirklich ist und wann diese Praktik zu einem reinen Etikettenschwindel verkommt.
Um den Zuhörern auch etwas Hilfreiches mitzugeben zeigte ich anhand eines Praxisbeispiels wie man mittels Characterization Tests den aktuellen Funktionsumfang greifbar machen kann.

Wer sich selber ein Bild machen will findet die Unterlagen auf Speakerdeck:

Präsentation Refactoring: Mythen & Fakten

 

Ressourcen

Rund um das Thema Refactoring kann ich diese Links empfehlen:

Bücher

Videos

Tools

 

Weitere spannende Themen

Neben meinem Vortrag gab es noch 4 weitere Präsentationen. Die Themenvielfalt war gross und so sollte es für jeden etwas Passendes gehabt haben.

Die Unterlagen zu diesen Präsentationen dürften wohl schon bald auf der Event-Seite der .Net User Group Bern zu finden sein.

 

Danke

Als Abschluss möchte ich mich bei den Teilnehmern für ihr Interesse bedanken. Und ganz besonders bedanken möchte ich mich bei Kay und René. Die beiden kümmerten sich nicht nur um die Vorbereitung ihrer Präsentationen sondern organisierten nebenher auch noch das Treffen.

NDC Oslo 2013 – die Tech-Konferenz in 2013

Wie toll eine Konferenz für Entwickler sein kann durfte ich Mitte Juni in Oslo erfahren. Die NDC (Norwegian Developers Conference) stellt alles was ich an Konferenzen kenne in den Schatten. Von den Referenten, den Präsentationen über den Veranstaltungsort bis hin zur Verpflegung wurde einem ein tolles Programm geboten.

 

Workshops als Einstieg

Als Einleitung in die Konferenz gab es 2 Tage mit Workshops. Wer sich für agile Software Entwicklung interessiert wurde bei Dan North fündig, Liz Keogh zeigte wie man auf Veränderungen reagieren sollte und Dominick Baier erklärte die Claims-basierte Authentifizierung in .Net 4.5.

Ich wählte die beiden Workshops „Clean Architecture“ und „TDD Overview“ mit Uncle Bob (Robert C. Martin, der neben vielen anderen Büchern auch Clean Code geschrieben hat). Ich fand seine Ideen aus „Architecture the Lost Years“ äusserst spannend und konnte nun einen ganzen Tag lang erfahren was da alles dahinter steckt und wieso ein solcher Applikationsaufbau einen grossen Mehrwert bietet.

Der Workshop zu TDD zeigte mir was ich alles noch zu lernen habe. Uncle Bob schafft es einem in kurzer Zeit viel beizubringen ohne dass man das Gefühl hat es sei anstrengend. Seine kleinen Geschichten die er einwirft und auf den ersten Blick rein gar nichts mit dem Thema zu tun haben stellen sich bei genauerem Hinsehen meistens als äusserst passend heraus. So macht lernen richtig spass.

 

Hochkarätige Konferenz

Die hohe Qualität der Präsentationen vom letzten Jahr wurde wieder erreicht – wenn nicht sogar übertroffen. Neben rein technischen Präsentationen gab es auch viel zu lachen. Das Panel von .Net Rocks zu funktionaler Programmierung, C# 5 von Jon Skeet oder dem Cage Match zwischen Rob Conery und Tom Dale sorgten für eine angenehme Auflockerung.

Die Konferenz lieferte mir viele neue Ideen. Das von Gojko Adzic in „Make Impacts, Not Software“ angedachte GPS für Projekte fand ich ein spannender Ansatz. In „Simulation Testing“ zeigte Stuart Halloway was man abseits von Unit- und Funktionalen Tests mittels einer Simulation noch so alles überprüfen kann. Dies tönte sehr spannend, ich bin aber skeptisch ob dies auch mit vertretbarem Aufwand umgesetzt werden kann.

Die Präsentation „Do it right, then do the right thing“ von Allan Kelly enthält einige kontroverse Ideen die mich sehr zum Nachdenken angeregt haben. Auch bei Andy Hunt in „Uncomfortable with Agility: What has Ten+ Years got us?“ und in „Don’t let your process hide your ignorance“ von Liz Keogh wurden Fragen aufgeworfen die mich noch immer beschäftigen und wohl zu einigen Blogposts führen werden.

Die Keynote von Joel Spolsky von StackOverflow war im Hinblick auf all diese Präsentationen ein wenig schwach. Das Thema hätte als „gewöhnliche“ Präsentation mit einer grossen Fragerunde wohl deutlich besser überzeugt als auf der grossen Hauptbühne. So aber war es mehr eine Demonstration der Möglichkeiten in StackOverflow die den meisten Teilnehmern wohl längst bekannt waren. Die Chance zu zeigen was alles hinter StackOverflow steckt und wie viel Gedanken man sich über die einzelnen Aspekte gemacht hatte wurde so leider verpasst.

 

Interessantes Rahmenprogramm

Neben der Konferenz und den Workshops gab es noch ein interessantes Rahmenprogramm. Am Abend vor der Konferenz gab es ein GeekBeer Meetup bei dem ich mit etlichen Entwicklern aus Skandinavien ins Gespräch kam. Ich fand es spannend zu erfahren mit was für Projekten und Problemen sie sich beschäftigen und wie wenig sich diese von meinem Alltag unterscheiden.

Ein wenig Pech mit dem Wetter hatten wir bei der Oslofjord Cruise. Während der Schifffahrt im Fjord vor Oslo regnete es ohne Unterbruch. So konnte man von der sonst so schönen Landschaft kaum etwas sehen. Dafür hatte ich die Gelegenheit Jon Skeet beim Refactoring von Noda Time über die Schulter zu schauen. Seine Ansätze brechen mit etlichen Regeln, was er aber durch seine Arbeitsweise kompensiert. Das so oft erwähnte Dreyfus Modell über das Lernen konnte ich so nebenher als praktisches Beispiel sehen.

Neue musikalische Eindrücke lieferten Press Play On Tape an der NDC Party. Die Idee den Soundtrack alter Computerspiele mit Rock zu mischen tönt schon von der Idee her recht schräg. Es passt aber und man sollte wirklich einmal hinein hören.

 

Ausblicke

Ab Mitte Juli sollten die Videos zu den Präsentationen online sein. Ich habe noch einiges nachzuholen da ich jeweils nur eine Präsentation gleichzeitig anschauen konnte. Und bei 8 parallelen Tracks war die Entscheidung oft nicht leicht.

Die nächste NDC Oslo findet vom 2. – 6. Juni 2014 statt. Tickets mit Frühbucherrabatt dürfte es wohl wiederum ab Februar geben. Wenn auch die Konferenz nicht ausgebucht war lohnt es sich schon wegen dem Preisnachlass früh zu buchen.

Wer nicht so lange warten will kann vom 2. – 6. Dezember 2013 an die NDC London. Dies ist ein Ableger der NDC Oslo bei der das NDC für New Developers Conference steht. Da bis September noch der Call for Papers läuft ist das Programm noch nicht komplett. Was bereits bekannt ist tönt aber spannend.

 

Fazit

Die NDC Oslo 2013 war ein tolles Erlebnis. So viele Ideen und motivierte Leute findet man selten so konzentriert an einem Ort. Klappt auch die Organisation hat man alles beisammen um eine unvergessliche Konferenz zu machen. Wenn ich es irgendwie einrichten kann bin ich anfangs Juni 2014 wiederum in Oslo.

TechDays 2011 in Bern

Am 20. und 21. Oktober veranstaltete Microsoft zum zweiten Mal in diesem Jahr die TechDays. Als Veranstaltungsort diente nach längerem wieder einmal der Kursaal in Bern. Auch wenn der Kursaal derzeit umgebaut wird fand ich die Räumlichkeiten doch angenehmer als das Congress Center in Basel.

Ich hatte den Eindruck dass deutlich weniger Leute nach Bern gekommen sind als im Frühling nach Basel. Ob dies am Programm oder am Ort liegt kann ich allerdings nicht abschätzen.

 

Windows 8 – oder doch nicht

Als man sich Ende Juni für die TechDays registrieren konnte war im Programm noch von Windows 8 und all den damit verbundenen Neuerungen die Rede. Ende August gab es einen Programmwechsel weg von Windows 8 hin zu Azure, Mango und HTML 5. Die damit einhergehende Umfrage ob man dennoch kommen wolle fand ich eine gute Sache, hatte sich der Inhalt der Messe doch komplett verändert.

Der ursprünglich geplant Event zu Windows 8 wird nun am 9. Februar 2012 im Kongresshaus Zürich durchgeführt.

 

IT Pro Day / Developer Day

Die TechDays wurden diesmal nach Zielpublikum getrennt. Der erste Tag zeigte Themen die sich vor allem an Administratoren und Manager richten, wie Azure oder der kommende SQL Server „Denali“. Der zweite Tag stand ganz im Zeichen der Entwicklung, wo Visual Studio 11 schon in der Keynote ausführlich behandelt wurde.

 

Team Foundation Server, Mango und OData

Ich war nur am Developer Day und besuchte vor allem die Sessions rund um den Team Foundation Server (TFS). Da ich mich derzeit beruflich mit dem TFS beschäftige kamen mir diese Sessions gerade Recht. Die von Neno Loje vorgestellten neuen Funktionen im TFS 11 decken viel von dem ab was ich an der aktuellen Version vermisse (wie das Kanban-Board oder die dynamischen Statusreports). Schade nur dass man noch so lange auf den TFS 11 warten muss.

Die Neuerungen für Entwickler in Windows Phone 7.5 (Mango) wurden durch Sascha P. Corti vorgestellt. Einmal mehr lieferte er eine super Präsentation ab die das Publikum mitriss. Schön ist auch das die gezeigten Werkzeuge und neuen Möglichkeiten bereits verfügbar sind.

Mark Stafford (OData) und Corrado Iorizzo (Integration TFS mit Ticketing-Systemen über Webservices) gingen in ihren 300er Präsentationen tief in die Details hinein. Ich konnte so in einer Stunde nicht nur erfahren wie man externe Ticketing-Systeme mit TFS integrieren kann, sondern auch gleich noch wie ich dies angehen muss und auf welche Punkte ich zu achten habe. Die beiden Sessions waren wirklich einmal ein Deep Dive der den Namen verdient hat.

Schön wäre es wenn Microsoft für die nächsten Veranstaltungen die Klassifizierung beibehalten könnte. Wenn die Level 100, 200 und 300 jedes Mal wieder etwas anderes bedeutet verwirrt dies nur die Besucher.

 

Präsentationen und Videos

Die Präsentationen sind bereits alle auf der Webseite der TechDays aufgeschaltet. Die Videos sollten in den nächsten Tagen folgen.

 

Fazit

Ich konnte mir ein Programm zusammenstellen das thematisch zu meiner aktuellen Tätigkeit passt. So konnte ich vom Developer Day trotz der wenigen wirklichen Neuigkeiten profitieren.

Dennoch haben mich die zweiten TechDays in diesem Jahr nicht voll überzeugen können. Die Einteilung wie in den letzten Jahren mit den TechDays im Frühling und der Shape im Herbst hat mir besser gefallen. Sich einen Tag lang nur mit Webtechnologien zu beschäftigen ist etwas ganz anderes als in einem Tag das ganze .Net Ökosystem unterbringen zu wollen.

Nächstes Jahr wird wohl wieder alles ein klein wenig anders. Die Shape soll gemäss Computerworld im Frühling stattfinden (terminlich auf die MIX abgestimmt) und die TechDays passend zur PDC am 19./20. November wieder in Basel. Man darf also gespannt sein was Microsoft im 2012 so alles bieten wird.