YOW! 2018 Melbourne Workshops Day 1

Tue, Dec 4
Timezone: Australia/Melbourne (AEDT)
09:00
  • Added to My Schedule
    keyboard_arrow_down
    Michael Nygard

    Michael Nygard - Workshop - Architecture Without an End State workshop

    schedule  09:00 AM - 05:00 PM place Room 1 shopping_cart Reserve Seat star_halfRate

    Architecture plans in enterprises tend to resemble late-night infomercials. First, you see a person or system that seems incapable of survival—a situation that can be immediately rectified if you just buy into the product. (One popular infomercial shows incompetent people mangling tomatoes transitioning into Ginsu-wielding sous chefs; the architecture pitch starts with hideous complexity then moves to clean orthogonal box diagrams.) Operators are always standing by.

    Real architecture never reaches that blissful end state. Something always interrupts the program: businesses change, technology changes, or funding dries up. What would happen if you did reach the end state, anyway? Is IT in the company done? Of course not.

    The truth is that there is no end state. We must all learn to build systems that evolve and grow. We need to stop aiming for the end state and understand that change is continuous. We cannot predict the details, but we can learn the general patterns.

    Michael Nygard demonstrates how to design and architect systems that admit change—bending and flexing through time. Using a blend of information architecture, technical architecture, and some process change, Michael walks you through examples of rigid systems to show how to transform them into more maneuverable architecture.

    This workshop includes both teaching and hands-on design sessions. Design sessions will be paper and whiteboard work in small groups. You’ll work on real problems drawn from a variety of industries. If you’re a developer or architect working with medium to large architectures and building applications in the context of existing systems or transitioning to new systems, this is the tutorial for you.

  • Added to My Schedule
    keyboard_arrow_down
    Kyle Simpson

    Kyle Simpson - Workshop - Functional-Light JavaScript

    schedule  09:00 AM - 05:00 PM place Room 3 shopping_cart Reserve Seat star_halfRate

    "A monad is just a monoid in the category of endofunctors".

    That fact holds everything you need to know about functional programming (FP), right!? If that sentence is a jumble of confusing words to you, you're not alone.

    FP is one of the most powerful programming concepts ever conceived, but it's mired in mountains of terminology and notation and often taught from the top-down. Think about it: it's much easier to think about climbing the mountain once you're already on the top and can see back down. But right now, you're standing at the base of the mountain, ready and eager to climb but all you have is a collection of fancy climbing gear and no clue how to use it to begin the climb.

    This workshop is your primer on how to use this climbing gear to get started up the mountain. Most of the core concepts of FP are actually very intuitive and straightforward, when presented from the ground up without confusing terms or symbolic notations. Functional-light is a look at FP that helps you start the climb, not a lecture on why the climb should be easier than you think it is.

    We'll look at: function parameters, side effects/purity, composition, immutability, closure, recursion, list operations, and more!

    If you're ready to start using FP concepts intuitively and pragmatically to improve your code, and not just hearing confusing terms, this workshop is for you.

  • schedule  09:00 AM - 05:00 PM place Room4 shopping_cart Reserve Seat star_halfRate

    Enterprises need to deliver better software faster. It’s no longer sufficient to release quarterly or even monthly. Instead, organizations must use methods, such as DevOps, to frequently deploy changes into production, perhaps as often as multiple times per day. One obstacle, however, to DevOps-style development is that organizations are often mired in monolithic hell. Key business applications are large, complex, unwieldy monoliths, and so it’s impossible to rapidly and safely deploy changes.

    The solution is to adopt the microservice architecture, which is an architectural style that has the testability and deployability necessary for DevOps. In this workshop, you will, through a combination of lectures and discussions, learn how to use the microservice architecture to develop your applications. We will describe how to solve some of the key obstacles you will face including distributed data management. You will learn about strategies for refactoring a monolith to a microservice architecture.

  • Added to My Schedule
    keyboard_arrow_down
    Neal Ford

    Neal Ford - Workshop - Building Evolutionary Architectures Hands-on

    schedule  09:00 AM - 05:00 PM place Room 5 shopping_cart Reserve Seat star_halfRate

    An evolutionary architecture supports incremental, guided change across multiple dimensions.

    For many years, software architecture was described as the “parts that are hard to change later”. But then microservices showed that if architects build evolvability into the architecture, change becomes easier. This workshop, based on recent book, investigates the family of software architectures that support evolutionary change, along with how to build evolvable systems. Understanding how to evolve architecture requires understanding how different parts of architecture interact; I describe how to achieve appropriate coupling between components and services. Incremental change is critical for the mechanics of evolution; I cover how to build engineering and DevOps practices to support continuous change. Uncontrolled evolution leads to undesirable side effects; I cover how fitness functions build protective, testable scaffolding around critical parts to guide the architecture as it evolves.

    The software development ecosystem exists in a state of dynamic equilibrium, where any new tool, framework, or technique leads to disruption and the establishment of a new equilibrium. Predictability is impossible when the foundation architects plan against changes constantly in unexpected ways. Instead, prefer evolvability over predictability. This hands-on workshop provides a high-level overview of a different way to think about software architecture.

