Friday, 23 June 2017

Teaching Children about Clean Code - Felienne Hermans

In the future, everyone will be a programmer! Not just to fill the millions of software vacancies, but also as part of other jobs. A teacher performing some data analysis on their students results, a car mechanic updating a car's firmware, or an artist creating an interactive website as an art piece.

Now how are we going to prepare our children for such a future? This is what Felienne researches at Delft University of Technology.

She wants to understand how children are programming currently, and how they are learning to program. She is mainly interested in teaching children to code well: how to create source code that is easy to read and maintain.

Luckily, there is Scratch, a massively popular programming language for kids, made by MIT. There are over 18 million programs made by kids in their public repository!

So, kids are programming :) That is the good news. But do make pretty programs? Are their programs simple or complex? Do they apply programming concepts or do they just play with the blocks? Do kids develop good programming habits? Are there common code patterns?

To answer those questions, we scraped the Scratch repository, retrieved 250,000 projects and performed source code analysis on them. In this talk, Felienne will show the results of this analysis and the lessons learned.

Thursday, 22 June 2017

When & How to Explore: an Engineer's Guide - Julie Pitt

I'm willing to bet that you want to become a better engineer and problem-solver. You have probably already seen the benefits of exploring unfamiliar technologies, patterns, algorithms and approaches that make you better at your job, leading to efficiency gains and innovations at your company.

In this talk, I'll tell you the story of my confrontation with the classic dilemma: exploration vs. exploitation. You'll hear about my journey from developing large-scale production applications to experimenting in sparsely-charted territory, including lessons learned in the process. I hope you walk out of this talk with a renewed enthusiasm for exploration and a framework that you can use to decide when to explore and when to exploit.

Wednesday, 21 June 2017

Blockchain: The Slowest (and most Fascinating) Database in the World - Stefan Tilkov

As the foundation of Bitcoin's virtual currency, the blockchain technique is now the starting point for numerous new business ideas. The usual suspects surpass each other with superlatives how "disruptive" the Blockchain based startups will be.

In this talk, we look first at the technical foundations and then examine the advantages and disadvantages. We then identify practical scenarios and discuss how to implement them in practice.

Tuesday, 20 June 2017

Patterns of Effective Teams - Dan North

Some teams are orders of magnitude more effective than others, turning around business solutions in days or even hours. Their secret is a combination of smart technology choices, great development habits and a powerful team dynamic. In this talk Dan describes a number of patterns of behaviour that he's identified working with some great teams, beyond the basics of co-location, stand-ups and pair rotation. You'll gain a new appreciation for old techniques like code reviews, and even working in silos won't seem so bad!

Monday, 19 June 2017

Hacking the Internet of Things for Fun & Profit - Ruben van Vreeland

The combined world of IoT has reached a state where it's actuators spread from control systems in the industry into the city you live in and the privacy of your home. Now that everything is connected, we can abuse gadgets and devices for purposes they were not originally constructed for, and turn them against their users.

We will discuss current attacks, potentially 0-days, projects and Proof of Concepts that show the Internet of Shit that inhabits the Internet of Things, by OWASP's Top 10 attacks to these devices.

During this talk we go into demonstrations that might inspire you to build a cool exploit, or radical security technology, during the conference.

Prerequisite attendee experience level: beginner

Friday, 16 June 2017

Managing Manager‐less Processes - Fred George

A new generation of Agile processes are emerging, frequently omitting the role of a dedicated manager. Erik Meijer has termed his flavor as One Hacker Way; my version was originally titled Programmer Anarchy.

We explore the reasons for the emergence of these managerless processes, suggesting they are particularly appropriate for solving “fuzzy problems” (Complex problems per the Cynefin framework of Dave Snowden), and that these fuzzy problems have become increasing prevalent and profitable.

As we decompose the traditional duties of the manager, we begin to see the irrelevance of many of these roles. While some roles are still important in this environment, we suggest alternative implementations for these roles. This includes an actual case study of these processes in action.

The nature of fuzzy problems renders traditional management controls ineffective. We suggest specific alternative strategies that have been effective in various engagements. In particular, we will describe the roles and responsibilities for:
  • Concierge
  • Ambassador
  • Leader
  • Mentor
We will also address other challenges such as performance appraisals and recruiting additional staff when managers don’t exist.

How do you direct the team without managers? Rather than “directing” the teams, the focus shifts to “influencing” and “assessing the effectiveness” of teams on a continuing basis. This dovetails nicely practices like continuous deployment.

Finally, we wrap up by emphasizing situations where managers do provide value, and should still exist. This will lead to hybrid organizations, some parts of which will have managers, while others will not.

Thursday, 15 June 2017

One Journey, Many Paths: A Pragmatic Guide for Migrating to Microservices - Z. Dehghani

Do you want to migrate your existing systems to a microservices ecosystem? If so, this talk is for you.

Whether your organization is a large enterprise with legacy systems; or whether your organization is a growing startup with a proven business model based on a monolith; or somewhere in between, you are here because you have decided that migrating towards a microservices ecosystem will liberate you from the constraints of your existing architecture.

The experience shows that navigating this journey is challenging. Each organization has its distinct culture, constraints and state of architecture that demands its own unique path of migration.

In this talk I offer you an essential set of pragmatic guides. I have distilled these guides from the lessons I’ve learned making the journey to microservices in different domains. The experience is drawn from domains such as finance, telecommunication, supply chain and retail.

I will leave you with a collection of:
  • patterns and anti-patterns for migrating and decomposing large monoliths that are in-use and alive,
  • trade-offs you need to repeatedly evaluate to prioritise your next steps,
  • founding principles that support the hard decisions you need to make, and
  • a sample roadmap for an organizational-wide migration.

This synthesis will help you build and execute a migration strategy unique to your needs.

Wednesday, 14 June 2017

SignalR .NET Core: Realtime cross-platform open web communication - Damian Edwards, David Fowler

SignalR is being reimagined for ASP.NET Core. In this session, we explore how we’re bringing the real-time web goodness you know and love to ASP.NET Core, while laying the foundations for bigger and bolder capabilities beyond HTTP.

Monday, 12 June 2017

Udi Dahan - If (domain logic) then CQRS, or Saga?

If (domain logic) then CQRS, or Saga?

The “if” statement – the guard clause that makes sure that what shouldn’t happen, can’t happen. We see it all over our code base, especially in our domain logic. The thing is, when we use properties of domain objects in those if-statements, we don’t even realize that other agents may have just changed that data – or will change it just a second later. In essence, hiding behind those little “ifs”, are all kinds of race conditions and collaborative domains – the places where CQRS approaches are necessary. Join Udi for a different perspective on domain logic, CQRS, and long-running processes. It will be quite a saga.

Udi Dahan is one of the world’s foremost experts on Service-Oriented Architecture and Domain-Driven Design and also the creator of NServiceBus, the most popular service bus for .NET.

Friday, 9 June 2017

Intro to Xamarin.Forms for Visual Studio 2017 - Jesse Dietrichson

Jesse Dietrichson shows you how to take your .NET skills mobile with Xamarin.Forms for Visual Studio 2017. With Xamarin.Forms, you’re able to maximize code reuse and quickly build fully native apps for Android, iOS, and Windows. Jesse will show you how to use the latest Visual Studio features to design, develop, and test your apps faster than ever.

In this session, you’ll:

• Create a Xamarin.Forms project targeting Android, iOS, and Windows

• Design your UI in XAML and use the Xamarin.Forms Previewer to see changes immediately in the IDE

• Use the Xamarin Inspector to explore and tweak your UI as your app runs

• Get the sample app code and documentation you need to get started

• Ask questions and receive guidance from Xamarin University professors and mobile experts.

Thursday, 8 June 2017

Building Games for iOS, macOS, and tvOS with Visual Studio and Azure - René Ruppert

René Ruppert shows how to use your .NET skills to deliver multi-player games for the latest Apple devices, from iPhone to tvOS. He’ll demo SpriteKit basics, create a mobile version of the popular Connect Four board game, easily integrate with scalable cloud services, and teach best practices for sharing C# game logic, UI, and infrastructure code across platforms.

