YOW! 2018 Brisbane Day 1

Mon, Dec 3
08:00

    Registration for YOW! Brisbane 2018 - 45 mins

08:45

    Session overview and introductions - 15 mins

09:00

    The Origins of Opera and the Future of Programming - 60 mins

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
    Chris Richardson

    Chris Richardson - Events and Commands: Developing Asynchronous Microservices

    schedule  01:20 - 02:10 PM place Red Room people 124 Interested

    The microservice architecture functionally decomposes an application into a set of services. Each service has its own private database that’s only accessible indirectly through the services API. Consequently, implementing queries and transactions that span multiple services is challenging. In this presentation, you will learn how to solve these distributed data management challenges using asynchronous messaging. I describe how to implement transactions using sagas, which are sequences of local transactions, coordinated using messages. You will learn how to implement queries using Command Query Responsibility Segregation (CQRS), which uses events to maintain replicas. I describe how to use event sourcing, which is an event-centric approach to business logic and persistence, in a microservice architecture.

  • Added to My Schedule
    keyboard_arrow_down
    Jessica Kerr

    Jessica Kerr - Shaving the Golden Yak

    schedule  01:20 - 02:10 PM place Green Room people 194 Interested

    Programming is a series of frustrations. Everything we do, we could do better or faster if we only had our tools set up just so. If our error messages were a little better, our code a little cleaner, our tests a lot wider. When we spend time on this, it's known as "yak shaving," and it can get messy.

    How do you balance the work you’re supposed to be doing with the work that makes your work, work? Dive into the yak stack with me. We'll see five different species of yak, and discuss how and when to tackle each one. At the bottom of the yak stack, we might find the Golden Yak, with secret wisdom engraved on its skin.

    This session will give you reasons to spend time smoothing your development experience, and clues for where to spend that time in ways that help your whole team.

  • Added to My Schedule
    keyboard_arrow_down
    Kyle Simpson

    Kyle Simpson - Cancel All My Appointments

    schedule  01:20 - 02:10 PM place Blue Room people 59 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.

02:20
03:10

    Afternoon Tea Break - 30 mins

03:40
  • Added to My Schedule
    keyboard_arrow_down
    Hila Peleg

    Hila Peleg - Automatic Programming How Far can Machines Go?

    schedule  03:40 - 04:30 PM place Red Room people 90 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
    Gary McGraw

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

    schedule  03:40 - 04:30 PM place Green Room people 177 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
    Katie Bell

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

    schedule  03:40 - 04:30 PM place Blue Room people 69 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.

04:40
  • Added to My Schedule
    keyboard_arrow_down
    Chad Fowler

    Chad Fowler - The Future of Software Development

    schedule  04:40 - 05:30 PM place Red Room people 133 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
    Randy Shoup

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

    schedule  04:40 - 05:30 PM place Green Room people 53 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
    Joe Albahari

    Joe Albahari - Neural Nets From The Ground Up

    schedule  04:40 - 05:30 PM place Blue Room people 61 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!

05:45

    The Future of High Speed Transportation - 60 mins

06:45

    Conference Reception - 45 mins

07:30

    Dinner with Speakers (Separately ticketed event) - 180 mins

YOW! 2018 Brisbane Day 2

Tue, Dec 4
08:45

    Session overview and introductions - 15 mins

09:00

    Cloud Performance Root Cause Analysis at Netflix - 60 mins

10:00

    Morning Coffee Break - 30 mins

10:30
11:30
12:20

    Lunch Break - 60 mins

01:20

    3X: Explore/Expand/Extract - 60 mins