YOW! 2018 Melbourne Workshops Day 2

Wed, Dec 5
Timezone: Australia/Melbourne (AEDT)
09:00

YOW! 2018 Melbourne Day 1

Thu, Dec 6
Timezone: Australia/Melbourne (AEDT)
08:00

    Registration for YOW! 2018 Melbourne - 45 mins

08:45

    Session overview and introductions - 15 mins

09:00
10:00

    Morning Coffee Break - 30 mins

10:30
11:30
  • Added to My Schedule
    keyboard_arrow_down
    Neal Ford

    Neal Ford - Building Evolutionary Architectures

    schedule  11:30 AM - 12:20 PM place Red Room people 423 Interested star_halfRate

    An evolutionary architecture supports guided, incremental change across multiple dimensions.

    For many years, software architecture was described as the “parts that are hard to change later”. But then microservices showed that if architects build evolvability into the architecture, change becomes easier. This talk, based on my upcoming book, investigates the family of software architectures that support evolutionary change, along with how to build evolvable systems. Understanding how to evolve architecture requires understanding how architectural dimensions interact; I describe how to achieve appropriate coupling between components and services. Incremental change is critical for the mechanics of evolution; I cover how to build engineering and DevOps practices to support continuous change. Uncontrolled evolution leads to undesirable side effects; I cover how fitness functions build protective, testable scaffolding around critical parts to guide the architecture as it evolves.

    The software development ecosystem exists in a state of dynamic equilibrium, where any new tool, framework, or technique leads to disruption and the establishment of a new equilibrium. Predictability is impossible when the foundation architects plan against changes constantly in unexpected ways. Instead, prefer evolvability over predictability. This talk illustrates how to achieve evolutionary architectures and how to retrofit existing systems to support better evolution.

  • Added to My Schedule
    keyboard_arrow_down
    Dave Cheney

    Dave Cheney - Lessons learned building Kubernetes controllers

    schedule  11:30 AM - 12:20 PM place Green Room people 126 Interested star_halfRate

    In this talk I'll discuss my experiences building Kubernetes controllers using as a case study Contour, a new Kubernetes Ingress controller, that I've been working on since joining Heptio.

    This presentation will cover:

      • What an ingress controller is and what role it plays in a Kubernetes cluster.
      • Why Heptio chose Lyft's Envoy proxy as the data plane for our ingress controller.
      • How Contour works as a translator from Kubernetes to Envoy. The parts that were a good match, the parts that weren’t, and how we dealt with it.
      • How to develop a component of an interactive system like Kubernetes while avoiding the dreaded compile/push/deploy time sink.
  • Added to My Schedule
    keyboard_arrow_down
    Joe Albahari

    Joe Albahari - Neural Nets From The Ground Up

    schedule  11:30 AM - 12:20 PM place Blue Room people 93 Interested star_halfRate

    The best way to understand neural networks is to get your hands dirty and write one.

    In this session, we'll start from scratch and invent a neural net that can recognize handwritten digits with over 98% accuracy. Without leaning on any libraries! From the bottom up, we'll discover gradient descent, activation functions and backpropagation, as well as the mathematics behind this fascinating machine learning technology.

    We'll code entirely in C# in a lightweight IDE (LINQPad). And you'll get to keep the code!