In this session, you’ll:

• Create a Xamarin project targeting iOS, macOS, and tvOS

• Share business logic and UI to release faster

• Connect to a cloud backend in minutes

• Store and retrieve game data with Azure cloud services

• Get the sample app code and documentation you need to get started

• Ask questions and receive guidance from Xamarin University professors and mobile experts.

Wednesday, 7 June 2017

We Want WebAssembly - Ben Smith

WebAssembly recently announced version 1, and it is now available in browsers. Wondering what you can do with it? In this talk we'll take a look at some of the cool things you can do today with WebAssembly, as well as new features that are in the works.

Tuesday, 6 June 2017

Cloud Native Data Pipelines - Sid Anand

Big Data companies (e.g. LinkedIn, Facebook, Google, and Twitter) have historically built custom data pipelines over bare metal in custom-designed data centers. In order to meet strict requirements on data security, fault-tolerance, cost control, job scalability, network topology, and compute and storage placement, they need to closely manage their core technology. In recent years, many companies with Big Data needs have started migrating to one of the public cloud vendors. How does the public cloud change the game? Specifically, how can companies effectively marry cloud best-practices with big data technology in order to leverage the benefits of both? Agari, a leading email security company, is applying big data best practices to both the security industry and to the cloud in order to secure the world against email-bourne threats. We do this by building both batch and stream processing predictive data pipelines in the AWS cloud. Come to this talk to learn about our architectural best practices and technologies.

Monday, 5 June 2017

We can’t have a Progressive Web without Embracing it - Chris Heilmann

The web is a mess. Web sites are bloated and slow and spend more time spying on us than delivering the content we came for. There are many reasons for that, but the main one is that we still seem not to have embraced the web stack as a standalone toolset instead of something we need to convert code into. Let’s take a look at all the great things we have in terms of tooling and standards and find a way to clean up the mess we made. We can not have progressive web apps and great user experiences without embracing progress. It is not about us – it is about our users.

In this talk Chris Heilmann will show what browsers, machine learning and testing tools can do these days to help you create fast and working web solutions for all your users. You don’t need to wait for a perfect environment, you need to use what’s already here.

Sunday, 4 June 2017

Kotlin - Ready for Production - Hadi Hariri

Did you know that Kotlin is being used in production for over a few years now already? Both inside and outside of JetBrains there are people deploying Kotlin applications for Android platform, for Web Applications and just about any other type of application.

Why are people using it instead of Java or some of the other languages out there? Primarily because it provides significant benefits in terms of conciseness, readability and safety, without some of the drawbacks that adopting a new language has such as a higher learning curve or interoperability with existing code and ecosystems.

In this talk we'll cover some aspects of Kotlin that can really help you in your daily development, focusing on solving issues versus highlighting language features.

Saturday, 3 June 2017

The future of C# - Mads Torgersen, Dustin Campbell

We’re back! With C# 7.0 and Visual Studio 2017 just recently shipped, we paint the big picture: let’s lay out where the C# language and tooling experience is headed, and show early glimpses of what we’re currently working on.

Friday, 2 June 2017

Adaptive Threat Modelling - Aaron Bedra

Security should always be built with an understanding of who might be attacking and how capable they are. Typical threat modeling exercises are done with a static group of threat actors applied in "best guess" scenarios. While this is helpful in the beginning, the real data eventually tells the accurate story. The truth is that your threat landscape is constantly shifting and your threat model should dynamically adapt to it. This adaptation allows teams to continuously examine controls and ensure they are adequate to counter the current threat actors. It helps create a quantitative risk driven approach to security and should be a part of every security teams tools.

Join Aaron as he demonstrates how to look at web traffic to analyze the threat landscape and turn request logs into data that identifies threat actors by intent and categorizes them in a way that can be fed directly into quantitative risk analysis. Aaron will show how important this data is in driving risk analysis and creating an effective and appropriate security program.

Thursday, 1 June 2017

Troubleshooting Tiered Tragedy: A Peek Into Failure - Jeff Smith

Sit with Jeff as he walks through a real world failure in a distributed system and the troubleshooting process that took place. Through this story you'll find out how our traditional view of failure may no longer be adequate as our systems become more complex. We'll discuss failure states of a service vs failure states of the system and why the "root cause" of a problem is becoming more and more elusive

Wednesday, 31 May 2017

An Opinionated Approach to Using ASP.NET Core - Scott Allen

Improve the architecture, design, and code inside your ASP.NET Core applications with an opinionated approach to ASP.NET.

In this talk we’ll look at strategies for organizing projects, solutions, files and folders. We'll look at data access alternatives and see some tips for writing unit and integrations tests.

Tuesday, 30 May 2017

Patterns for scalability and availability in (trading) systems - Michel ...

This talk will walk through a number of useful nontraditional approaches and architectural patterns to building systems that combine high availability, high throughput and low latency.

Throughput and low latency is often contradictory and some of the tradeoffs you do usually comes at expense of either one or the other. This presentation covers approaches used in large scale trading systems where there are requirements to process hundreds of thousands of business events per second and reliably react to them whilst capturing and reacting to thousands of business transactions per second while maintain and distributing data to tens of thousands of concurrent users in an environment where milliseconds matter.

Monday, 29 May 2017

Where’s my free lunch? - Hadi Hariri

Have you ever thought about how many amazing things we get in this day and age for free? Think about it, whether it’s articles in daily newspapers, social media, your code repository, your continuous integration server as a service. And that’s not even mentioning all the amazing open source libraries, frameworks that are all out there.

Sunday, 28 May 2017

Toward a Better Front End Architecture: Elm - Jeremy Fairbank

Amidst the overwhelming cacophony of competing JavaScript frameworks, Elm is a promising voice. Elm is a relatively new language that compiles to JavaScript. Elm is a functional language that encourages describing UI, state, and events in a declarative manner, while performing as good as or better than the current JavaScript framework hotness. With type safety and pure programming constructs, Elm promises code that has fewer bugs and is easier to reason about. In this talk, dive into Elm, exploring its syntax and more importantly its architecture. Learn about unidirectional data flow, composable UI components, update functions, and commands for side effects. Ultimately, discover how functional programming with Elm’s architecture can solve real problems. Leave this talk equipped to start utilizing Elm to construct non-trivial apps with more maintainable code and better determinism.

Saturday, 27 May 2017

Serverless Compute with Azure Functions - Magnus Mårtensson

In the age of the Cloud we have almost grown accustomed, or even weary at times, of paradigm shifting technology promising gold and green forests. And here is another one – Serverless Compute.

It was in fact Amazon who coined the term for their popular Lambda service. Microsoft’s retort is that they did in fact plant the seed for the concept with “Simple Batch” aka. WebJobs. Azure has now followed suit in the Serverless wave with Azure Functions a very competent and interesting service with full hooks into the Platform and all other services that live there, such as VSTS, Logic Apps and much more. We developers, architects and DevOps are able to dig into the spoils of the battle of the giants and enjoy a new paradigm which will make us much more effective developers at a fraction of the cost! The Cloud breaths innovation in every breath. The advent of Serverless Compute certainly is one such energizing advance!

Friday, 26 May 2017

Launching patterns for containers - it's more than just scheduling - Mic...

When you design your microservices strategy you will likely come up with patterns for when and how your services should execute.

Traditional container scheduling services often deal with running container instances and distributing those instances across your cluster according to resource constraints - but your microservices design may also have other requirements such as message-based services that run and listen for topics; services that run on a scheduled job cycle; and services that may run in different ways based on initialization and have many instances running in parallel at any given time. This session looks at architecture patterns for container-based solutions; and illustrates the execution of these patterns with Docker containers and related tools. Concepts are platform independent but demos will be based on Kafka and Azure Container Service with Mesosphere DC/OS, Mesos, Marathon and Chronos.

Thursday, 25 May 2017

The Past and Future of Domain-Driven Design - David West

The state-of-the-practice for software development in 1968 was 'Domain-driven Design'. Then "Software Engineering" happened and we lost our way. Academia insisted on telling practitioners how they should do their jobs. Numerous practitioner led 'revolts" — including Eric Evans' DDD — attempted to escape the shackles of formalism and put us back on track; but with very limited success. This talk will discuss the specifics of what went wrong and provide concrete recommendations on how to make things right.

