YOW! 2018 Sydney Workshops Day 1

Tue, Nov 27
09:00
  • Added to My Schedule
    keyboard_arrow_down
    Michael Nygard

    Michael Nygard - Workshop - Architecture Without an End State

    schedule  09:00 AM - 05:00 PM place Room 1 people 200 Interested add_circle_outline Notify

    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. 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 session for you.

  • Added to My Schedule
    keyboard_arrow_down
    Dave Thomas

    Dave Thomas - Workshop - Elixir for Programmers

    schedule  09:00 AM - 05:00 PM place Room 2 add_circle_outline Notify
    This is a workshop with two agendas. The first is to get you up to speed with the Elixir language and the tooling that surrounds it. We'll see why companies around the world are switching to Elixir (and it's not just for the fantastic Phoenix web framework). And we'll do this by writing code: lots of code. By the end of the day you'll have a multi-user, real-time collaborative app up and running.
    But there's a second, secret agenda. I want to introduce you to a different way of thinking about programming: state, objects, functions, concurrency: it's all up for grabs. I'm betting that the day after the workshop you'll find yourself writing code differently. Your code will have less coupling, and it will be easier to change. And it doesn't matter what language you're using.
    This is a workshop for programmers: I'll run it as fast as you want, and I won't be shy when it comes from giving my personal (and often controversial) opinions.
  • Added to My Schedule
    keyboard_arrow_down
    Chris Richardson

    Chris Richardson - Workshop - Developing Microservices

    schedule  09:00 AM - 05:00 PM place Room 3 add_circle_outline Notify

    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 add_circle_outline Notify

    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 Sydney Workshops Day 1

Wed, Nov 28
09:00

YOW! 2018 Sydney Day 1

Thu, Nov 29
08:00

    Registration for YOW! 2018 Sydney - 45 mins

08:45

    Session Overviews & 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 270 Interested

    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.

  • schedule  11:30 AM - 12:20 PM place Green Room people 87 Interested
    It’s half a century since the NATO Software Engineering conference in Garmisch. How are we doing? Are we nearly there yet? Or is there no there there?
    The world of software development has changed so much and in so many ways since 1968 that it’s difficult to imagine what we could learn from the past, but it’s learning rather than imagination that’s the constraint. There was no shortage of imagination, insight and inspiration in the 1960s and 1970s, and in many ways the apple of 21st-century software development has fallen disappointingly close to the tree of the past.
    So let’s turn back the clock to see what we could have learned from the past, what we can still learn from the past and what the future might hold in store for code and its development.
  • Added to My Schedule
    keyboard_arrow_down
    Katie Bell

    Katie Bell - Is the 370 the worst bus in Sydney?

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

    In Switzerland, people will be surprised at a bus that's 2min late. In Sydney, people will only consider it noteworthy if a bus is more than 20min late, and this varies greatly between routes and providers. So, how do Sydney bus routes stack up? And if we're talking about privatisation, how do the private bus providers stack up against the state busses?

    To answer these questions we need data… lots of data. Hooray for open government data! Transport for NSW publishes real-time information on the location and lateness of all public transport. Unfortunately it's ephemeral – there is no public log of historical lateness for us to analyse. To gather the data I needed I had to fetch, log and aggregate ephemeral real-time data that was never intended to be used this way. There are random gaps and spontaneous route or timetable changes for special events, roadworks or holidays. Even with noisy data, the patterns start to emerge across months and we can start to answer some questions. The 370 bus route is one of the most complained about routes in Sydney, it even has it's own Facebook group of ironic fans... but is it really the worst bus? Let's look at the data.

12:20

    Lunch Break - 60 mins

01:20
02:20
  • Added to My Schedule
    keyboard_arrow_down
    Chad Fowler

    Chad Fowler - The Future of Software Development

    schedule  02:20 - 03:10 PM place Red Room people 121 Interested
    From autonomous vehicles, 3D printed rocket engines, and “affordable” consumer-owned satellites to rapid advances in AI and secure, decentralized electronic currencies, the past several years have shown us that the only prediction we can confidently make about the future is that it will arrive more quickly than any of us imagined. Yet with all of these major technological advances, the way we develop, test, deploy, and manage software has been incrementally changing over the years. Many of the most forward-thinking paradigms, practices, and technologies are based on concepts and even implementations created decades ago.
    How can software development itself benefit from the disruptive changes in technology in recent years? This talk will explore influences, tech trends and coming innovations which will change how we as an industry approach to software creation, maintenance, management, and even employment.
  • Added to My Schedule
    keyboard_arrow_down
    Dave Cheney

    Dave Cheney - Lessons learned building Kubernetes controllers

    schedule  02:20 - 03:10 PM place Green Room people 66 Interested

    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  02:20 - 03:10 PM place Blue Room people 96 Interested

    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!

03:10

    Afternoon Tea Break - 30 mins