12:20

    Lunch Break - 60 mins

13:20
14:20
15:10

    Afternoon Tea Break - 30 mins

15:40
16:40
  • Added to My Schedule
    keyboard_arrow_down
    Barry O’Reilly

    Barry O’Reilly - Why Great Leaders Must Unlearn to Succeed in Today’s Exponential World

    schedule  04:40 - 05:30 PM place Red Room people 170 Interested star_halfRate

    Effective leadership comes with a large learning curve. In today’s rapidly-evolving business climate, this is more true than ever for seasoned leaders and entrepreneurs alike.

    Many leaders rely too heavily on past achievements, practices, and ways of thinking to drive positive business results today, but they often need to unlearn those behaviors before they can take a step forward.

    Join executive coach Barry O’Reilly as he breaks down a transformative framework that shows leaders how to rethink their strategies, retool their capabilities, and revitalize their businesses for stronger, longer-lasting success.

  • Added to My Schedule
    keyboard_arrow_down
    Gary McGraw

    Gary McGraw - How to Avoid the Top Ten Software Security Flaws

    schedule  04:40 - 05:30 PM place Green Room people 1 Interested star_halfRate

    Software security defects come in two categories: bugs in the implementation and flaws in the design. In the commercial marketplace, much more attention has been paid to finding and fixing bugs that has been paid to finding and fixing flaws. That is because automatically identifying bugs is a much easier problem than identifying design flaws. The IEEE Center for Secure Design was founded to address this issue head-on. My presentation will cover the IEEE CSD’s first deliverable by introducing and discussing how to avoid the top ten software security flaws. The content was developed in concert with Twitter, Google, Cigital, HP, Sadosky Foundation of Argentina, George Washington University, Intel/McAfee, RSA, University of Washington, EMC, Harvard University, and Athens University of Economics and Business. During the talk, I will introduce and discuss how to avoid the top ten software security design flaws. It's important, of course, to know that these flaws account for half of the defects commonly encountered in software security. But more important still is learning how to avoid these problems when designing a new system or revisiting an existing system.

  • Added to My Schedule
    keyboard_arrow_down
    Sam Aaron

    Sam Aaron - Live Coding the intersection between the Arts, Technology and Research

    schedule  04:40 - 05:30 PM place Blue Room people 94 Interested star_halfRate

    Live Coding systems encourage us to think extremely differently about programming languages. In addition to considering standard requirements such as reliability, efficiency and correctness we are also forced to deal with issues such as liveness, coordination and synchronization all whilst working in real time.

    Live Coders not only run and modify code live — they often perform with it on stage in front of large crowds of people who really don't want the code to miss a beat. In this code and demo-heavy talk, Sam will introduce the motivation for Sonic Pi - a system designed specifically for live coding music - before taking a deep technical dive into the internal ideas and innovations. The audience will explore Sonic Pi's novel temporal semantics which allow multiple concurrent threads to execute in synchronization along with live hot-swapping of code.

    Ultimately, everyone will discover an exciting area of programming language research in an approachable and instructive manner all whilst making some sick beats and drops.



17:45
18:45

    Conference Reception - 45 mins

19:30

    Dinner with Speakers (Separately ticketed event) - 180 mins

YOW! 2018 Melbourne Day 2

Fri, Dec 7
Timezone: Australia/Melbourne (AEDT)
08:45

    Session overview and introductions - 15 mins

09:00
10:00

    Morning Coffee Break - 30 mins

10:30
11:30
12:20

    Lunch Break - 60 mins

13:20
14:35
15:25

    Afternoon Tea Break - 30 mins

15:55
16:55
17:45

    Farewell Drinks - 60 mins