Wednesday, 24 May 2017

Agile Experiments in Machine Learning with F# - Mathias Brandewinder

Just like traditional applications development, machine learning involves writing code. One aspect where the two differ is the workflow. While software development follows a fairly linear process (design, develop, and deploy a feature), machine learning is a different beast. You work on a single feature, which is never 100% complete. You constantly run experiments, and re-design your model in depth at a rapid pace. Traditional tests are entirely useless. Validating whether you are on the right track takes minutes, if not hours.

In this talk, we will take the example of a Machine Learning competition we recently participated in, the Kaggle Home Depot competition, to illustrate what "doing Machine Learning" looks like. We will explain the challenges we faced, and how we tackled them, setting up a harness to easily create and run experiments, while keeping our sanity. We will also draw comparisons with traditional software development, and highlight how some ideas translate from one context to the other, adapted to different constraints.

Tuesday, 23 May 2017

C# Scripting in the .NET Core world - Filip W

While still being relatively niche, over the recent years C# scripting has grown to become a first class citizen in the Roslyn compiler and can now be enjoyed and applied in your applications in various ways.

Together, we will dissect what’s going on under the hood in C# scripting and how you can make use of it in the cross platform, lightweight, .NET Core world (which, by the way, creates a perfect environment for low ceremony C# scripting). We'll also have a look at scripting via the new .NET CLI, how you can integrate it into your everyday development workflows and how you can debug the script assemblies.

Sunday, 21 May 2017

Big Scrum: Scaling Scrum with Nexus - Martin Hinshelwood

The proliferation of scaling frameworks shows there are real challenges in scaling agility, and the solutions don’t seem to involve inventing yet more frameworks or formal processes.

So then, why is it so hard to find success in agility at scale? Large scale agility can be found in exploiting Scrum’s simplicity while emerging and sustaining technical excellence. Something that sounds so easy shouldn’t be so hard, and for some it isn’t. This session highlights successes in growing large scale agility using Big Scrum while maintaining technical excellence to deliver value faster.

Saturday, 20 May 2017

Serverless F# with Azure Functions: fsibot goes nano-services - Mathias Brandewinder

Feeling a bit left behind by the whole micro-services hubbub? Fear not! This is your chance to get ahead of the curve, skipping straight to serverless nano-services, using Azure Functions.

In this talk, we will cut through the buzzwords, and explain what Azure Functions are, why you should care, and how beautifully they fit with a functional style of development. We will demonstrate the benefits of the approach on a real-world example, illustrating along the way some patterns, benefits and gotchas.

Friday, 19 May 2017

Programming Across Paradigms - Anjana Vakil

What's in a programming paradigm? How did the major paradigms come to be, and why? Once we've sworn our love to one paradigm, does a program written under any other still smell as sweet? Can functional programmers learn anything from the object-oriented paradigm, or vice versa?

In this talk, we'll try to understand what we mean (and don't mean) when we talk about programming paradigms, and the connection (or lack thereof) between the code we write and the paradigm we use. We'll take a closer look at three influential paradigms -- imperative, object-oriented, and functional programming -- and try to understand each in terms of its historical context and relationship to other paradigms. In doing so, we'll see that the dividing lines between these paradigms may not always be as clear as we tend to assume, and that “competing” paradigms may have more in common than we often acknowledge.

Whether code newbies or seasoned developers, we might walk away with a slight shift in our perspective on the paradigms we code in, giving us not only deeper insights into our favorite (or least favorite) programming worldviews, but also higher-level lessons for how to craft and understand our programs under any paradigm.

Thursday, 18 May 2017

Feature Branches and Toggles in a Post-GitHub World - Sam Newman

During the evolution of the ideas behind Continuous Delivery, many of us came to the conclusion that having branches for features was not a good idea, and resulted in some fairly problematic issues. This was contentious at the time, with lots of discussion around whether or not feature toggles or feature branching was the right way forward.

Roll on several years, and through Git and GitHub, branches are everywhere. Is this a problem?

This talk re-examines the role of feature branches and feature toggles, and looks at them in the context of new research and technology to try and distill down some sensible lessons in a post-GitHub, but hopefully not post-factual, world.

Wednesday, 17 May 2017

Idée Fixe - David Nolen

For an industry steeped in a mythos of innovation and invention, the path towards reliable software is often obstructed by a web of fixed ideas. Fixed ideas, by actively obscuring alternatives, lead us to inaccurately the weigh the risks and benefits associated with our choices whether they be of an engineering, managerial or business nature. Alan Kay famously quipped that a difference in perspective is worth 80 IQ points but in this talk we'll see that it's worth considerably more than that.

Tuesday, 16 May 2017

DevOps and Agility with Visual Studio, Azure and Scrum - Martin Hinshelwood

Agile is dead! Long live DevOps! Um.. ALM… um…

There has been a plethora of "agile is dead" of late posts yet the long list of failed agile that has caused it smell very little like agile. What was missing? Come and find out how to make a success of your agile project, and what will immediately spell disaster…

Paying lip service to a lexicon is no longer enough…

Monday, 15 May 2017

Debugging Under Fire: Keep your Head when Systems have Lost their Mind - Bryan Cantrill

As software is increasingly developed to be deployed as part of a service, the manifestations of defects have changed: the effects of broken software are increasingly unlikely to be felt by merely one user, but many (or even all) -- with concomitant commercial consequences. Debugging service outages puts everyone in an uncomfortable spot: operators must learn how to deal with the uncertainties of broken snowflakes, while developers must adapt their debugging techniques to the constraints of a production environment. And in all but the most immature systems, service outage denotes cascading failure: there is not one bug but several -- often in different components that are interacting in unforeseen ways. These technical complexities coupled with the high visibility of a downed service can lead to stress, confusion and (in the worst cases), panic. In this talk, we will address debugging during an outage, looking at not only specific technical challenges (and techniques to address them), but also the psychology, team dynamics and organizational challenges of debugging under fire.

Sunday, 14 May 2017

Meeting Resistance and Moving Forward - Linda Rising

It's "those skeptical people" who are most annoying. They don't seem to listen to our ideas. They usually start raising objections before we have even finished describing what we are thinking. They have a counterargument for every argument. What's to be done with "those people"? In this presentation, Linda will pull patterns from the Fearless Change collection plus the latest research in neuroscience to help you in the challenges you face with resistance.

Saturday, 13 May 2017

Serverless: the Future of Software Architecture - Peter Sbarski

With the release of AWS Lambda, there has been a sustained movement toward experimentation and the adoption of serverless architectures, which allow developers to build rich, scalable, high-performing, and cost-effective applications without having to maintain traditional multitier backends. In addition to being able to run custom code in a compute service such as Lambda, developers also have access to a dizzying array of powerful, single-purpose services. By composing and combining these services in a loose orchestration, developers can build complex yet easy-to-understand systems.

Drawing on his experience building a large serverless platform, Peter Sbarski explains how to create scalable applications using serverless architecture with AWS Lambda, API Gateway, and other services. Along the way, Peter covers the five principles of serverless architectures, establishing the core concepts that underpin serverless architectures, and describes patterns and practices for setting up, developing, and deploying serverless architectures.

Friday, 12 May 2017

The Many Meanings of Event-Driven Architecture - Martin Fowler

During my career, I've often people heard people describe their systems as "event-driven". But when looking deeper that phrase seems to lead to some very different architectural assumptions. On a recent workshop we identified four different patterns which tend to appear under the title of "event-driven": event notification, event-based state transfer, event sourcing, and CQRS. We feel that understanding and using these more precise terms will lead to better communication and decision making.

Thursday, 11 May 2017

The Async Arrow - Troy Kershaw

In object-oriented design, dependency injection is a well-known design pattern, although it's a complicated solution to the problem of decoupling. Functional programming offers a simpler way.
This talk examines dependency injection in object-oriented design, and explains how it's not required (nor desired) in functional programming. You'll also learn how a proper functional design eliminates the need for mocks and stubs in unit testing, enabling you to entirely reject the notion of dependencies.