02:35
  • Added to My Schedule
    keyboard_arrow_down
    George Fairbanks

    George Fairbanks - Code is Your Partner in Thought

    schedule  02:35 - 03:25 PM place Red Room people 225 Interested

    We used to build software like bridges. There was time for careful collection of requirements and the analysis of design options. But we don't do that anymore, in part because the time we spent did not ensure we hit our targets or avoided risks. Today, most companies use some form of continuous design where the software changes in small steps, often weekly or even daily, which makes those companies responsive to environmental changes. The problem is that in just a few years the software becomes over-complicated and usually needs to be rewritten, even when the team refactors. The longer you let the team code, the worse the code gets. That's a shame because other kinds of engineering don't have this problem. Car engines, for example, improve every year. I'll primarily discuss some ideas about why things work out this way and also some promising ideas for how we can practice continuous design longer, if not forever.

  • Added to My Schedule
    keyboard_arrow_down
    Jutta Eckstein

    Jutta Eckstein - BOSSA nova: Beyond Agile - Preparing for Digitalization

    schedule  02:35 - 03:25 PM place Green Room people 45 Interested

    Today companies are expected to be flexible and both rapidly responsive and resilient to change, to both survive but also to thrive on disruptions. These challenges call for company-wide agility. Yet, doing Agile (the mechanics) is different from being Agile (the mindset). For example, substituting management meetings with daily Scrums or using a backlog for the board of directors doesn’t make a company agile.

    In order to become truly agile (meaning flexible, responsive, adaptive, fast, and nimble), you need to think outside the (agile) box. Company-wide agility requires a holistic approach, a combination of different principles: First and foremost the principles of

    • Beyond Budgeting (flexible budgeting & relative targets),
    • Open Space (leveraging the innovative power of all employees),
    • Sociocracy (flexible organizational structures and decentralized decision making), and –of course–
    • Agile (inspecting & adapting).

    We synthesized these proven principles into a wider perspective dubbed BOSSA nova: B = Beyond Budgeting, OS = Open Space, S = Sociocracy, A = Agile. Jutta will reveal a path toward company-wide Agility by showing the synthesis of BOSSA nova.

  • Added to My Schedule
    keyboard_arrow_down
    Cat Swetel

    Cat Swetel - The Metrics You Should Use (but probably don't)

    schedule  02:35 - 03:25 PM place Blue Room

    Have you ever had a gut feeling a project is about to go off course but no way to validate (or invalidate) that feeling? Has your team ever been burned by an inaccurate estimate or unreasonable expectation? Have you ever wished you could peer a bit into the future?

    Navigating the uncertainty of knowledge work is often difficult and uncomfortable. During this session, you’ll learn new ways to visualize your team’s reliability and variability of delivery using the data you already collect. Instead of relying entirely on your gut or laboring over estimates, you’ll learn to predict outcomes and describe their likelihood. While this session won’t teach you to eliminate uncertainty or allow you to see the future, it will provide you with tools to explore and chart a reasonable course through the inherent ambiguity of knowledge work.

03:25

    Afternoon Tea Break - 30 mins

03:55
04:55
  • Added to My Schedule
    keyboard_arrow_down
    Peter Sbarski

    Peter Sbarski - Serverless in Practice

    schedule  04:55 - 05:45 PM place Red Room people 122 Interested

    A Cloud Guru built one of the largest platforms using serverless technologies like AWS Lambda and API Gateway (we don’t run a single server, anywhere). It has been an incredible journey and we learnt a lot of lessons scaling our platform to 650,000+ users.

    In this session we’ll share notes from our experience including:

    • What our serverless system looks like 2 years in (inc. key metrics, architecture, and cost)
    • Our serverless security posture
    • Important design patterns and architectures
    • Common serverless mistakes and how to avoid them

    We will dive in to the design of our platform and share interesting data, go through key patterns and architectures, and discuss what it actually takes to build a scalable, reliable and high-performing cloud-native serverless systems today. This talk will focus on AWS but many of the principles and concepts can be carried across to Microsoft Azure and Google
    Cloud Platform.

  • Added to My Schedule
    keyboard_arrow_down
    Aino Corry

    Aino Corry - The Importance of Laughter

    schedule  04:55 - 05:45 PM place Green Room people 85 Interested
    In software development, we strive for inspection and adaptation. In order to make the best of this, we have to feel good about ourselves and with each other. Fun and laughter is something I have always tried to enhance in the places where I work, but only recently have I started looking into why it is helpful.
    Diving into this subject, I was amazed by how big an impact fun and laughter can have on your social life, your wellbeing, and your energy levels. Join me for a session with brain research, examples of fun, and case studies from real life. Bring an open mind and leave with knowledge about why you should have fun every day.
  • Added to My Schedule
    keyboard_arrow_down
    Sam Aaron

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

    schedule  04:55 - 05:45 PM place Blue Room

    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:45

    Farewell Drinks - 60 mins