03:40
  • Added to My Schedule
    keyboard_arrow_down
    Hila Peleg

    Hila Peleg - Automatic Programming How Far an Machines Go?

    schedule  03:40 - 04:30 PM place Red Room people 154 Interested
    Program synthesis is the wild west beyond code generators and onward toward self-programming systems. What can it do for us? The answer, right now, is not a lot. It can harness the wisdom of the crowd to help reproduce scenarios that are repeated often, and in narrow scopes tools can make educated guesses about what the programmer intended, but full automatic program synthesis is likely impossible. Specifically because of this, it becomes most interesting to explore what it can't and won't be able to do on its own. Self-programming systems might be past the horizon, but getting a human more involved makes a big difference, and while the computer might never program for us, it might make for a decent pair-programming partner. We'll look at glimpses of this future, in academia and outside it, and see why they're more IDE plugins and less the robot apocalypse.
  • Added to My Schedule
    keyboard_arrow_down
    Randy Shoup

    Randy Shoup - Breaking Codes, Designing Jets, and Building Teams

    schedule  03:40 - 04:30 PM place Green Room people 180 Interested
    Throughout engineering history, focused and empowered teams have consistently achieved the near-impossible. Alan Turing, Tommy Flowers, and their teams at Bletchley Park broke Nazi codes, saved their country, and brought down the Third Reich. Kelly Johnson and the Lockheed Skunk Works designed and built the XP-80 in 143 days, and later produced the U-2, the SR-71, and the F-22. Xerox PARC invented Smalltalk, graphical user interfaces, Ethernet, and the laser printer. What can this history teach us? Well, basically everything.
    Effective teams have a mission - a clearly defined problem which the entire team focuses on and owns end-to-end.
    Effective teams collaborate without hierarchy, across disciplines and between diverse individuals. It should be no surprise that Bletchley was an eclectic mix of "Boffins and Debs" - almost 75% women at its peak; or that Skunk Works' founding team included the first Native American female engineer.
    Effective teams rapidly learn and adapt. Constant experimentation, tight feedback loops, and a policy of embracing failure are all part of the recipe of success. Innovation does not arrive on a waterfall schedule.
    If this sounds a lot like DevOps, or true little-a agile, that's no coincidence. But too few organizations actually practice these three-quarter-century-old ideas despite the overwhelming evidence that they work. As Santayana wrote, "Those who cannot remember the past are condemned to repeat it." So let's relearn those history lessons.
  • Added to My Schedule
    keyboard_arrow_down
    Chris Ford

    Chris Ford - Functional Composition

    schedule  03:40 - 04:30 PM place Blue Room people 92 Interested

    Chris Ford shows how to make music starting with the basic building block of sound, the sine wave, and gradually accumulating abstractions culminating in a canon by Johann Sebastian Bach. Examples live-coded in Clojure.

04:40
  • Added to My Schedule
    keyboard_arrow_down
    Simon Raik-Allen

    Simon Raik-Allen - From the Caveman to the Spreadsheet and Beyond

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

    In this talk Simon will take us on a historical voyage through the representation of information in software and the internet. From tables and charts, through mind maps, info-graphics, multi-dimensional views, and Minecraft. On the way he will explore tooling such as spreadsheets, 4GLs, RADs, workbooks, AirTable, Coda and more. With that background he’ll then dive deeply into the software architecture of a new and exciting platform currently in development, The Big Crunch, which will lead us to an interesting discussion on scale and the making of assumptions that can allow you keep growing a system... or not! Its going to be fast paced and fun, so don’t miss out.

  • 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 198 Interested

    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 than 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, Synopsys, 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 67 Interested

    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.



05:40
  • Added to My Schedule
    keyboard_arrow_down
    Anita Sengupta

    Anita Sengupta - The Future of High Speed Transportation

    schedule  05:40 - 06:40 PM place Grand Ball Room people 67 Interested

    In the global marketplace that transfers knowledge at the speed of light, we have a massive time delay and that is modern transportation methods. The hyperloop is the first new mode of transport to be created in over 100 years. The motivation is to connect people, reduce congestion, and protect our planet by eliminating CO2 emissions from terrestrial transport. The hyperloop can best be described as space travel on the ground - a magnetically levitating, electromagnetically propelled, passenger vehicle in a vacuum tube. With the elimination of aerodynamic drag and surface friction, power consumption plummets, speeds can reach 700 mph, and waste and cost are minimized. With the use of autonomy the service is on demand and delays become a thing of the past. Dr. Sengupta will discuss how space-age tech coupled to the VC funded innovation environment are enabling the revolution in green transportation from suborbital rocket flights, to electric airplanes, to space travel on the ground with the hyperloop.

06:40

    Conference Reception - 50 mins

07:30

    Dinner with Speakers (Separately ticketed event) - 180 mins

YOW! 2018 Sydney Day 2

Fri, Nov 30
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