You don't need to know Haskell or F# to attend this session; relevant syntax will be explained just-in-time. Object-oriented examples will be in C#.

Wednesday, 10 May 2017

From Dependency injection to dependency rejection - Mark Seemann

In object-oriented design, dependency injection is a well-known design pattern, although it's a complicated solution to the problem of decoupling. Functional programming offers a simpler way.
This talk examines dependency injection in object-oriented design, and explains how it's not required (nor desired) in functional programming. You'll also learn how a proper functional design eliminates the need for mocks and stubs in unit testing, enabling you to entirely reject the notion of dependencies.

You don't need to know Haskell or F# to attend this session; relevant syntax will be explained just-in-time. Object-oriented examples will be in C#.

Monday, 8 May 2017

Opening Keynote - Microsoft Ignite Australia - Scott Guthrie

Cloud technology is rapidly evolving, offering new ways to enhance productivity through organisational digital transformation. To harness this shift, and evolve your organisation’s capabilities, it’s more important than ever to invest and learn new skills to leverage the cloud. Join Scott Guthrie our Executive Vice President of Microsoft Cloud and Enterprise on Tuesday morning to kick-start Microsoft Ignite Australia. Scott will focus on how technology enables digital transformation and, along with guests, demonstrate new technologies and investments for you to leverage our technology to make change happen.

Sunday, 7 May 2017

Building Polished Xamarin Forms Apps - Rob DeRosa

Learn about UI enhancement tips and tricks to build a polished and production-ready Xamarin.Forms apps.

Saturday, 6 May 2017

Responsive Xamarin apps with Realm - Nikola Irinchev

Nick is part of the Realm Xamarin team and will show how easy it is to get a Realm-backed application up, running, and syncing. Some of the key concepts explored will be: - Deploying the Realm Object Server to an Azure instance - “Liveness” of Realm objects in the context of data binding - Sharing Realms between users - Realtime synchronization and conflict resolution The talk will be suitable for people who have no experience using Realm, but some experience with Xamarin.Forms is expected.

Friday, 5 May 2017

Next Generation Asynchronous Patterns in JavaScript - Jonathan Mills

With ES6 and ESNext we are no longer limited to simple callbacks when dealing with our asynchronous JavaScript code. This session will walk through four options for async patterns, addressing when to use each one and identifying the problems they solve.
We will start with a discussion of ES6 Promises and generators, continue with ESNext Async/Await, and close with a conversation about RxJS. Broaden your understanding of the available tools and start writing better asynchronous JavaScript today.

Thursday, 4 May 2017

The (Awesome) Future of Web Apps - Jad Joubran

The web is becoming more and more powerful everyday, especially with the launch of Progressive Web Apps. PWAs are experiences that combine the best of the web and the best of apps.

You can now build web apps that run from your home screen, receive push notifications & work offline.

Join this talk for an interactive introduction into the world of Progressive Web Apps.

Wednesday, 3 May 2017

There Be Dragons in the New JavaScript - Scott Allen

After two years of using ECMAScript 2015 features in live applications, I’ve come to recognize a few areas that developers can find confusing. 
There are also features with the potential to hurt the maintainability of the code for other developers, and degrade the performance of the application at runtime. In this session we’ll look at features like string templates, arrow functions, promises and modules in a different light.

Tuesday, 2 May 2017

Taking Elixir to the Metal with Rust - Sonny Scroggin

Elixir is a great choice for most applications. It's powered by the battle-tested Erlang VM know as the BEAM. It allows programmers to build incredibly fast, efficient, scalable, and fault-tolerant distributed systems.
As it turns out, Elixir isn't the fastest kid on the block. And while raw CPU speed matters little for most applications, there does exist a couple reasons you might want want to reach for tools that give you access to native power.

In this talk we're going to discuss Native Implemented Functions (NIFs) - Erlang's Foreign Function Interface (FFI).

NIFs are normally implemented in C and are considered dangerous. But we're going explore writing safer NIFs in Rust - a new systems programming language developed by Mozilla, that focuses on memory safety.

We'll talk about the pitfalls with writing NIFs and how Rust can make this process easier and safer.

Monday, 1 May 2017

Getting the Most Out of Xamarin.Forms for Visual Studio 2017

David Ortinau shows how to use your .NET skills, XAML expertise, Visual Studio, and Xamarin.Forms to deliver world-class Android, iOS, and UWP apps faster than ever. Dave will share and demo advanced design features, powerful libraries, out-of-the box and custom controls, and new capabilities that you’ll want to use immediately.

From tips on improving Android Layout performance and including native controls and APIs to how to save development time with XAMLC, get the expert guidance and step-by-step demos you need to deliver lightning-fast, native apps.

Sunday, 30 April 2017

Next Generation Asynchronous Patterns in JavaScript - Jonathan Mills

With ES6 and ESNext we are no longer limited to simple callbacks when dealing with our asynchronous JavaScript code. This session will walk through four options for async patterns, addressing when to use each one and identifying the problems they solve.

We will start with a discussion of ES6 Promises and generators, continue with ESNext Async/Await, and close with a conversation about RxJS. Broaden your understanding of the available tools and start writing better asynchronous JavaScript today.

Saturday, 29 April 2017

Microsoft Cognitive Services: Making AI Easy - Jennifer Marsman

The rise of machine learning has produced an explosion of APIs to make your applications more intelligent.

In this session, you will learn about the 20+ different Cognitive Services APIs that provide object recognition, face detection and identification, emotion recognition, OCR, computer vision, video services, speech and speaker recognition, language understanding, text analytics, sentiment analysis, knowledge exploration, search services, and more. You can also leverage these services in conjunction with the Microsoft Bot Framework to build an intelligent assistant. You will see powerful demos of these capabilities, experience the simplicity of calling this code, and walk away with ideas on how to leverage this functionality in your own applications.

Friday, 28 April 2017

Chatbots: The hype, challenges and opportunities - Galiya Warrier

We've been hearing a lot about chatbots recently. Are they the next new hot thing in tech? Well, yes and no, there is a lot of hype for something available since late 90s, but they are much smarter and (sometimes) "more human" nowadays, thanks to more accessible AI algorithms in speech processing, NLP, computer vision, etc.

In this session we will touch on their history, look at

Thursday, 27 April 2017

Building native iOS, Android, and Windows apps in C# with Visual Studio 2017

Visual Studio 2017 includes support for designing and building mobile applications with C# for Android, iOS, and Windows. With Xamarin for Visual Studio, you can use the language and IDE you know and love to get to market fast and reach all your customers, no matter which platform they use.

Wednesday, 26 April 2017

Go, Microservices and all the joy! - Andrzej Grzesik

Go is a fun language that allows to quickly build applications, it¹ only logical that it is becoming a go-to tool for many people building microservices (no pun intended).

This talk will describe what difficulties are there when approaching a microservice architecture, show how Go¹s strengths and features can help tackling this challenge, as well as discuss an approach to move towards a microservice-based architecture from a legacy platform.

Tuesday, 25 April 2017

Techniques and practices for testing Angular 2 - Duncan Hunter and Adam Stephensen

Writing frontend tests has always been hard, let us show you how to make testing easier in your Angular 2 applications.

From unit testing components and services to end-to-end testing your entire application, we will give you tips and techniques for testing in Angular 2.

Monday, 24 April 2017

Deploying Docker Containers on Windows Server 2016 - Ben Hall

Docker has changed the way we deploy applications onto Linux and ARM based systems. Windows Server 2016 introduces first class container support to the Windows Kernel.
In this session Ben will explore how Docker and Windows will work together, the impact it will have and how you can get started.

Key talking points will include:
- Deploying applications using Windows containers
- Managing Windows containers using tools from the Docker ecosystem
- Combining Linux and Windows containers
- Difference between Nano containers and Server Core containers
- Why Hyper-V isolation exists
- Windows Container Security Model
At the end attendees will understand how containers on Windows will work and the problems they’ll solve.

Sunday, 23 April 2017

Connected Mobile Apps with Microsoft Azure - James Montemagno

