Geecon 2016

Jakub Dutkowski

Day 1

  1. A Decade of DDD, CQRS, Event Sourcing by Greg Young
  2. Caught in the Act: Kotlin Bytecode Generation and Runtime Performance by Dmitry Jemerov
  3. Lisp in the machine by Joe Nash
  4. Rise of the Machines - Automate Your Development by Sven Peters
  5. Lessons learnt on production by Greg Young
  6. Agile vs the fear of the white blank page by Gustavo Elias

A Decade of DDD, CQRS, Event Sourcing by Greg Young

  • One of the Fathers of CQRS methodology
  • Heavily involved in DDD
  • Event store database
  • Key takeaway - don't be a fundamentalist in any technology/design pattern etc.

Caught in the Act: Kotlin Bytecode Generation and Runtime Performance by Dmitry Jemerov

  • Kotlin - Open Source, backed by JetBrains
  • null-safe
  • Compiled to Java bytecode -- fully interoperable
  • Lots of benchmarks in the presentation, showing comparisons to Java

Rise of the Machines - Automate Your Development by Sven Peters

  • Automate everything :)
  • Comparison between screenshots as a git hook

Lessons learnt on production by Greg Young

  • A sobering talk
  • Limit abstractions
  • Cascading problems
  • Randomized tests
  • Make bug reporting and debugging a part of your design
  • Property-based tests

Day 2

  1. Self-Healing Systems by Viktor Farcic
  2. Greenfield effect: Patterns for Effective Disaster Delivery by Julian Warszawski
  3. Navigating ALL the Knowledge by James Weaver
  4. How shit works: Storage by Tomer Gabel
  5. Confidence in the frontend with Elm by Ossi Hanhinen
  6. What's Oracle Doing With JavaScript?! by Geertjan Wielenga
  7. Big Data means Big Change by Lars George

Greenfield effect: Patterns for Effective Disaster Delivery by Julian Warszawski

  • More like a standup than presentation :)
  • Greenfield is not always easier than Brownfield

Navigating ALL the Knowledge by James Weaver

  • Graph DB application
  • Far from perfect UI, but a good idea
  • Concept Map

How shit works: Storage by Tomer Gabel

Confidence in the frontend with Elm by Ossi Hanhinen

  • Compile time errors
  • Functional patterns
  • Component-like frontend
  • Elm language

What's Oracle Doing With JavaScript?! by Geertjan Wielenga

Day 3

  1. JVM dive for mere mortals by Jakub KubryƄski
  2. Twelve BDD Antipatterns - stories from the trenches about how NOT to do BDD by John Smart
  3. Need Robust Software? Make It Fragile by Yegor Bugayenko
  4. Testing Patience by Michael Feathers
  5. A quest for predictable latency with Java concurrency by Martin Thompson
  6. What we can learn from Smalltalk by Kirk Pepperdine
  7. Big Data means Big Change by Adrian Trenaman
  8. Top 10 Performance Mistakes by Martin Thompson

Twelve BDD Antipatterns - stories from the trenches about how NOT to do BDD by John Smart

  • BDD is not a tool for writing tests
  • BDD is a communication tool
  • Don't get technical
  • Be descriptive

Need Robust Software? Make It Fragile by Yegor Bugayenko

  • Fail-fast instead of Fail-safe
  • Assume clients fault when your method gets bad data

Testing Patience by Michael Feathers

  • Testing is a way of thinking harder about what you write
  • Don't focus on test running tools
  • Tests help even not executed :)

What we can learn from Smalltalk by Kirk Pepperdine

  • OO comes from Smalltalk
  • A lot of Java concepts come from Smalltalk
  • Smalltalk

Top 10 Performance Mistakes by Martin Thompson

  • Data centers use as much energy as the airline industry
  • We write software that mostly parses strings and logs stuff
  • Measure everything
  • Make benchmarks a part of your code
  • Profile your code for fun :)