Free evening event.
One of the core tenets of DDD Melbourne is that the agenda is democratically selected and represents diversity of the community. Session voting is the main mechanism that we employ to achieve that.
This means that you (collectively) have the power to decide on the agenda for the day.
In order to remove unconscious bias we implement anonymous session voting. This means that you will not see the details of the presenters and will need to vote based on the content.
Each ticket holder is eligable to lodge 10 votes; we have a number of mechanisms in place to detect fraudulent votes. However you are also welcome to subsequently override your 10 votes at a later point.
Please note: Our expectation of the community, and you as a voter, is that you will vote for a set of talks that make up your perfect agenda regardless of your friends' talks.
If you know who submitted any of the sessions we ask that you do not discuss it with anyone or post it on social media so we can retain a level playing field for all submitters through anonymity. We definitely want you to post and talk about the conference and encourage others to vote though so spread the word.
If we follow this approach as a community then we can be fair to all the submitters who have put time, effort and courage into crafting the amazing session proposals below. If you have any questions please contact us.
<3 DDD Melbourne team
140 Session(s) have been submitted
Everyone is hacking everything. Everything is vulnerable. Your site, your users, even you. Are you worried about this? You should be!
Don’t worry, I’m not trying to scare you (that much). We have plenty of safeguards against attempts on our applications’ user data. We all (hopefully) recognise Two Factor Auth as one of those safeguards, but what actually goes on under the hood of 2FA?
We’ll take a look into generating one time passwords, implementing 2FA in web applications and the only real life compelling use case for QR codes. Together, we’ll make the web a more secure place.
Do you want to know how Hololens apps are developed inside Microsoft mothership in Redmond?
I bet… I will share my experience of being part of dev team sent to Redmond. I will talk about methodology used, tools. Even, thanks to number of NDA’s lifted, I will show a demo. And trust me, it’s awesome
Drawboard is taking initial steps into Machine Learning and team has a scheduled short project with Microsoft.
We will document our findings and want to share a story (no matter it’ll be success or failure) about developers approach to getting into machine learning.
Quantum computing takes a giant leap forward from today’s technology—one that will forever alter our economic, industrial, academic, and societal landscape.
This presentation will cover the theoretical basics of quantum computing; the Microsoft Quantum Development Kit and Q# programing language; and some important applications of quantum computing.
Everybody is talking about AI, Machine Learning, IoT, and Analytics. It’s hard to dismiss these. Many people, especially developers, are looking to move to the new data roles.
However, many are faced with lots of fragmented information, too many courses, different platforms, and lots of tools. I have gone through this journey myself.
Through some hard-work and some luck, I am currently a principal consultant for IoT and Analytics. In this session, I would like to take you on a journey to:
1) Demystify all the jargons and break them down into smaller, more concise, and simpler terms (AI, ML, IoT, Edge Computing, etc.) 2) Explore the career options for developers moving to data roles? 3) What are the steps that you can take today to move into such roles? 4) What are the tools that you need to be equipped with for your new gigs?
This is not a career-fair pitch. This is more to share my experience of what I have done, what worked and what did not. Finally, the hope is that you can benefit from the learning I have accumulated along the way.
Accessibility is commonly seen as something added to the end of a project if there is time.
In this session, we talk about how making a project Accessible is actually really easy if done at the right time, and how it can increase the usability of your project too.
This session is aimed at developers across web and mobile, as well as BA’s, Creative Designers and UX designers.
Discovering TypeScript for most people is a mind-blowing experience.
But it’s that all TypeScript has to offer? Definitely not!!
TypeScript is much more than that and I will help you discover those extra features are so that you can step-up your TypeScript skills to the next level.
There’s a lot in the box in VSTS, but sometimes it just isn’t enough. Find out how you can integrate your existing applications and 3rd party services with VSTS via the VSTS API.
Don’t throw away all that existing infrastructure you’ve invested time and money in! Learn how to enable scenarios like leveraging your existing on-prem build server together with Git branch policies to ensure only code that successfully builds gets to be merged.
Make VSTS work for you, so that it can help you to deliver the best quality software possible.
Modern software development “on the cloud” is done on distributed systems. While most developers don’t need to know the details, these abstractions often leak out and surprise us in unexpected ways.
I will talk about the fundamental principles of distributed systems that everyone needs to know, with some concrete examples from cloud providers
“Am I a Good Developer?” is a question, I believe, we asked ourselves at least once in our lifetime as developers. In the pursuit of becoming better developers, we try to assess ourselves, but that’s not an easy task!
In this session I will share with you my views on the questions we should ask ourselves to define what a good developer is, and identify the pitfalls we might fall in the pursuit of becoming one.
No one really wants to be labelled “bad developer”, however the sad reality is that a lot of us aren’t even aware that we suck at coding.
But in order to fix this we must first understand what makes a developer good or and what makes them bad.
In this talk we will go through the characteristics of bad developers, good developers and really good developers. Then we look at some examples and finish off with some useful tips and tricks that makes our lives (and others around us) hell lot easier in our day to day jobs.
So what are you waiting for? Just vote for this talk and I’ll see you soon…
TDD is cool. TDD in developing an application is cooler. But TDD in developing a serverless application is even cooler. In Azure Functions, it is relatively easy to apply TDD because the application is actually codes. However, in Azure Logic Apps, it is a workflow consisting of bunch of API calls, which we need to consider ATDD instead of TDD because there is no code.
What is ATDD and what are differences between TDD and ATDD? How they are applied to application developments using Azure Functions and Logic Apps?
At the end of this session, audiences will learn 1) how to apply dependency injection into Azure Functions code, 2) how to apply TDD to Azure Functions, 3) why we need to consider ATDD for Azure Logic Apps, and 4) how to apply ATDD to Azure Logic Apps.
I did a word count on all the sessions submitted for DDD for the words “Azure” and “AWS”. The count was 65 and 9 respectively. This leads me to thinking that the DDD crowd has more exposure/affinity to Azure than AWS which is the largest public cloud.
I have a strong Azure background but the current enterprise I am working is on a AWS journey. This has given me an unique opportunity to compare the two cloud platforms and I would like to share the similarities and differences between the two.
It will perhaps allow you to make a decision regarding choosing your cloud provider or at least for Azure developers make yourself aware of AWS.
Azure Dev Spaces allows developers to collaborate during development using AKS development cluster on Azure and VS Code, Visual Studio or CLI.
Let’s see how each developer can have your own developer space, allowing live sharing of spaces during development. No more “push all your changes to git” to allow testing of micro services integration, just share your space with other developers!
Most people think Azure Functions are only for a tiny bit of code. They will be surprised! Why not build your whole application following best practices and only expose the endpoints through functions?
In this talk, I’ll present a new paradigm, a new way of thinking whilst still leveraging your existing knowledge.
Since its announcement, developers have been using (and loving) Azure Functions. Part of this is due to the Trigger and Bindings concept, which facilitates the integration with additional services and technologies.
Nonetheless, Triggers and Bindings can be confusing, and difficult to troubleshoot, especially if dealt with like a black box. Well, the good news is that Azure Functions is Open Source! Which gives us much better understanding, and ease of troubleshooting.
In this session we will have a deep dive into Triggers and Bindings; we will look into the source code, understand how it functions behind the scenes, and demonstrate how we can extend Azure Functions using our own bindings.
Big data is one of those buzzwords that we’ve been subjected to for what seems like years now, but the hype hasn’t faded, in fact it is more relevant now than ever before. HDInsight is Microsoft’s big data offering through a managed service deployment of Hadoop. This makes it easier to query, ingest, and publish data and to create workflows that make sense for your organisation.
In this talk we will learn how to use Hadoop on Azure, create clusters, crunch data and consume the results in applications. A real world data set of 160 GB worth of data will be used to demo all major tools in Hadoop ecosystem like Pig, Hive, Storm, HBase & Spark. Lambda architecture will be briefly explained and demoed showing how to handle streaming and batch scenarios.
This talk will give you enough knowledge to tackle real world problems and you will have the knowledge of what tool can be used to solve a certain problem plus the experience of using those tools in action.
AKA: “Northwind in Blazor”
Wow, hasn’t TypeScript made client-side code so much better recently? I can sit and write code with tooling support, type checking, intellisense - why, it’s almost feels like…
Admit It! What you really want is C# in the browser! And not in some plugin (nice try, Silverlight) I want C# properly in the browser! Well, with Blazor we might get just that!
But now we need to ask: Is it ready? Can I make #GenericClientApp17# with it?
This talk will attempt to answer these questions by taking the most boring database imaginable (Northwind) and smashing it into the most exciting web development project in decades (Blazor).
Blockchain is more than just Bitcoin and cryptocurrencies, it can be used as a consortium platform for your decentralised distributed systems with immutability by default.
In this session, the speaker will explain and demo how to set up your private Blockchain network in the cloud using Microsoft Azure. It will then be followed up by setting up the build and release pipeline of your “Smart Contracts” in VSTS (Visual Studio Team Services). Lastly, the audience will learn some roadmap strategy on how to deploy the contracts on Main (Public) Networks.
Blockchain has been a big buzz lately not only because of Bitcoin and cryptocurrencies; but also because of the disruption it brought in the ICT (Information & Communications Technology) Industry.
In this session, we will explore on what Blockchain is, in the perspective of developers. The audience will learn the fundamentals of Blockchain and how to create a “Smart Contract” as a form of programmable logic in the Blockchain network.
It will then be followed-up with a demo of a web application communicating with a smart contract in the Blockchain platform. Lastly, we will explore some good use cases of Blockchain in various industries.
GraphQL and its associated frontend libraries like Relay and Apollo Client are now reasonably well known in the industry. However, GraphQL backends are a little less understood. Whilst there are backend-as-a-service platforms available for applications that are entirely green-field, for the rest of us it’s more than likely that, in order to accomodate all of the intricacies of our business domain and infrastructure, we’ll have to build a GraphQL backend ourselves.
In this presentation I’ll show how it’s surprisingly easy to get a basic GraphQL backend up-and-running in 10 minutes. After a brief introduction, I’ll start the clock and use the Apollo Server framework to build a backend from scratch to service an existing client. Along the way I’ll introduce the concept of GraphQL resolvers and show how you write them, nest and pass data between them, and support both queries and mutations.
Attendees will leave this presentation with an understanding of the key concepts when building a GraphQL server, and an appreciation of just how easy it can be to get started.
I’ve been helping build a large disability sport database, running on the Wikimedia Foundation’s Wikibase and the Blazegraph SPARQL database, hosted on different cloud providers.
I’ll show how the data can be stored, queried and visualised. I’ll show how the system works inside - all the code is open source, both off the shelf and custom-written.
You might be thinking “Duh, all APIs are for developers”, but the reality is when it comes time to expose our API to third party developers, there are a few important security and logistical problems to conquer that you might not think about before hand. In this talk we take a look at the best way to protect your API using Identity Server 4 and walk through all the configuration you’ll need to get third party devs up and running in no time.
Specifically we’ll cover: - API first development and designing your API with third party developers in mind - Setting up Identity Server 4 with a basic real-world configuration - Protecting our API using JWTs and Bearer Authentication - Controlling access to API endpoints based on authentication policies
So many so called cross platform frameworks leverage the native controls offered by each target platform. Platform.Uno takes a different approach, leveraging the tooling offered by Microsoft to design and build UWP applications to create pixel perfect applications for.
In this session you’ll learn how to build, test and deploy a UWP application that cross-targets to iOS and Android.
Writing code is insufficient to unleash your creation upon an unsuspecting world. You must also provision some form of infrastructure on which to run it. Cloud services make this easy to do manually via their web UIs. However over time this becomes extremely painful to maintain. Humans are not just not good at applying changes to many resources in a consistent, error fashion. As you start to use more cloud services and have multiple environments it becomes certain you will misconfigure something leading to errors, inconsistent behaviour or security concerns.
The obvious solution is to automate infrastructure creation. Computers are good at doing repetitive things consistently and (mostly) error free. A number of tools now exist for the creation of infrastructure. I’m partial to Hashicorp’s Terraform, an open source infrastructure as code tool. My employer is adopting Terraform to handle deployment and maintenance of infrastructure across multiple AWS accounts and environments.
This talk discusses how we use the tool, lessons we’ve learnt and the structure we’ve evolved to effectively handle making repeatable changes across out environments. I’ll cover such things as how to organise your Terraform projects to allow effective collaboration within and between teams. It will also include demonstrations of building and updating real cloud infrastructure live via conference WiFi.
Neural networks are so hot right now, and APIs are always cool! Join me on an adventure of discussing, building and deploying a small and simple neural network driven API.
This session assumes little to no knowledge, and will attempt to present simplified explanations, alongside code for the more adventurous.
A code heavy case study into the nose-to-tail relaunch of a major media company’s CMS. Through this the audience will get an insight into how building a CMS for enterprise differs from building a CMS for a small-to-medium business.
By sharing the practices of high-end WordPress, developers will leave eager to up-skill and continue using best-practices in an enterprise friendly manner. To keep the audience interested, I’ll be sharing code examples showing how WordPress can be used in non-standard ways.
I’ll return to common themes throughout the presentation to tell a story: covering more than the how, but the why.
Docker is the new hotness - and rightfully so.
In this talk I’ll show you how to go from a standard Node Raspberry Pi app to a complete continuous delivery pipeline with containers, and we’ll talk about why you’d even want to do that in the first place. 100% guaranteed to have DevOps magic.
The explosive growth of web frameworks and the demands of users have changed the approach to building web applications. Many challenges exist, and getting started can be a daunting prospect. Let’s change that now.
This talk provides practical guidance and recommendations. We will cover architecture, technologies, tools, and frameworks. We will examine strategies for organizing your projects, folders and files. We will design a system that is simple to build and maintain - all the way from development to production. You leave this talk inspired and prepared to take your enterprise application development to the next level.
Events occur everywhere. But event publishers describe those events differently. There has been no way describing events in a common way, which make developers in their hard time to constantly re-learn how to consume events.
CloudEvents is an open spec for event data driven by CNCF (Cloud Native Computing Foundation) and many industry vendors, including Azure, AWS, CGP, IBM and OpenStack, take part in setting up the spec. Any application implementing and/or consuming webhook can introduce this spec and Azure Event Grid is one of them.
At the end of this session, audiences will learn 1) what CloudEvents spec is, 2) how it can be implemented, 3) how Azure Event Grid copes with CloudEvents, and 4) How other popular platforms can redesign their events.
Augmented Reality (AR) is a lot of fun. Most of us have seen the video where the “Take On Me” video clip was recreated in AR and like many of us, you may have had an “Aha moment” that Augmented reality can create some pretty amazing and unique experiences.
This session will show you how you can create engaging Augmented user experiences with C# for iOS, Android and other popular augmented and mixed reality devices using UrhoSharp.
We’ll touch on the fundamental concepts, how to work with the 3D space, plane detection and show how we can bring a classic retro-style game into Augmented Reality.
Back2bikes has been operating for 5 years, and has now grown to be open 6 days a week, engages 10-15 volunteers per day, and turns out between 5 and 10 restored bikes a week.
As it grows, the need for tracking systems becomes important. This talk will explain how we went about building an attendance app, so that volunteer attendance can be recorded in the database.
We built the app using the latest development tools, and will show how we have used the best practices and tools to build a world class app (which is also open source).
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It is quickly becoming a popular standard for managing and deploying software.
In this session, we’ll take a lap around Kubernetes to get a simplified view of the core concepts and then work our way through a demo that puts those concepts into practice using Docker containers orchestrated with Kubernetes.
We’ll also look into what’s next and some of the open source projects that help with the maintenance of Kubernetes clusters.
gRPC is already used by multiple container applications to deliver ultra fast communication using HTTP/2 and libraries already available to multiple languages.
Let’s learn how to apply these concepts to our micro services communications, eliminating overhead, network traffic, and accelerating stream transfers. Still need REST API? no problem, we auto generate that for you.
Cloud computing environments can be very dynamic, autonomously shifting the scale and composition of infrastructure in response to demand.
This dynamism introduces different risks and vulnerability considerations. This session will expose the security challenges with Cloud Computing at scale and discuss innovative and intelligent security detection and remediation technologies.
Specifically, this session will:
1) discuss potential cloud security events and their impact,
2) explain how AI/ML and intelligent security controls work in cloud,
3) provide a technical demonstration of intelligent security control in AWS cloud including continuous compliance at scale, 4) offer tips, tricks, and tools you can use for effective and automated cloud security.
As a result of attending this session, you will have greater awareness of top security threats in a cloud environment and practical mechanisms to detect, respond, and prevent threats at scale.
Isn’t it great being in 2018 where everything is fully automated, blue-green deployments are the norm, and we press “release” then go straight to the pub… Right???
Whoops… I work at a bank and deploy at 2am on Sunday mornings.
What do you do when all of this cool shiny automation sounds so enticing, but compliance gets in your road?
In this talk, we’ll walk through the real life story of bringing deployment goodness to a regulated environment, depended on by multiple financial institutions and processing sensitive consumer data.
It’s might not be deploying every commit straight to prod, but we’ll discuss some of the challenges of regulations like PCI compliance, where the limits are, and how you can still bring sanity and smoothness to the deployment pipeline.
While microservices are all the rage these days, for many organisations the overhead and complexity required to manage and orchestrate a microservices application doesn’t make sense. But just because you’re not “doing microservices” doesn’t mean you can’t go on the journey to Continuous Delivery!
In this talk, we’ll discuss a number of techniques you can use to make your monolith more majestic multiple times per day or week, rather than once or twice a year.
Drawing on real-world examples, we’ll talk about feature-flags, Platform-as-a-Service, and blue-green deployments as stepping stones to deploying frequently and without downtime. The techniques are applicable to all tech-stacks, but the examples will be .NET-focused.
If you’ve ever developed a web application, you’ve probably had to use several APIs in some kind of way. As we move towards microservices, some of those interactions are starting to get overly complicated and makes developing them harder.
This is where Contract Driven Development can help with testing interactions between parties to make sure none of the “contracts” get broken with a simple change or fix. The aim for this session to go through some of the theory with real world examples then transition into solutions by using an open source library called Pact that helps create these interactions and test them consistently.
In this session I will assemble a panel of tech leads and development managers for you to pitch the tech you’d like to use for your net project or in your team. We’ll provide a safe environment to discuss which tech fits your team and or project
Users expect real-time data. They want their banking transaction notifications now. Their orders confirmed now. They need prices accurate as of now. The want their user experience to feel—connected. The world has moved to push and users are waiting for the data-driven experiences we create on the web to catch up.
GraphQL is Facebook’s response to this challenge and it is quickly proving itself as an attractive alternative to RESTful APIs for a wide range of contexts. GraphQL is a query language that provides a clean and simple syntax for consumers to interrogate your APIs. These queries are strongly typed, hierarchical and enable clients to retrieve only the data they need.
In addition to the familiar pull based request-response pattern, GraphQL provides a mechanism for clients to subscribe to real-time updates in the form of Subscriptions. Subscriptions are exciting as they represent the core ability we need to satisfy the connected experience that our users demand.
In this talk, we will take a hands-on look at GraphQL and see how it can be used to build real-time APIs that are a joy to use. Additionally, we will explore how to integrate a React client with GraphQL using the ultra flexible, community driven Apollo client. By the end of the session you will understand what is required to craft a compelling real-time user experience with GraphQL, and have the knowledge to deliver on these requirements.
Helm is more than a package management to Kubernetes, allowing robust deployments with nested charts, testing, dashboard with Monocular/KubeApps, revision management and rollback.
Let’s dive in real case scenarios, and how we moved from pure Kube yaml files to full CI/CD with Helm and Jenkins. Multiple Helm servers/Tiller on the same cluster? no problem!
Azure and Visual Studio Team Services are designed for any developer and any platform. This is a new Microsoft, one that embraces developers - not just those writing .NET for Windows.
In this session, I will show you the products and services that will shape your DevOps process and enable your teams to build amazing applications on Azure, no matter what language or platform you’re using.
So you’ve been left with a huge bowl of spaghetti bolognese, also known as legacy code. You know you need to break it up to make it more maintainable and more workable. You’re sure there are some good places to make your cuts, but every time you pull on a code thread you end up with more spaghetti code!
NDepend can help with this.
In this talk I will show you how to use NDepend to effectively visualise your code, find the seams and break down that giant monolith into manageable pieces. And I will show you the kind of improvements my team at Page Up have been able to make with these techniques
Patterns are all around us, and in software, the design patterns we choose can give us the power of the ancient kings and queens. Event Sourcing is based on the idea that storing events as they happen is better than storing the current state.
Imagine having the power to rewind and replay events, to debug, to generate reporting, to go back to ancient history… We’ll get up close and personal with Command Query Responsibility Segregation (CQRS), which gives us the bonus of scalability out of the box, we’ll be designing and architecting applications at scale, just like the grand cities of the past, in no time at all!
Proponents of functional programming sometimes say that it requires you to “forget everything you know”. This can be extremely off-putting. And that is just one of the things that makes learning functional programming daunting. You might think it is too early or too late in your career to try to understand a whole new paradigm. Or that it’s all too much theory, or that lambda calculus is scary.
I thought all of those things, but then I accidentally started learning Elixir. Elixir is a programming language with friendly syntax and good documentation. It is approachable, scalable, fault-tolerant and functional.
This session will cover Elixir’s powerful features, it’s approach to concurrency, and some of the popular open-source libraries that make it great to use. It will also present functional programming as a set of problem solving strategies and discuss why they are worth adding to your toolkit.
Imagine you had something really important to tell everyone but weren’t allowed to speak up until asked. That’s how all web servers and WebAPIs with their HTTP Request/Response cycle operate. SignalR, built on WebSockets, changes this client-server relationship from “speak only when spoken to” to a fully bi-directional communication. This is amazing, but can also generate a lot of asynchronous events. Fortunately, we’ve got some great tools for handling asynchronous events….
WinDbg is the most powerful debugging tool available on Windows. An austere UI, the lack of accessible documentation and tutorials make it challenging to get started. This session will focus on how you go from writing a memory dump on a production server to analysing this dump on your machine, explaining each step on the way.
Event Sourcing is an approach to building software with a long track record of success. By placing business concepts at the heart of our code, we can decouple systems into small services that can be quickly built, changed, and replaced. Although Event Sourcing has been around for many years, it remains outside the mainstream paradigm of software development–much to our detriment.
With Event Sourcing, we place the highest value on the simple capture of essential business events without attempting to interpret them. We can then relegate all interpretations of those events to subsystems that are easy to build, change, and replace when necessary. The resulting systems have single responsibilities and are decoupled from each other, which makes them simple to modify. Event Sourcing can enable us to move faster by supporting rapid experimentation with new perspectives, new user interactions, and new insights into our business.
Event Sourcing is agnostic of technology stack and language style, but it goes well with another pattern called CQRS: Command Query Responsibility Segregation. In this talk, we will do a deep-dive into both of these two patterns and discuss:
I will show you how to build a Go microservice in twenty minutes. You will applaud its simplicity and marvel at its performance! There will be containers, there will be automation, there might even be tests! You will gain a notion of why you might want to use Go to do this.
Docker multi-stage build gives you a sequential pipeline of container execution with a final docker image generation of your application. Let’s go crazy discussing multiple examples how to pre-build/template images for real life scenarios used in CI/CD pipelines, tests, and deployments. Including new Azure Container Registry feature.
The term ‘programmer art’ carries pretty negative connotations - basic, unattractive, and will eventually be replaced. But that doesn’t mean that great programmers can’t create great designs. In this session, you’ll learn that with a few core principles and some free tools, even beginners can create appealing visual content.
Functional programming is becoming more and more popular and is starting to penetrate mainstream software development. You may have already used languages and libraries that support a functional programming style. But one language stands out as the epitome of functional programming: Haskell. What is it about Haskell that makes it a pure functional programming language? What features does it provide that can help us write quality, maintainable software? How can Haskell give us the confidence to safely refactor and change our software over time?
You use it almost every hour every single day of the week, but have you ever really taken much notice of your keyboard? It might not seem like much, but using the perfect keyboard can make every day just that little bit nicer, and even help prevent common injuries.
In this session we’ll cover how you can design and build your very own mechanical keyboard. From choosing your parts to programming your unique layout, we’ll see what makes it such a fun and rewarding project. You deserve it!
This is NOT a session about MS DevOps tools. This is the story of how the VSTS team transformed from shipping an on-premise server product every couple of years, to shipping a cloud service multiple times a day. In the process, almost everything about how this team of 800 people work has changed.
We had to figure out how to do agile at scale, how to transform into a microservice cloud architecture, complete restructure of teams and roles, threw out a suite of 10’s of thousands of tests and started over, went from almost 0 telemetry, to 8+TB/day and figuring out to do anything meaningful with all that data. Many mistakes were made along the way, and lessons learned that I’ll be sharing.
Microservices are here. But you’re still stuck in a monolith. This is one team’s story of how we decided to stop contributing to a shared monolith and start building our own microservices.
From why we chose dotnet core, AWS, Docker, Terraform and Dynamo to the business context that drove and enabled us to build a microservice, I’ll talk about our choices and experiences. Most importantly I’ll tell you what we would have done differently if we had our time again.
Tired of seeing contrived demos of various AI technologies at conferences? In this session we’ll take a real world problem of vehicle identification and apply the latest from Microsoft’s cognitive services to solve the problem.
From toll booths to parking inspectors, the challenge with automated vehicle identification is being able to successfully extract number plates information from an image.
In this session you’ll learn about Microsoft’s custom vision and OCR services and how they can be trained, deployed and combined as a Logic App in order to deliver an Azure Function capable of vehicle identification.
Babies cry a lot and aren’t easily reasoned with (stay with me, I’m going somewhere this this). Occasionally clients can resemble these little humans. However, instead of showing them the same care we fall into the trap of considering their feelings tedious, stupid, or irrelevant.
This talk centres on discovering what basic needs clients want met. As Head of Customer Solutions, I have experienced several situations of unhappy clients. Occasionally I handled it well, other times, unfortunately, I didn’t. Learn from my mistakes with this light-hearted take on finding what your clients’ basic needs really are.
You spent hours shaking all the trees, shaving 20kb off JS bundles. You ensured gzip is enabled, all code is minified. How would if feel if one image undid all that work, 10x over.
Images are the real cause for concern when you talk optimisation. I’ll run through choosing the best type of image, ensuring it’s the correct size and compressed.
Enhance your optimisation efforts, by including these image techniques.
“Design Thinking” and “Human Centered Design” have been getting a lot of attention lately. So, what are they, and how are they even relevant to developers? Isn’t this something just Designers with a capital “D” use?In this session, I will answer these questions and dive deeper into Human Centered Design.
I will also provide you with enough information, resources, and a set of tools/techniques so you can pretend to be a seasoned Human Centered Design Practitioner in just 45 minutes. To get good at HCD will take you longer, but at least you have a starting point…
In this session you’ll learn how to implement Augmented Reality using Apple’s ARKit. You’ll be introduced to the ARKit framework and learn about harnessing its powerful capabilities for positional tracking and scene understanding.
We’ll also look into its seamless integration with SceneKit and SpriteKit, and understand how to take direct control over rendering with Metal 2.
From watching a tv series full of doppelgangers and vampires to learn how to design and implement a geo-replicated Azure cloud infrastructure.
In this session, I will go through my experience and lesson learned in one of my last Readify gigs to achieve solution resilience against vendor outages.
Impostor Syndrome is an ongoing systemic problem in the technology sector.
This talk focuses on the challenges faced by those who experience Impostor Syndrome and looks at ways we can, as a community, combat the elements of our industry that foster impostor feelings in those who are made to feel othered by building a more inclusive and supportive environment.
Email. Slack. Skype. Trello. Jira. Ping! Ping! Ping! Notifications popping up every few minutes… Inboxes full… Icons showing unread messages, calling for attention!
How can you stay on top of all the noise, and still manage to get some coding done?
How do you prioritise what messages to respond to?
How do you make sure you’re not contributing to information overload of your colleagues?
Find out how to manage the distractions inherent in our always-on digital lives, how to communicate more effectively using the tools we all love (and hate), and ultimately communicate in a more meaningful and productive way.
Azure Resource Manager (ARM) provides a powerful set of tools for building Infrastructure as Code solutions - the unsung hero of automation in the PaaS world.
Like any technology though, once you get past the 101 examples from the documentation, things start to get a little messier than the pretty picture in the brochure.
In this session we’ll start with the basics, and then move on to a more complex architecture, orchestrating multiple different types of resources to reliably deploy full environments from scratch. We’ll talk about some of the ways ARM solutions can get out-of-hand as you build out more complex infrastructures, and approaches you can use to keep things in check and maintainable for the long run.
You don’t need to have any ARM experience, but it will definitely help as we’ll move pretty swiftly through the entry-level bits. Some hands-on experience with Azure or AWS is highly recommended.
Gone are the days of waiting weeks, days, hours or even minutes to report the insights on your data from systems and, in some cases, devices.
Modern data processing techniques like the Lambda Architecture help us design systems to handle millions of events by taking advantage of stream and batch processing techniques.
This helps us deliver much more real-time analysis and fault detection, while giving us the ability to implement batch-processing that help us analyse and predict trends based on the data streams.
In this session we will dive into an implementation of this architecture and have some fun with a tiny experiment while on stage.
Want to connect new apps with other existing apps or legacy systems? Luckily, integration now is easier (and cooler) than ever. Learn how to use Azure Logic Apps and the Azure Integration Services suite to build robust and flexible integration solutions and connect to anything!
What exactly is machine learning? And more importantly, will I understand the answer without doing a Masters and a PhD? Sure!
Join me, a fellow AI/ML-newbie, as I walk through what machine learning is, how it can be applied in your applications, and how you can actually create predictive models without accumulating a massive HELP debt in the process.
We’ll start at the basics by talking about what machine learning can and can’t do, but by the end, we’ll have a working example of something actually usable. Chock full of examples and a totally non-scary amount of maths, this is the session for you if you’re new to ML.
Soon it will be hard to imagine a world without voice first interaction. Whether your on your smart phone, using an Amazon Echo, or Google Home, we are beginning to see voice first devices ubiquitously enter our homes.
Voice development is not only a study of language design, but also for many, a feat for accessibility. It encompasses many data science topics such and machine learning and is a step towards achieving artificial complete intelligence.
Join me as we explore the ecosystem that is Voice, the future of this emerging technology, and shows you how to get started developing your first app. If you’re interested in developing on voice applications then this talk is for you.
Cloud provider marketers like to tell us that the cloud is all magic. That we can provision resources, deploy our application and everything will be up 99.99% of the time. Is this completely true though?
Join me as we read between the lines of your cloud terms of service and what you can do to better understand what is needed for highly available, scalable applications.
Believe or not, if you use Azure cloud, you have been using ARM templates explicitly or implicitly. What exactly do ARM templates do? How can we use them properly as DevOps engineers? We use ARM templates in many different ways and not all of them are considered as “Best Practice”.
ARM template is a very convenient tool to manage Azure resources. But at the same time, it is very difficult to manage and time consuming, unless it is efficiently written.
At the end of this session, audiences will have ideas of 1) how to manage ARM templates in YAML, 2) what the best practices using ARM templates are, 3) how we test ARM templates before deploying, and 4) how we proactively manage ARM template deployment history.
Unless you have been living in a shell you must have heard about voice assisted home devices like Amazon Alexa or Google Home that perform tasks controlled through your voice. These devices are becoming popular than ever and Amazon echo was launched in Australia just a few months back.
In this fun talk I will bring a Echo Dot device and you will
The field of IoT is exploding with the number of IoT devices expected to reach 25 Billion by 2020. There are great opportunities for developers to get into the field and experiment with IoT solutions.
Building an IoT solution could be quite challenging because of the massive volume, high throughput, and vulnerable security landscape in IoT environments. In this talk, we will look at: - What are Microsoft Azure offerings for IoT? - What are the common hardware components to get you started? - How can we accelerate building and deploying IoT solutions?
Finally, we will also demo building an IoT solution using MS Azure IoT Central. This should take less than 10 min. Hopefully you get to learn more by seeing rather than just by hearing, so it sticks :)
Facial recognition technologies are integrated into various products and solutions:
There are existing facial recognition APIs in the wild (such as Microsoft’s Face API and Amazon’s Rekognition). However, these APIs are a black box, where you pass in some input (e.g. photos), and magically get some output (predicting names of people).
This session will present an overview of how facial recognition systems work. Rather than using an existing API, we will instead explore a prototype that implements the core features. This will give us an opportunity to picture the pieces in the facial recognition puzzle, as well as provide some ideas for possibly implementing your own system (or at least understanding how the existing APIs work).
Topics that will be covered include:
Creating great experiences starts by getting to the heart of problems your users, colleagues and clients have. The secret to uncovering these problems is being a great listener.
I will take you through the practical listening techniques I learned studying Behavioural Science and show to use them everyday with stakeholders and colleagues.
You’ll be able to immediately apply these listening skills and start having impactful conversations.
Have you ever wished you could have a conversation with a 3 year old child, but all you have is an Amazon Echo? Well this is the talk for you!
Starting from scratch this session will go from File -> New Project to a working simulacra of a small child running in Azure Functions and interacting with Amazon’s Alexa service. We’ll cover how the Alexa Voice Service works, how to setup and train a natural language model, building the WebAPI endpoint and responding to requests.
If you’ve never played around with the voice technologies then this talk will give you a run through from start to finish of what it takes, and how easy it can be. You’ll be able to go back to work and immediately build your own skill, regardless of whether you own an Echo device or not.
Edge computing is the way of distributing computational load in a solution (or a network). Edge and Fog computing are becoming popular and they present enormous opportunities for developers and businesses. Microsoft alone is spending more than $5B on IoT over the next 4 years. By 2020, there will be around 25 billion devices, many of which are capable of performing edge computing.
This presents a great opportunity to developers. However, the question that many developers ask is where to start? In this talk, we will look at: - what is Edge Computing? and where is it needed? - Edge Computing advantages and disadvantages? - How can we combine Edge Computing with cloud computing? - How can we design, build, and deploy Edge Computing modules?
This will be a session full of demos so you will learn by watching (or doing). Feel free to bring your computer if you like to follow along.
In the near future Machine Learning will underpin every aspect of human-computer interaction. You should be designing new systems with cutting edge Machine Learning capabilities from the ground up. We will explore the implications of ML for the whole team, from user research to development.
Get a grounded perspective on how ML is going to change the way we interact with computers as designers, developers and consumers. Machine Learning First is the next big shift in how we think about designing technology.
Trying to decide between using a Cloud AI or Local? Now you have the best of both worlds. Custom Vision Service recently introduced classifier export with support for CoreML.
You can use the Cloud to build quality classifiers with very small training datasets and export those Models to be run locally on iOS devices. We’ll show you how to can easily add real time image classification to your mobile applications.
Machine Learning with TensorFlow Lite and ML Kit
Building your own AI models with transfer learning is really hot right now. Join me, a fellow beginner in AI/ML, in this session for an introduction to TensorFlow and TensorFlow Lite and get started building your own custom models.
We’ll start by exploring base models for transfer learning and extend them to meet our app requirements. We will deploy our model locally on the device and also host it in the cloud with ML Kit. In the end we will have a mobile app that performs real time classification.
This session assumes no previous knowledge and will present simplified examples with a small amount of code.
You might have been told that APIs are meant to be stateless and finish their job fast. But what if you need to implement long-running or more complex asynchronous workflows on your APIs?
Learn how you can implement serverless and stateful workflows with asynchronous APIs using the brand-new Azure Durable Functions.
You’ll learn the absolute bare minimum you need to know about spatial data (not much!), how to get your first dots on a map - and then, how to add a million more. We’ll even cover how to self-host your entire spatial data infrastructure, using just two commands.
Finally we’ll show how to turn plain dots into compelling data visualisation with ridiculously snappy user interaction. We’ll use Mapbox-GL-JS, a free, open-source library with excellent documentation, and a couple of related tools.
How does a team successfully move from an internally-hosted centralized version control system to Git running in Visual Studio Team Services?
Hear how one group of developers did this by taking along the people, adapting their processes, embracing the technology, in a culture open to change.
If you’ve been out of the game for even a little in frontend development it can be a huge trial to get back in. In this session I’ll take you on a trip from basic jQuery all the way up to React and explain how we got from Point A to B. It’ll be packed with examples - so not matter what year your JS knowledge is from, you’ll walk away feeling less like an extinct dinosaur and more like a state-of-the-art web developer.
Just like development tries to move away from ineffective and inefficient approaches, testing has evolved since the days of heavyweight, formal test cases, and large test teams working in isolation. Testing is no longer the exclusive task of testers, but instead is becoming a whole team responsibility, perhaps with the assistance of a test coach.
As such, developers need an understanding of modern test techniques, and how they can use them across the development lifecycle. These include exploratory testing, using customer risks to drive your testing, and what to invest your human test effort on in a world where you automate everything
At the end of this talk, audience members will have an understanding of, including applications and benefits of:
Azure Kubernetes Services is a game changer for Enterprises. I am going to compare App Services with Kubernetes(Containers) to show how AKS is bringing a powerfull alternative to App Services. Including all existing tools available for developers.
Many software engineers are lead into the false assumption that we are hired to write code.
This talk challenges that perception and discusses the real reason we are paid to turn up to work every day.
My belief is that it’s important for developers to realize that, as it helps inform their decision making.
We know that naming things is one of the two hard things in computer science (https://martinfowler.com/bliki/TwoHardThings.html), but it’s important to get the words in your interface right. Like good design, well-crafted content can prevent problems before they happen and make a huge difference to the user experience of your product.
In an ideal world, we’d all have a UX writer or technical writer in our team to come up with button text, field labels, error messages and other microcopy. But more often than not, developers have to do it themselves. I will share some tips on putting the user first, making every word earn its place and cutting the jargon to help developers create clear, concise and helpful interfaces.
Do you believe that more than 80% of web traffic in China comes from mobile devices?
We live in an era where people don’t bother opening their personal computers for browsing anymore. Because of this, the performance of the website or web applications has never been more important.
Join me in this talk and we will go through what I do to speed up the applications I work on, why I do it, and the tools I use to optimize front-end performance. We will look at minimising requests, using resource compression, page rendering and some other techniques which are crucial to consider for fine tuning your applications’ performance.
It is going to be fun and I am sure you would take home some tips and tricks to keep you busy for a while, and once applied, you start hearing some wows and awesome feedback.
Big changes have been happening with MSBuild and NuGet. Things are getting simpler, and it’s not all just for .NET Core either! In this talk you’ll see how you can update .NET Framework projects to take advantage of the more concise project files, simplify NuGet packages with transient dependencies, and even target multiple framework versions.
Learn about common pitfalls, tips to diagnose problems and strategies for working with mixed solutions combining the old and new formats.
With the NoSQL buzz word being around these days, we use it quite frequently but we miss the basic concepts behind it. So, don’t fall into the same hole again and use database as a data store without understanding the concepts behind.
In this session, I will give you the NoSQL concepts capsules that you will never forget and will help you choose the right one for you and use it effectively.
We will look at the different tool in Microsoft Azure that can help you deliver on the promise of a truly Hybrid Integration strategy for your company. It will not be a deep look at any one service by more how the services can work together to delivery Hybrid Integration.
With the recent GA of Azure Event Grid and the announcement CloudEvents, I will look at how a typically Integration Solution can take advantage of Events over Polling. I will also demonstrate how to use existing Azure Event and how to create custom events for both Event Grid and CloudEvents.
As a developer you often hear both that performance is important, but also that you shouldn’t worry about performance up front, so when is the right time to think about it? And if the time is right, what are you actually supposed to do?
If you’re interested to hear about a pragmatic approach to performance, this talk will explain when is the right time to think about benchmarking, but more importantly will run through how to correctly benchmark .NET code so any decisions made will be based on information about your code that is trustworthy.
Additionally you’ll also find out about some of the common, and some of the unknown, performance pitfalls of the .NET Framework and we’ll discuss the true meaning behind the phrase “premature optimization is the root of all evil”.
Graphs are a great way to visually show a large amount of data. From dashboard page graphs showing how many people have done the thing, to telecomm websites showing how much data you’ve used recently. They are everywhere. However they can be quite challenging to program well, they push the limits of what front end technology can do, as it’s much more comfortable showing the data in a table thank you very much!
I’m going to show a way to make graphs on a website a slightly different way then you may have seen in the past. A way that uses a back end language (such as Ruby but could be anything really) to calculate and draw a graph on the front end in an SVG element, using CSS for styling (no JS required). You control all the calculations and where everything goes and how customisable it is.
My hope is that after this talk that you will feel more confident about making something like this for yourself and also learn a bit about SVG’s which you may not have known before.
Let’s talk about the progress of web apps. No, that’s not an autocorrect mistake from “progressive web apps” — let’s take a look at how the web has progressed from “a large universe of documents” to a universal application platform.
In this talk we will have a look at how far we’ve come in web development and how close we are to be independent of platform specific languages and tools.
We will also convert a web application to a PWA and evaluate it’s performance along the way. It is going to be fun, so happy voting…
Do you ever feel dirty when adding if statements and try catches to your code to handle basic errors, catch exceptions and/or log events? Maybe your code started off as a few basic lines but then blew up into a nested mess of branches after you handled every expected error. Or maybe you’re envious of your functional programming friends and want to learn something new?
We’ve already seen the introduction of functional programming techniques when it comes to lists and events in procedural languages. In this talk, I’ll show you another technique functional programmers use to handle errors and how you can apply it yourself.
Popularised by Scott Wlaschin on his site F# for fun for profit. I bring the concept to C# with practical examples and an easy explanation without the functional jargon. This technique has been battle tested and I’ll gladly share the pros and cons as well as solutions to common situations you may face.
By the end of this talk, you’ll be able to streamline your code to write clean, happy path programming where the business objective can be quickly understood.
Ransomware made headlines in 2017, with attacks shutting down the UK’s NHS and costing Maersk shipping over $300m in lost revenue. Ransomware is a massive business for cybercriminals, driving the cost of bitcoin from $1200 to over $7000 per coin.
We often see ransomware as some unbeatable force, however with some common sense controls and simple tricks, the damage can be reduced or even stopped. Join me to learn some simple, free steps you can do to stop ransomware in its tracks.
Power BI helps you build appealing visualizations of your data. With ever growing footprint of data it is equally important to get real-time insights into your data. It can be as simple as monitoring a single metric or viewing real-time sales performance across multiple locations. Power BI real-time streaming enables you to stream data and update dashboards in real-time. Any time sensitive data can be a source of streaming data set like IoT sensor devices, social media sources, service usage metrics etc.
In this session 1. I will dive deep into real-time analytics with Power BI. 2. How to build streaming tiles in Power BI Dashboards. 3. Demo using Power BI REST APIs. 4. Demo using Azure Event Hub and Azure Stream Analytics.
Have you ever wanted to create a real-time communication application?
ASP.NET Core SignalR allows you to create applications that do just that. It’s great for chat apps, collaborative data editing apps like sketching whiteboards or editing the same data record, or apps that need to notify your users of important events quickly.
In this session, you’ll learn how to create an ASP.NET Core SignalR project. You’ll learn about Hubs and optimising your connection with MessagePack. We’ll finish with showing you how you can run it from the new Azure SignalR Service.
In a dopamine driven world getting your next ‘hit’ can be easily done on social media and this can cause you to lose focus. On social media people from a diversity of backgrounds advertise their filtered life on social media and this can cause some negative impacts on their followers, even if they are not aware.
We all have problems in life: family, financial, or legal. However posts on social media are often filtered so that the best things are shown. This is my story of how I became a better developer, a better listener, and did more with myself by reducing social media.
If you haven’t heard already Microsoft Azure Azure Kubernetes Service (#AKS) is now generally available inlcuding in Australia-East region. AKS is a managed Kubernetes service on Azure that simplifies building, deploying and running containerised apps on a Kubernetes cluster. This talk is aimed at developers who want to taste AKS.
In this talk I will
For some developers (including myself), much of our work has been within “safer” environments, like the Java Virtual Machine (JVM). Environments like these have, with good reason, protected us from things we may have not needed to deal with in a long time—for example, error prone OS-level memory allocation and de-allocation. They have also made it in some respects easier to make our software widely available and executable; in the case of Java, the “write once, run anywhere” adage continues to serve its purpose, but probably more conditionally than originally thought. In any case, there continues to be a need and desire to write code for places where the JVM can be restrictive, inefficient, unavailable, or simply inappropriate. Fortunately, there exist alternatives that allow you to write code at a more native level without the need to lose all of the benefits that platforms like the JVM provide. One of those alternatives is Rust.
In the last few months, I’ve been exploring the Rust language as both another “tool on my belt” and an alternative for writing software. It is not a new language, but more recently, it has fast become a widely adopted language for a multitude of uses, including those based on the limitations I briefly described above. Quite early on, I learned to appreciate the simplicities of the language. However, more importantly, I initially realised that Rust shared common traits with some of the languages I use daily—mainly Scala and Java. In my opinion, those commonalities make it a desirable stepping stone language for people exploring the need to write software outside the JVM and/or more natively. After giving a brief “nutshell” introduction of Rust, the majority of the session will discuss a number of syntactic and functional comparisons that I believe could help determine if Rust is the language you want to learn next.
Microsoft has provided an almost unlimited number of ways for you to securely deploy Azure resources; but people continue to make simple mistakes. In 2017 many organisations had breaches due to poor cloud deployment practices.
In this session, you’ll learn how to use Azure Resource Manager (ARM) templates to deploy resources in a secure manner. This session will look at Azure Storage, App Services, SQL, Virtual Machines and Virtual Networks. I’ll discuss the costs, benefits and trade-offs of different design patterns and how you can secure your deployment pipelines.
We’ve been spending more and more time developing applications that run in the browser, Single Page Applications, SPA’s, and more recently Progressive Web Applications, PWA’s. But with more code running client side what changes do we need to make to how we write applications, test applications and secure applications?
So how do we write a secure SPA? What do we do with our security tokens, client-side data, track vulnerabilities in our dependencies or implement trust between the client and server?
In this talk, we’ll deep dive into some practical solutions on how to create secure modern web applications.
Microservices and containers have transformed application design and deployment patterns. Modern cloud native architectures - which underpin many of the world’s groundbreaking tech companies such as Uber, Netflix and Airbnb - afford unparalleled levels of agility and scale but are not without trade-offs. In applications comprising hundreds of services (and thousands of service instances), concerns such as security, operability and observability pose significant challenges. Supporting compensating capabilities such as circuit breakers, retry policies and service discovery in each microservice adds undesirable code bloat and impacts our ability to choose the best language for the problem at hand should the required libraries not be available.
In this session, we will take an in-depth look at the service mesh pattern; the benefits that a decentralized microservice management approach brings; the best practices that have evolved; and most importantly what you need to know to effectively leverage a service mesh in your architecture:
Additionally, we will take a hands-on look at what is involved to build and manage a microservice architecture leveraging Kubernetes and Istio, a leading open source service mesh. By the end of the session, you will not only understand the concepts underpinning the service mesh pattern but also have the knowledge to put them into practice.
Service workers are here to stay, they’re live in (almost!) all the major browsers and all your favourite frameworks offer them out of the box for caching your application offline. This is a great start for building modern, resilient, progressive web applications. But only using the service worker’s cache is like driving a sports car in 3rd gear at the most.
We’ll dive into push notifications, background sync and other experimental service worker features, showing what they can be used for and how to integrate them in your app. Together we’ll see how to make your web apps appier and your users happier.
How do you create your infrastructure in such a way that they are similar across regions, or accounts?
When it comes to infrastructure at scale, you can either use the AWS CLI and scripts, or you can use this neat little tool called Terraform, which will make sure you can deploy you infrastructure at scale, consistently and easily.
Close to 1 in 5 Australians have a disability. That’s roughly 4.5 million people. But in the tech world, the people building the products and services often have little or no experience with disability. So how do we make sure we’re creating inclusive experiences that work for all people, no matter their level of ability?
In this interactive session, we’ll test out some ‘empathy prompts’ that will bring you one step closer to understanding how disabilities affect people’s experience with technology, and start you on a path towards embedding accessibility into your processes and culture. Bring an open mind.
Starting off your software development career, especially if it’s your first career, can be tough. There is so much to learn, more than just syntax of code! This talk, aimed at junior, intermediate or even senior developers(!) covers some of the key tricks to a successful career, such as finding a mentor, working in a team, finding direction, supercharging your learning, getting your performance reviewed and much more.
This talk covers a lot of topics, fairly quickly, and so there are many micro-takeaways, but the main takeaway should be “there is more to focus on than just code”. I think attendees would get a lot out of this talk, as it covers topics that people tend to learn the hard way, if at all. However, the knowledge in the topics can be transformative and really supercharge a transition from junior through to senior.
Azure Resource Manager (ARM) - the unsung hero of automation in the PaaS world.
In this rapid-fire session, we’ll run through some tips and tricks for structuring ARM templates and keeping things maintainable once you get beyond “Hai Azure, plz create a WebApp kthxbai”. We’ll convert those wastelands of undocumented JSON into a sane, sorted deployment system you’d take home to meet your mum.
Experience deploying infrastructure with ARM templates will definitely help you understand the problems and appreciate the solutions presented.
So how do you do it? How do you take the leap out from working for someone else, to running your own contracting business? Where will your first clients come from? How can you work efficiently and stay sane when working mostly by yourself?
Contracting and freelancing can be one of the most exciting and rewarding styles of working, and it can offer some of the best perks you could ask – freedom, flexibility, control over your own earning capacity, and project variation.
In this session, I will share my experiences from running my own freelance/contracting development business for the last 10 years, passing on tips and tactics to get started, keep going and make it the best decision you ever made!
The last 15 minutes or so of the talk will be dedicated to answering all the burning questions that you may have on starting your own contracting business.
We’re in the age of distributed systems. Micro-service architectures and cloud computing have changed the way we create and manage our applications. As a result, distributed systems have become a key architectural concern.
While distributed systems give us access to enormous power, this comes at the cost of increased complexity. It can be hard to know where to begin.
In this talk I will explore a number of topics including distributed data storage, computation, and messaging, with a focus on foundational concepts and common challenges. Along the way we’ll take examples from popular distributed system products.
If you’ve ever struggled with managing async code or felt that Promises lacks essentials features like cancellation, better composition or in general are feature-poor, here comes the Saviour — Observables and RxJS.
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.
Troy Hunt and Scott Helme have spoken about all the exciting security things, so let’s talk about the boring bits! When we think about application and infrastructure security, we often think about the big shiny things and forget the boring bits.
In this talk, we’ll look at the security of our package dependencies, CI/CD tools, how we send email and even resolve hostnames.
Over the last few months, hackers have managed to inject cryptocurrency miners into all these places. Security incidents in these components might not result in an entry in Have I Been Pwned?, but they’ll result in a bad day.
Most people are aware of the impact machine learning will have on jobs, on the future of research and autonomous machines, but few seem to be aware of the future role machine learning could play in the creative arts, in visual art and music.
What will art be like when artists and musicians routinely work collaboratively with machines to create new and interesting artworks?
What can we learn from art created using neural networks and what can we create?
From the frivolous to the beautiful what does art created by computers look like and where can it take us?
This talk will explore magenta in tensorflow and neural style in caffe, google deep dream, next Rembrandt, and convolutional neural networks, generative adversarial networks and more.
I will look into some of the beautiful applications of machine learning in art and some of the ridiculous ones as well.
You may have all the technical skill in the world, but you’re only as effective as your ability to influence and understand people.
In this session, we will explore the human relationships that developers need to nail in order to be the most effective at their job. We’ll cover some practical tips as well as enjoying some humour around people’s behaviours and motivations.
WebAssembly (Wasm) is a binary instruction format designed as a portable target for compilation of high-level languages that can run in the browser.
Blazor is an experimental web application framework out of Microsoft that provides the means to write a Single Page Application using Razor pages and C# running with Web Assembly.
In talk this we will first look at what Wasm is and its potential impact on web development. Once we have that under our belts we will dive into Blazor and get a feel for the developer experience and how it stacks up against the current crop of web development frameworks/libraries.
It’s been 552 days since I had the arguably dumb idea of trying my hand at a startup. Little did I know the sheer volume of learning I’d be doing in the future, from basics like cashflow and forecasts to life lessons like always be talking to new people.
In this talk I tell the story of how I went from a full time .NET Developer, to a struggling and then mildly successful startup owner.
We’ll explore how I made the transition from full time employment to self-employment; we’ll look at many of the mistakes I’ve made and how to avoid them; and we’ll go through some practical tips to get you started on your own startup journey. My first tip? Learn from other people’s experiences!
How to branch though? That’s a good one.
This critical aspect of developing software has massive impacts on your ability to have multiple teams working on the different parts of the same project in parallel.
As we’re shifting from centralised version-control to decentralised, suddenly every developer’s machine is a new branch. Carrying over the same approaches from the centralised world is a pretty good recipe for a lot of pain. It could spell the difference between seeing your shiny new feature deployed and loved by customers, and it dying off in a lonely branch somewhere.
In this talk, we’ll compare some of the most prolific branching strategies of today - where they’re awesome, where they leave a bit to be desired, and where they’re evolving to. We’ll expect a working knowledge of source control systems and approaches, but you don’t need to be a master of
git reflog to follow along :)
What will frontend dev be in 5 years? As Redux creator Dan Abramov says, we can only hope there will be less configuration. Instead of hoping, let’s talk about how to get zero configuration today, using Vue JS and the Parcel bundler.
Find out why more and more devs choose this stack over Webpack + React JS + Redux.
Two years ago I joined a small team on an ambitious project at Sportsbet to re-platform separate web and iOS apps into a single codebase using React and React Native. Furthermore, we had to structure the project so that the team could rapidly grow to 20 developers and beyond. This is the story of why we did it, how we did it, and what we learnt along the way.
I’ll start with a quick introduction to the app and why it was important to have a unified codebase. I’ll then move onto the different options we investigated for maximising code reuse, and how we settled upon an existing React pattern to give us a simple but highly-scalable solution. I’ll use an example app to demonstrate this pattern in action.
Next, I’ll move onto how we dealt with the areas where web and native UX naturally diverge, and how we dealt with these differences. I’ll mostly be talking about navigation and routing here, but we’ll also explore animations as well. Again, I’ll aim to demonstrate some of my points with examples.
Attendees will leave this talk with a better understanding of the strengths (and weaknesses) of cross-platform React codebases, how to structure such a codebase to maximise code reuse whilst still having platform-specific escape hatches available, and what you need to do to keep all of your developers productive as the codebase grows.
How you can utilize the the serverless offerings from Azure/AWS to build scalable backends for mobile apps. Talking about my experience with building an app using serverless offerings from Azure (Storage & Functions). The pros, cons and what to look out for.
Everyone has great design ideas! (Seriously)! But not everyone has the vocabulary to communicate them. This session is for devs who are curious to learn more about UX Research and Design, so you can work more effectively and collaboratively with your design peers.
Join me for a crash course on UX terminology, methodologies and outputs, and we’ll even squeeze in a few fun hands-on activities. Sharpen your sharpies, unbox the post-its, it’s time to share the UX love!
Welcome to the world of tomorrow! It’s time to say goodbye to flatland, where pixels are bound to our lifeless screens, and embrace a reality where our world is the platform. It is the medium and the message. This reality is where digital comes to life, gets cozy with all of our senses, and augments our daily experiences.
This session will introduce concepts key to designing MR experiences.
Note: MR refers to Mixed Reality and encompasses Augmented Reality (AR), Virtual Reality (VR) and everything in between.
An established and growing area of I.T. are the GeoSpatial systems which sit behind the largest organizations in the world. I will be covering off use cases along with virtues and shortcomings of GeoSpatial technology in use with a focus on MapInfo Professional.
Ever wondered what a projection/ datum is and how longitude/ latitude work? Then look no further then this clear, concise and easy to understand presentation.
Even the simplest web application has so many vectors of attack, it’s no wonder most people forget at least one. Web applications aren’t stand-alone; they are built upon frameworks, upon platforms, upon core libraries, each of which could suffer from vulnerabilities you’re not only unaware of, you’re statistically unlikely to discover them all. Consider, for example, OpenSSL’s infamous “Heartbleed” Bug.
We hear about security vulnerabilities every week, now it’s time to experience them. Find out what the leading concerns are, and the not so common ones too, and experience live demonstrations of how these attacks play out.
This presentation aims to arm you with the mindset, tools and resources to minimise the opportunities for attack, and to reduce the fallout when they succeed. From cross-site scripting and session hijacking to brute force and man-in-the-middle attacks, you’re expected to cover all your bases so the bad guys can’t use a single one.
It’s 2018 more people are checking social media than watching the 6pm news. YouTube and Netflix are slowly overtaking the popularity of Television. Microsoft acquire for GitHub 7.5B and Mark Zuckerberg has been hit with lawsuits over data misuse. Equifax has arguably had one of the worst data breaches ever.
It seems with every growing year data is becoming worth more and more as the risks of data storage has increased. Have you stopped to think about what these companies can do with your data that makes them worth so much? Have you thought about why your privacy matters? Is your data safe or does privacy not exist anymore?
50+ developers pushing a 20 year old monolith towards a highly distributed system. I want to share what 8 development teams learn on this journey.
Forms are an essential part of most digital experiences, but they aren’t always presented in a way that’s usable for everyone–especially with 1 in 5 Australians suffering from some kind of disability.
The book “Designing UX: Forms” by Jessica Enders has become our bible at OpenCities, and has helped everyone in our team understand what the best practices are for all aspects of designing forms.
I’ll take you through the top tips we picked up, and share some examples of forms that follow these practices (plus some that don’t).
Visual Studio Team Services is Microsoft’s end-to-end DevOps solution - designed for any developer using any language on any platform.
With a 3-week delivery cadence, it’s easy to lose track of the new features and capabilities. In this session I’ll walk through some of the best new features that you may not know about, and highlight a few tips and tricks for getting the most out of VSTS. I have my favourites parts of the product, but they might not be yours - so make sure you bring your questions!
Xamarin.Forms has changed rapidly since its release. It is more performant. More robust. Richer in features. Learn about the changes that have been introduced recently and, more importantly, how you can leverage them to build world-class apps.
‘Developer: A person that creates something’
As a developer, our daily task is to write code, create software for users to use, and get paid. Is that all?
Our job has much more impact than that. It affects the end-users that use it, the team members that we work with, the people from other departments like Marketing and PR, the customers of the users that use it, people from the infrastructure side like AWS, etc. It makes a difference in the world, good or bad.
I strongly believe that when a customer does not think about the design of the product you developed but continues to use it- then you have done a really amazing job.
In this session, I will explain the impact of our work as a developer, define and discover the sort of impact it has on the world, and how to leverage it. Hopefully, the talk will help you unlock the potential to do some truly great things and to have an even greater impact on the world as a developer.
One of benefits using serverless architecture is “no need to worry about infrastructure management”. On the other hands, container technology is about “no need to worry about setting up infrastructure”. They are two different directions of evolving cloud services. Now, they get together and play together. Actually they get along each other quite seamlessly.
At the end of this session, audiences will learn 1) why we need containers for serverless applications, 2) how this is possible in Azure Functions, 3) how Azure Functions application can be deployed to AWS, and 4) what other considerations we need to bring in for this combination.
Do you know Gangnam Style from Psy? Do you know Fake Love from BTS? How about Red Flavour from Red Velvet? Who don’t love K-POP nowadays? However, I know songs but I have no idea who’s who.
Azure Cognitive Services are Microsoft’s Azure offering to build an AI powered application with ease, which includes Vision API that performs facial recognition. By uploading a photo, it identifies who is inside the photo.
At the end of this session, audiences will learn 1) what Azure Cognitive Service is, 2) how to let the service learn based on hundreds of photos, and 3) how to build a serverless application using Azure Cognitive Service APIs.
This is continuation on the talk I did in the last DDD by Night. Not every existing .Net application is being rewritten on .Net Core and deployed on Linux containers. We still have many .Net applications build on .Net 4.5, 4.0 and even 3.5.
This talk will cover * Introducing Windows Containers using Docker on Windows. * Containerising legacy applications and modernise them. * Running Windows and Linux containers side by side.
Going viral hasn’t always been considered good. Whether you’re fighting the common cold, or trying to remove the ILOVEYOU computer worm from your corporate file server, two things are certain: your immune system is based on your gut health, and computers have really poor gut health.
Stopping viruses is hard. The main reason for this is that viruses are really clever. They’ve evolved over time to escape detection. Each previously detected virus allows the next iteration of the virus to become more resilient. The second reason is that your computer’s gut health has to fight every virus, whereas each virus just has to find one immuno-compromised system to survive.
Let’s work out how viruses hide. How to they sneak past the checkpoints. How they attach themselves to your system. How they fight detection, and removal. We’ll look at aspects such as self-replication, cryptographic obfuscation, and touch on methods of delivery and infection.
Now that you’re thinking like a virus writer, you can anticipate which areas of your applications need hardening. Just remember, we’re doing it for good, not profit :)
This presentation will feature live demos of writing PHP viruses, and infection of willing targets. The theories apply equally to many languages, so an understanding of PHP is not required.
We’ve all read the news; we’re being surveilled as a massive level. Governments are indiscriminately collecting data, and storing it for years. Even if we trust our governments, this creates a honey-pot of information that criminals would love to get their hands on.
SSL certificates and encryption are important for data transport, and yet even some of the bigger companies don’t get it right. Encryption is hard, and it’s not end-user friendly, but the tide is changing.
What if your business needs to work with the data? End-to-end encryption between users isn’t an option. How can we increase security and privacy, when we need to see our users’ data? The principle of datensparsamkeit, to store only what you absolutely need, is still subject to concern if there’s a data breach.
This talk discusses and demonstrates the options for end-to-end communications encryption in web applications, so that data can only be decoded by trusted users, and remains unreadable by the web application owner, or anyone who manages to get their hands on the underlying databases.
12:00 Call for content opens
12:00 Ticket Wave 1 opens
15:00 Ticket wave 2 opens
18:00 Call for content closes
12:00 Voting opens
18:00 Voting closes
12:00 Agenda Published
Free evening event.