James Montemagno shows you how to use Microsoft Azure App Service and your existing .NET skills to easily add powerful web services and essential mobile capabilities to your Xamarin apps.

Whether you’re a new mobile developer or an experienced enterprise team lead, Microsoft’s Azure App Service and Xamarin give you everything you need to build engaging Android, iOS, and Windows apps.

Friday, 21 April 2017

Introduction to Xamarin for Visual Studio 2017 - James Montemagno

James Montemagno walks you through how Xamarin for Visual Studio 2017 makes it even easier to deliver fully native Android, iOS, and UWP apps from a single C# codebase. You’ll learn what’s new, including: the Xamarin Inspector and Profiler, new language features in C# 7, and how Visual Studio 2017 streamlines mobile development for .NET developers everywhere.

In this webinar, you will:

• Get step-by-step demos and technical documentation to build your first apps with Xamarin for Visual Studio 2017
• Add mobile-essential backend features faster with Connected Templates and Connected Services
• Utilize the latest Xamarin features, including Inspector, Workbooks, Profiler, Remote iOS Simulator, and more
• Learn how to create amazing apps with the latest C# 7 features

Thursday, 20 April 2017

How to go from opening Visual Studio to interacting with a live chat bot...

Using the Microsoft Bot Framework and LUIS, the audience and I will live-code a chat bot that users can interact with to find out what's on the NDC agenda.

The Bot Framework is amazingly powerful but it's also very new, not well documented and confusing at first glance. Let me strip all of that away to give you a quick start and show you that creating a chat bot can be done in a very small amount of time with no expert experience of the bot framework itself.

We will also look at how all of the difficult natural language processing can be handled by the Microsoft Congnitive Service, LUIS. No nasty regexes or fuzzy string matching code required.

Once we've built the bot bot, it will get deployed to Azure, registered with the Bot Framework and connected to Skype and we'll start interacting with it just like it was a regular Skype contact. We'll be able to ask things such as "what's on after this?", "tell me about the .Net Core workshop" and "I don't know what to see at 3pm, what's on?".

Wednesday, 19 April 2017

Building Your First Android App with Xamarin for Visual Studio - Judy McNeil

.NET developers everywhere can easily add native mobile developer to their resume with Xamarin for Visual Studio. Judy McNeil, Xamarin University mobile expert, shows you how to build your first Android app — completely in C# — with Xamarin.Android and Visual Studio.

In the webinar, you will:

• Explore the Xamarin.Android project templates installed with Visual Studio
• Create a fully native Android app, utilizing all of the Android APIs
• Use the Android Designer in Visual Studio to create a beautiful UI
• Add logic to your applications to respond to user input and interact with the UI
• Deploy and test your apps from Visual Studio, using Google’s Android emulators and your own Android devices
• Ask questions and receive guidance from Xamarin University professors and mobile experts
• Get the sample app code and documentation you need to get started

Tuesday, 18 April 2017

Mixed Reality with Microsoft HoloLens - Philipp Bauknecht

Microsoft HoloLens is the first fully self-contained, holographic computer, enabling users to interact with high-definition holograms in their real world.

I will give an introduction into holograms and the hardware of HoloLens, outline the key differences between Mixed, Virtual and Augmented Reality, give insight into real world projects the are already being built with HoloLens and of course there will be a live demo. I will also talk about the developer story behind HoloLens and how everyone can start building holographic apps today.

Monday, 17 April 2017

self.improve(): Building a Technical Career - Erika Carlson

How do we find success and fulfillment as software developers? We learn to code, we learn to use code as a tool to solve difficult problems, we get better at both coding and problem-solving, and then... what's next?

Beyond technical growth, how do you find fulfillment in your work? If you've ever struggled to picture what your career could look like in 5 years, this talk is for you. Discover how learning continuously, teaching others, caring for yourself, and asking the right questions can get you where you want to go (even if you aren't sure where that is yet). This talk will explore what comes after code: digging into new challenges, expanding perspective, and turning fears into pathways for growth.

Sunday, 16 April 2017

.NET Rocks Live Panel on Machine Learning

Join Carl and Richard from .NET Rocks and a panel including Jennifer Marsman, Barbara Fusinska and Evelina Gabasova discussing the state of machine learning today.

The cloud has fundamentally changed the way we can approach machine learning, how can that help your business? The panelists will discuss the various approaches available to you to get started in machine learning – bring your questions and be part of a live .NET Rocks episode!

Engineering for Engineering's Sake - Mindaugas Mozūras

Code is a not an asset. Technology is not the solution to your company problems. And engineering for engineering's sake is not the answer.

As engineers, we tend to focus a lot of our time thinking about "how?". How to solve this problem? How to structure code? How to name this method? We forget to ask "why?" and ponder the usefulness and greater impact of what we're doing. How should we engineer? Should we use the new and exciting technologies to solve our problems? Should we always strive to use the right for the job? Using his own experience, Mindaugas will try to answer just that.

Saturday, 15 April 2017

Holographic Programming – Exploring the HoloLens - Lars Klint

Virtual reality and augmented reality are terms most developers and technical enthusiasts recognize. What about “Mixed reality”? A reality that is part real world, part digital world, a reality that is enhanced with Holograms.

Microsoft’s HoloLens introduces users to an entirely new way of thinking about computing. Learn how to use the Holographic Development Kit (HDK) to build completely new experiences that will blow your mind (only figuratively, I hope), and get a sense for what is possible. You will be challenged to think of how to solve problems in an entirely new way that leverage holographic projections, to provide intuitive natural interactions with the digital world.

Friday, 14 April 2017

A world of devices - Laurent Bugnion

How do you feel when you forget your phone? If, like Laurent, you feel lost, you are probably also living in a world where devices are augmenting you and making you more connected, more efficient and more skilled (or is it addicted?).
In this session, Laurent Bugnion, geek, developer and gadget addict will show you next generation devices and the collaboration between them. From smartphones to smartwatches, from IOT and phablets to XBOX and Surface Hub, from Cortana to HoloLens, we live in a world of devices where software is coming out of the computer more and more. We'll take a quick look at the past, a good look at the present and a glance at the future with lots of demos. This is not your usual technical talk, but rather a sociological discussion of how devices change us, and how we can benefit from them. With demos of Cortana, collaboration between devices, Windows 10 Continuum, Microsoft HoloLens.

Thursday, 13 April 2017

Continuous Architecture - Murat Erder

As the pace of innovation increases, IT departments are tasked to deliver value quickly and inexpensively. Agile, Continuous Delivery and DevOps are focused on addressing this demand. But, what about architecture; is it still relevant? We definitely say YES! We present an approach called Continuous Architecture. It is based on six key principles that provide an architectural focus while supporting Agile , Continuous Delivery and DevOps. The application of these six simple principles and supporting tools, help solve the architectural challenges at the project and enterprise levels, and relate to IT processes including application testing, software deployment, and software architecture.

Wednesday, 12 April 2017

Never RESTing – RESTful API Best Practices using ASP.NET Web API - Spencer Schneidenbach

Designing and building RESTful APIs isn’t easy. On its surface, it may seem simple – after all, developers are only marshaling JSON back and forth over HTTP, right? Believe it or not, that’s only a small part of the equation. There are many things to keep in mind while building the systems that act as the key to your system.

In this session, Spencer will delve into several best practices to keep in mind when designing your RESTful API. Attendees will learn about authentication, versioning, controller/model design, testability, documentation and change management. This session will also explore the do’s and don’t’s of RESTful API management so that you make sure your APIs are simple, consistent, and easy-to-use.Examples will be done using ASP.NET Web API and C#. However, this session will benefit anyone who is or might be working on a RESTful API.

Tuesday, 11 April 2017

Make Cyber Great Again - Troy Hunt

We’ve got a problem with cyber – trust me – I know a lot about hacking. We’re getting cyber hacked on a regular basis and it could be Russia, but it could be China using the Norks to intimidate us and it could also be someone sitting on their bed that weighs 400 pounds, ok? Even 10 year old kids are so good with these computers it’s unbelievable!
I’ll tell you what – no computer is safe – I don’t care what they say, no computer is safe. I think that computers have complicated lives very greatly, the whole age of computers have made it where nobody knows exactly what’s going on. We need to talk about cyber and really understand what’s going on, we need to make cyber great again!