01:20
  • Added to My Schedule
    keyboard_arrow_down
    Brendan Gregg

    Brendan Gregg - Cloud Performance Root Cause Analysis at Netflix

    schedule  01:20 - 02:20 PM place Grand Ballroom

    At Netflix, improving the performance of our cloud means happier customers and lower costs, and involves root cause analysis of applications, runtimes, operating systems, and hypervisors, in an environment of 150k cloud instances that undergo numerous production changes each week. Apart from the developers who regularly optimize their own code, we also have a dedicated performance team to help with any issue across the cloud, and to build tooling to aid in this analysis. In this session we will summarize the Netflix environment, procedures, and tools we use and build to do root cause analysis on cloud performance issues. The analysis performed may be cloud-wide, using self-service GUIs such as our open source Atlas tool, or focused on individual instances, and use our open source Vector tool, flame graphs, Java debuggers, and tooling that uses Linux perf, ftrace, and bcc/eBPF. You can use these open source tools in the same way to find performance wins in your own environment.

02:35
03:25

    Afternoon Tea - 30 mins

03:55
  • Added to My Schedule
    keyboard_arrow_down
    Michelle Casbon

    Michelle Casbon - Kubeflow Explained: NLP Architectures on Kubernetes

    schedule  03:55 - 04:45 PM place Red Room people 68 Interested

    There's more to a Natural Language Processing (NLP) application than an ensemble of models. Much more! Like any traditional application, there is an entire ecosystem of supporting tools that enables core ML functionality. How do you choose the best ones? Which ones can you do without? How do you maintain context when the complexity of such a system gets out of hand?

    In this session, you will learn how to deploy the full scope of an NLP application on Kubernetes with Kubeflow. The guiding principles of a robust and resilient system are explained and used as the foundation for defining a specific architecture. Techniques for modifying and maintaining it over time are described. Find out what Kubeflow currently supports and the long-term vision for the project, presented by a project contributor.

  • Added to My Schedule
    keyboard_arrow_down
    Randy Shoup

    Randy Shoup - Attitude Determines Altitude - Engineering Yourself

    schedule  03:55 - 04:45 PM place Green Room people 159 Interested
    Success is not determined by our aptitude -- our skill at a particular task. Instead, it is determined by our attitude -- how we go about it. It is far less the contributions of genetics, or education, or circumstance than it is how we approach challenges, limitations, and opportunities in our lives. Through real science and some very personal stories, we will discuss how you can use your attitude to improve yourself.
    We begin by discussing Growth Mindset - Carol Dweck's idea that we can improve ourselves through sustained effort. Focus and attention will help us put in the 10,000 hours of deliberate practice that allow us to achieve mastery.
    We then discuss Trust - by trusting others to do their part and to do it well we can achieve both greater personal happiness and better business results. Generative organizations and psychological safety in teams are key themes.
    We finally discuss Confidence - from the underconfidence of the Impostor Phenomenon to the overconfidence of the Dunning-Kruger effect. Most importantly, we conclude with practical ways you can build and sustain your own confidence in yourself.
  • Added to My Schedule
    keyboard_arrow_down
    Kyle Simpson

    Kyle Simpson - Cancel All My Appointments

    schedule  03:55 - 04:45 PM place Blue Room people 107 Interested

    The most complicated state in an application is time. Like cooking a bag of microwave popcorn, modern web applications desperately try to keep up with their state through an orchestrated chaos of asynchronous operations popping off in indeterminate cadence. No question, coordinating all this concurrency is hard.

    But there's a pitfall at the heart of asynchrony that stays mostly unaddressed.

    When an operation doesn't finish right away, synchronously, it's possible the operation may never finish. Or, it may be destined to finish eventually, but a second operation may be raised which means we no longer care about the first. Whatever the case, we need to be able to cancel it. This critical check ultimately protects users from the vagaries of unpredictable systems.

    Cancellation should be core to our async programming; no asynchrony should run without it. Too often, such handling is just a corner case exception. Without a cancellation strategy, your applications are incomplete at best.

    We'll discuss use-cases for async cancellation and various approaches to managing them.

04:55
05:45

    Farewell Drinks - 60 mins

YOW! 2018 Sydney Workshops Day 3

Thu, Dec 13
08:30
  • Added to My Schedule
    keyboard_arrow_down
    Barry O’Reilly

    Barry O’Reilly - Workshop - Lean Enterprise: Creating High Performance Organizations

    schedule  08:30 AM - 04:30 PM place Grand Ball Room 1 add_circle_outline Notify

    Large organizations often struggle to launch innovative products, improve processes or create environments to help their people succeed. A number of factors conspire to obstruct moving fast at scale; competing priorities, siloed thinking, risk averse cultures and an inability to adopt an experimentation mindset all play a part.

    Lean Enterprise: How High Performance Organization Innovate At Scale lays out an alternative future vision for organizations with practical principles and patterns to help you move fast at scale—and demonstrate why and how to apply these methodologies throughout your entire organization, rather than with just one department or team.

    Smart enterprises constantly evolve their system of work, from governance and financial management to technical architecture and organizational design in the pursuit of radically improved performance. Adopting Lean Enterprise is challenging, will take time and commitment, but is vital to harness the forces that can accelerating the rate of innovation in your organization.