Monday, 10 April 2017

Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C# - James Montemagno

Xamarin's James Montemagno shows you how to use the power of C# and the .NET framework to create, debug, test, and deploy fully native Android, iOS, and Windows apps. With Xamarin for Visual Studio, you use the language and IDE you know and love to get to market fast, sharing one codebase across all platforms.

In this session, you will:

• Explore Xamarin for Visual Studio, including Xamarin.Android and Xamarin.iOS
• Learn how to structure your code to maximize code sharing
• Get technical resources and code samples
• Ask questions and receive guidance from Xamarin University professors and mobile experts
• Leave ready to translate your ideas into fully native mobile apps

Saturday, 8 April 2017

Testing in Python - Austin Bingham

The Python language has grown dramatically in popularity and use over the past decade. With this growth has come both a greater focus on testing as well as a significant increase in the sophistication of the testing tools available for Python.

In this talk we’ll take a tour of some of the testing technologies that Python developers can bring to bear on their projects, covering not just fundamental packages like `unittest` and `pytest` but also tools for more exotic techniques like mutation and property-based testing. People new to Python testing will learn how to start and see what’s possible, while experienced Python testers stand to learn a new set of tricks.

Friday, 7 April 2017

Mob Programming, A Whole Team Approach - Woody Zuill

Mob Programming is a development approach where the whole team works on the same thing, at the same time, in the same space, and on the same computer. It is a whole-team approach to doing all the work the team does including designing, coding, testing, and working with the customers, users and other stakeholders.

This is an evolutionary step beyond pair programming, and accentuates face-to-face communication, team alignment, collaboration, and self-organizing team concepts of the Agile Software Developmentre. Mob Programming can be a highly effective approach.

Please join me as I share how the concept got started, the benefits, techniques we use, and some of the problems we've faced.

Thursday, 6 April 2017

An independent look at the arc of .NET - Kathleen Dollard

“In the beginning there was…” Take a journey along with a .NET expert through over 15 years of .NET and C# evolution. Look into a crystal ball at the future and how we will incorporate enormous and ongoing changes. This starts with a look at the foundation of .NET - decisions about typing, language support, library and framework dependency, and deployment. Then you’ll see the impact of historic technical shifts like generics, LINQ, async and Roslyn.

This leads forward into massive shifts in Microsoft’s handling of the .NET ecosystem – including rewriting ASP.NET, Entity Framework and the .NET framework. And wait, what’s the difference between Core 1.0 and.NET Standard? And most important, how do you make decisions about what tools to use for applications you’re writing now? You’ll see a realistic assessment of the current state of affairs along with a discussion of Microsoft’s faster cycles and release criteria designed to help you make the best decisions for your team. The talk ends with a look further into the future and why these changes will keep the .NET ecosystem vibrant for years to come.

Wednesday, 5 April 2017

Bundling your Front-End with webpack - Sandeep Singh

Webpack is the new kid on the block when it comes to javascript module bundlers but with a lack of great documentation it can make configuring webpack a minefield for beginners.

In this talk i will cover webpack's core concepts/features, how it is differs from other tools such as gulp,grunt and browserify, and demonstrate of how to get started using it by refactoring a simple website.

Outcome:People have clear grasp of the benefits of webpack and how to begin using it accompanied with useful resources.

Tuesday, 4 April 2017

The Post JavaScript Apocalypse Douglas Crockford

This talk speculates about the next language after JavaScript, and what to do in the mean time about some of the new features in ES6.

There will be an emphasis on simplicity and quality. The web is cluttered and full of errors. The talk will also touches on why you should subscribe to HBO.

Monday, 3 April 2017

Working with Time is Easy Jon Skeet

Code involving dates and times is very often broken. This is partly due to poor APIs on many platforms, and partly due to a lack of awareness on the part of developers. Many developers despair when they think about time zones or different calendar systems, but there's good news: it's not really that bad. Obviously it helps if you're using a decent API (*cough* Noda Time *cough*) but even if you're forced to use a poor API, if you have a clear understanding of what you're trying to achieve, you can write code you can be confident in.

In this session I'll present a minimal set of concepts to think about, highlight some of the gotchas to be aware of, and suggest strategies for making it easy to test your code.

Sunday, 2 April 2017

The Seif Project Douglas Crockford

The web is a brilliant, open, globally distributed document retrieval system.

Unfortunately, it is not a secure application delivery system, which is the thing that the web needs to be. The Seif Project is an open source attempt to augment the web, with the goal of making it more secure and easier to develop for.

Saturday, 1 April 2017

Build Your Own Azure - Mark Rendle

Microsoft Azure has some brilliant features: App Services, Web Apps, Azure Functions, Service Fabric. But we can't all use Azure (or AWS, or whatever Google are calling their cloud this week), and if we can, the higher-level features come with a higher-level price.

In this talk, I'll show you how to create your own quick-and-dirty cloud using off-the-shelf open-source software and a few simple scripts, to run in your on-premises rack or any hosting or cloud provider. All the scripts and custom code in the talk will be MIT licensed and available to download from GitHub, so you can grab it and use it right away.

Friday, 31 March 2017

Declarative, Secure, Convergent Edge Computation: An Approach for the IoT - C.Meiklejohn

Consistency is hard and coordination is expensive. As we move into the world of connected 'Internet of Things' style applications, or large-scale mobile applications, devices have less power, periods of limited connectivity, and operate over unreliable asynchronous networks. This poses a problem with shared state: how do we handle concurrent operations over shared state, while clients are offline, and ensure that values converge to a desirable result without making the system unavailable?

We look at a new programming model, called Lasp. This programming model combines distributed convergent data structures with a dataflow execution model designed for distribution over large-scale applications. This model supports arbitrary placement of processing node: this enables the user to author applications that can be distributed across data centers and pushed to the edge. In this talk, we will focus on the design of the language and show a series of sample applications.

source: goto

Thursday, 30 March 2017

Abusing C# - Jon Skeet

What language could be complete without some horrible abuse? If you can't do terrible, evil things with it, how could you ever create works of great art?

Of course, anyone can write plain bad code. The trick for really evil code is to make it attractive; to make it seduce you with it utility, brevity and general glamour. Pierce that attractive exterior though, and the horrors are revealed, twisting language features into shapes they were never intended to take.

As C# has evolves as a language, as its feature surface expands, new crevices can be found, containing as-yet unseen terrors.

Join me for a whimsical look at code you should never put into production...

Wednesday, 29 March 2017

Building Your First Xamarin.Forms App with Xamarin for Visual Studio - Adrian Stevens

Adrian Stevens, Xamarin University mobile expert, shows you how to build your first Xamarin.Forms app with Xamarin for Visual Studio. With Xamarin.Forms, you’re able to get maximum code reuse to quickly build fully native apps for Android, iOS, and Windows. Learn how to share C# code to define the UI and business logic, enabling you to design your screens, fix bugs, and write your app just once.

In this webinar, you will:

• Create your first Xamarin.Forms project targeting Android, iOS, and Windows
• Maximize code reuse across platforms and deploy fully native Android, iOS, and Windows apps
• Explore Xamarin.Forms 40+ out-of-the-box custom controls, pages, and layouts
• Design your UI in XAML, and use Xamarin.Forms Previewer to see changes immediately, straight from the IDE
• Deploy and test your apps from Visual Studio
• Get the sample app code and documentation you need to get started
• Ask questions and receive guidance from Xamarin University professors and mobile experts

Tuesday, 28 March 2017

Life with actors: experience report - Vagif Abilov and Erlend Wiig

All the software's a stage,And all the components merely actors;They have their exits and their entrances,And they send each other messages.

Did Shakespeare write that? Perhaps not exactly. Never mind, this talk is about modern times, so modern that some developers no longer find proven OO paradigm convincing and instead ride new waves - or should I say - newly discovered old waves, since we'll talk about actor model.

It's been a year since our team commenced a media distribution project using Akka.NET. Queues and cloud storage providers, millions of files, all managed by actors. What did we learn? What did we gain? Come to our talk and you'll know!

Monday, 27 March 2017

The beauty of stupid ideas - Aaron Powell

We spend all our days striving to write the perfect code, code that is well thought out and will stand the test of time.

This is not a talk about that code. This is a talk about all that code you don't write because it's stupid, it doesn't solve a "real" problem or doesn't make any sense.

We'll explore some of my own stupid ideas, like writing my own number system in .NET or writing an IoC container in JavaScript, what I learnt from these stupid ideas and why exploring stupidity is important.

Sunday, 26 March 2017

Head to Head: Jon Skeet, Kathleen Dollard and Rob Conery

We’re back with another Stack Overflow Question and Answer session - this time with Jon Skeet going up against Kathleen Dollard. In this session, Rob Conery will select five questions from Stack Overflow pertaining to .NET and will send these questions to Jon and Kathleen a week before the talk.

They won’t be allowed to see the answers online, nor can they see *each other’s answers* - they’re only allowed to reveal their answer at the talk. Will they be different? The same? You’ll find out...

source: ndc

Saturday, 25 March 2017

Delivering Unicorns - Kasia Mrowca

“Brand-new shiny” project(s), no legacy, everything being built and designed from scratch….

Dream scenario, isn’t it? Well, it can be a nightmare when under this description is hidden a few-years-old project that is still under construction and can’t be used by businesses/users even though it’s kinda “working.” Yep, this means a lot of mess and a few more years of addressing legacy code even before going to production. Yay, what fun! But even if you’re lost in the darkest forest, there is hope. Always. This session covers the sins that lead to situations such as no product vision, gold-plating, and too big a backlog and prescribes cures for them.

Friday, 24 March 2017

Securing IoT Connected Device Applications - Ian Massingham

As the development and deployment of connected devices applications accelerates more and more organisations are making use of micro controllers and sensor hardware for safety critical and privacy sensitive applications.

In this session AWS Technical Evangelist Ian Massingham will explore the solutions for authentication and authorisation and for scalable support for cryptography that AWS has delivered as a component of the AWS IoT Service. The session will include a demo featuring C and Python IoT clients communicating securely via a scalable and serverless MQTT gateway.

source: goto

Thursday, 23 March 2017

Agility, Scalability & Autonomy: HMRC’s Next-Gen Infrastructure - Nicki Watt & A. Young

HMRC, the tax and revenue authority in the UK has a stated goal of becoming one of the most digital tax administrations in the world by 2020. The Department is in the midst of a digitally-enabled transformation and having a flexible infrastructure in place to underpin this is crucial – one that can support its business needs now and into the future. This includes allowing project teams to securely be able to take advantage of "the right cloud for the job”, as well as gain insight into the efficiency and pricing of consumed resources.

With key goals of delivering quality digital services in a more cost efficient manner, and without being locked into any one supplier, this talk will give an insight into HMRC’s cloud journey. It will focus on some of the challenges, approaches and thinking in this area, including looking at how HMRC is using, embracing and contributing back to various tools in the open source space as part of this.

Wednesday, 22 March 2017

An Opinionated Approach to ASP.NET Core - Scott Allen

Improve the architecture, design, and code inside your ASP.NET Core applications with an opinionated approach to ASP.NET.
In this talk we’ll look at strategies for organizing projects, solutions, files and folders. We'll look at data access alternatives and see some tips for writing unit and integrations tests.

Tuesday, 21 March 2017

Saving the World One App at a Time – Richard Campbell

Join Richard Campbell as he tells his story of software, hardware and charity that ultimately has led him to the Humanitarian Toolbox (

The Humanitarian Toolbox is an open source initiative to build software for disaster relief – both for the Non-Governmental Organizations that are involved in disaster relief, the citizen volunteers that donate their time to assist during a disaster and the disaster victims themselves. Richard will take you along on his journey of experiences with technology over several decades to show how you can help change the world with software.

Monday, 20 March 2017

Using Terraform and Consul to delegate service deployment to service teams - James Nugent

As organizations adopt service-oriented architectures, the boundaries between the development teams responsible for individual services and operations teams responsible for shared infrastructure start to blur.

In this talk we’ll look at two tools from HashiCorp which can help make this situation more managable regardless of deployment target: Terraform, a tool for managing infrastructure as code, and Consul, a tool for service discovery, health checking and key-value storage.

We'll see how layered Terraform configuration can enable service teams to deploy autonomously, making use of shared resources provisioned and managed by other teams. We’ll also look at how each service instance can self-bootstrap into Consul and integrate with an API Gateway, as well as being responsible for health checking itself. Finally we'll look at how common patterns necessary for high availability such as active/passive failover can be built using Consul's primitives.

Sunday, 19 March 2017

Postcapitalism - Jamie Dobson

This talk is about how software, particularly open-source software, is not only eating the world but eating capitalism itself - from the inside out.

Last summer I read Paul Mason's Postcapitalism and thereafter Rifkin's The Zero Marginal Cost Society. As I did this, and made notes, I came to see that our own open sourced products, such as Mini-Mesos and our ElasticSearch Framework, were threatening to disrupt our commercial competitors.

After thinking more about this, it's very obvious to see that open source software, and for example 3-D printing, is not only disrupting how we build things but is also undermining the core relationships of capitalism. If the marginal cost of a unit is free and so is its price, then there cannot be any profit. This one relationship undermines the very foundation of capitalism - something that Marx predicted.

This talk will look at capitalism, post capitalism, and as a case study will look at our ElasticSearch framework for Mesos. I will give insights into how companies can still stay relevant even when software is free - and I will do this by looking at how windmills utterly disrupted landowners in 11th century Yorkshire.

source: goto

Saturday, 18 March 2017

An Introduction to CQRS and Event Sourcing Patterns - Mathew McLoughlin

Within the DDD domain there is often much discussion about the advantages these patterns bring and how they can be used in conjunction with each other. However, there is not always great guidance on how to implement these patterns in a real world project.

In this talk I’ll take you through some of the fundementals of these patterns and show you a “first working solution” that you can use as guidance for building your own CQRS/ES based application.

Friday, 17 March 2017

Microservices and the Inverse Conway Manoeuvre - James Lewis

Go faster than your competitors. That’s the promise of microservices – deploy faster, scale faster, be more robust. It’s all about outcomes and the way your organisation is structured has a tremendous impact on those outcomes. it’s easy to say “Conway’s Law” and then move swiftly on. “But but but, but how?”

In early 2014, James and Martin Fowler called out “Organised around business capabilities“ as a core characteristic of microservices. This was based on feedback from successful teams around the world about how important this aspect was on the systems they were building. In this talk, James explores some of these structures and provides some practical guidance on what he and Martin meant when they said “business capability

Thursday, 16 March 2017

The Frontend Taboo: a Story of Full Stack Microservices - Luis Mineiro & Moritz Grauel

Microservices are not news anymore. They allow multiple teams to work autonomously by choosing their own technology stacks and having their own release cycles. There is something not being addressed though, like if it is some kind of dirty little secret, and that is frontend development. The common practice for building websites remains 'the monolith': a single frontend codebase that consumes multiple APIs. We believe we found a better solution.

Last year, a handful of Zalando engineers came up with an innovative solution for this exact problem - project Mosaic. Mosaic is a new architecture for websites where microservices are used in the entire stack, all the way to the frontend.

We’ve published Mosaic as open source. Its main components are:

  • Skipper - an HTTP router with runtime update of routes
  • Tailor - a streaming layout service with runtime update of templates
  • The network is the glue putting it all together.

In this talk we want to share our motivation to build Mosaic, how to perform such migration without downtime, and the advantages it has to offer to other organizations, regardless of their size.

We'll go through the operational details about Skipper and how it can be customized to answer many other different requirements. We'll also describe in detail how Tailor can dramatically improve the perceived performance of your website by streaming frontend content, from multiple fragments, in parallel.

source: goto

Wednesday, 15 March 2017

Debugging your website with Fiddler and Chrome Developer tools - Robert Boedigheimer

Debugging web sites can be tricky, but tools like Chrome Developer Tools and Fiddler continue to improve. Chrome provides a great client side JavaScript debugging experience.

It also shows the live DOM and is often the only way to determine exactly what style rules have been applied in CSS. The network tab provides basic details on requests and responses for the page, including the “initiator” column that indicates why the request was made. The tools provide profilers, audits, and the ability to throttle the network connection. It also provides basic emulation of device sizes for web pages. Fiddler can also be extremely helpful when debugging as traffic can be modified manually or programmatically. The auto responder feature can mock particular responses to web requests, or add specific delays for latency. The composer can construct specific requests that are difficult to create with browsers directly. Fiddler is also extremely helpful for capturing and modifying traffic from smartphones, tablets, and non-Windows platforms. Together these free tools make it much easier to troubleshoot problems with today’s complex multi-device web sites.

Tuesday, 14 March 2017

What were they thinking? Language design choices that seem wrong, until they don't. - Bill Wagner

Let's spend an hour exploring some of the most controversial language design choices in the C# language.

We're going to explain why each of these decisions were made. We'll have some fun looking at where developers have concerns. We'll explain why the language teams made the decisions they made. You can attend and spend the ret of the time explaining why they were still wrong.

Monday, 13 March 2017

Building a real-world cross-platform app with Xamarin and MVVM - Gill Cleeren

With Xamarin now free for everyone, the popularity of the cross-platform framework is increasing rapidly. We’ve now had the time to play around with it, now the time has come to build serious apps with it.

In this session, you’ll learn how a real-world Xamarin application architecture is built, with an emphasis on testability and maintainability. The app we’ll look at is called MyTrains, an application used to book train journeys.

You’ll see an architecture that has proven itself over different projects already. The architecture is using the MvvmCross framework. You’ll see how the architecture is built from the ground up, starting with model, the repositories and the services. On top of that, we’ll build the view models which will be used by the views in the iOS and Android apps. Along the way, you’ll see how MvvmCross uses data binding and commanding and how navigation is handled in MVVM

You’ll walk away with an example of how real applications in Xamarin should be built. You’ll be able to use this as your starting point for your next Xamarin application.

Sunday, 12 March 2017

Introducing ASP.NET Core Sockets - Damian Edwards & David Fowler

Overview of the new underpinnings of SignalR in ASP.NET Core plus SignalR itself.

Saturday, 11 March 2017

Pipe forward : Using Elixir and F# together - Bryan Hunter

Elixir and F# are two languages that are loved by their users (and for good reasons). Both are functional. Both are expressive. Both are growing up as the smarter, cooler, prettier younger sibling in their families. Both share the elegant pipe operator . And that (screech) has pretty much exhausted the list of their similarities.

In most other ways they are different, and they are good at different things. F# has a great type system. Elixir has a great concurrency model. F# can run on mobile devices. Elixir can handle requests from millions of mobile devices. Even the timescales of their sweet spots differ.

If both deserve a place in our toolbox how can we use them together? We will explore various interoperability techniques (from loose to tight), and we'll develop an intuition for which hammer not to use on which thumb.

Friday, 10 March 2017

Patterns for application development with ASP.NET Core - Damian Edwards & David Fowler

Focus on use of ASP.NET Core features for “real” applications, DI, logging, using environments & configuration effectively, EF inc. seeding, auth, etc.

Thursday, 9 March 2017

Visual Studio 2017 Launch Keynote

Visual Studio 2017 launch event keynote with Julia Liuson, Brian Harry, Miguel de Icaza, Keith Ballinger and Scott Hanselman as they share the newest innovations in Visual Studio, .NET, Xamarin, Azure, and more.

source: channel9

Wednesday, 8 March 2017

Tasty Topics for Distributed Sys: Novel Approaches Using Topic Filtering - Tom Fairbairn

Are you struggling to pick through large amounts of real time data? Does your IoT project create vast amounts of data and you don’t know how get actionable insights quickly enough? Did you consider the publish/subscribe pattern?

With some imagination, pub/sub can often provide surprisingly simple, efficient solutions. In this talk I’ll highlight some interesting ways to apply pub/sub to some common problems:
· Migrating between data formats;
· Finding the nearest… thing;
· Replaying of the state of the world;
· Controlling third party access to data;
· Monitoring the health of your pub/sub technology.

source: goto

Tuesday, 7 March 2017

Serverless Architecture - Tales from a world without servers - Robin Weston

Serverless architectures have been touted as the next evolution of cloud-hosted software. Indeed, the promise of resiliency and scalability without the need for infrastructure management sounds too good to be true!

But what exactly does a serverless architecture look like? And what are the trade-offs to weigh up when considering using one on your next project?This presentation will give an introduction to the world of serverless architectures. We’ll look at their benefits and drawbacks, the existing tooling and service ecosystems, as well as learnings taken from our usage of AWS Lambda and API Gateway on a recent project.

source: ndc

Monday, 6 March 2017

Building Teams Who Build Data Products - Peter Holford

In our day-to-day lives, we all come in to contact with great products that are build around data in such a way that we don’t even think about the data that drives them. Yet many organisations do not think about building their data teams in this way. In this interactive presentation, we will look at some related disciplines and see what lessons can be drawn for building teams that can build great data products.

source: goto

Sunday, 5 March 2017

Building Fast and Beautiful apps with Xamarin.Forms - Michael Ridland

You might think that Xamarin.Forms is just for basic data entry applications, in the past this might have been true but not anymore. The recent releases of Xamarin.Forms make it a world leading platform for Mobile Development even for consumer facing apps, now you can build apps that are not only beautiful but also very fast.

We'll look at the features built into Xamarin.Forms that can help you to make a app that's a contender for design awards and you'll also how to develop Xamarin.Forms in a way that makes your Mobile UI very quick.

After this session delegates will have a better understanding of the apps they can build with Xamarin.Forms. Delegates will also finish this session with knowledge of the techniques to build Beautiful and Performant apps with Xamarin.Forms.

source: ndc

Saturday, 4 March 2017

ARM FTW Magnus Mårtensson

With the new model Azure Resource Manger Microsoft are gaining the repeatability they always wanted for deployment to the Cloud and removing the dreary, repetitive, error prone manual deployment tasks which has always held us back!

With ARM you can create a Template for your environment and use that for deploying identical environments every time without fail! There is some news in the world of “infrastructure as code” that we need to take into account while setting up our Cloud environments. The Win we get from being able to deploy our development environment or our temporary load test environment automatically and identically to our production environment cannot be understated. This is ARM from a project efficiency, development and also DevOps perspective. This is what you need to know in order to make you much more efficient every day of development.

source: ndc

Friday, 3 March 2017

Cloud nano-bots: Strongly-Typed State Machines In The Cloud - John Azariah

Traditional n-tier multi-user applications should not be novel to anyone these days; but a significant portion of such applications is dedicated to addressing infrastructure issues such as scalability and reliability.

But what if we looked at these applications as an platoon of independent, stateful microservices each encoding a state machine?

In this talk, John shows how declaratively describing state-machines formalizes the behaviour of a message-based application and allows us to reason about its correctness - and introduces a way of expressing such state-machines as full-fledged Orleans Actors, with particular emphasis on type-safety, developer productivity, testability and ease-of use.

No prior knowledge of State Machines is assumed, but a general idea of what Orleans is will be helpful.

source: ndc

Thursday, 2 March 2017

Phoenix: an Intro to Elixir's Web Framework - Sonny Scroggin

If you've ever used a web framework, you may have had to choose between productivity and performance. With Phoenix, you don't have to make that choice, you get both! And much more.
Phoenix is a web framework written in Elixir. It provides the building blocks for creating fast, efficient, scalable web services.
It supports the standard request/response model, but also provides support for WebSockets out of the box.
In this talk, I'll show you just how easy it is to get up and running with Phoenix by building an application, live!

You'll learn about:
  • Routing
  • Blazing fast template rendering
  • Communicating with databases
  • Realtime messaging with Phoenix Channels
  • Releasing to production
  • Phoenix certainly has a lot to offer. Come join in the fun.
source: ndc