Recordings of presentations made at monthly meetings of the Adelaide .NET User Group
Adelaide .NET User Group / David Gardiner
This talk is open to anybody interested in knowing what Go is about. We will go over the basic language constructs, opinions, tooling, modules, unit testing, other bits and pieces that make Go a fun language to learn. We will start with the simplest "Hello World" and top it off by building an HTTP web service by only using the standard library packages while connecting the dots between Go and C#.
Let's dive in to the latest features of Azure Functions - the serverless compute offering for Azure. After a quick recap of what Azure Functions are and what problems they can solve, we'll find out how Functions can now run .NET 5 (and .NET 6 in preview) and cover: • What works better? • What works differently (aka breaking changes)? • Why might you choose to stick with .NET Core 3.1? • What can you do in Visual Studio versus the CLI? • How can you add OpenAPI/Swagger support? • How would you automate the deployment with GitHub Actions or Azure Pipelines?
Serverless applications are taking the Internet by storm & it's easy to see why, the idea of being able to solve your problem & deploy it then walk away without ever having to think about system updates, package updates & security is very appealing to software developers. Serverless may not solve all of our problems but it sure can solve a lot of them. In this talk I'll explain developing serverless applications in dot net core in an AWS environment & some of the tips and tricks I've picked up along the way.
Pragmatic Performance: When to care about perf, and what to do about it 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".
Logic Apps Custom connectors are a great way to abstract your APIs and plug them into logic apps using a reusable connector pattern that is developer friendly. These connectors plug right into the logic apps designer to present a seamless experience. Whilst this uses API documentation to provide help with using the operations, they also use various security techniques. Join us at the September User group where Sam will take us through all the steps involved.
With the pervasive spread of gaming through popular culture it is now more important than ever to cater to a wide audience of potential users. In this talk, Scott will discuss how you can easily consume the Cognitive Services API to add Text-To-Speech to a Unity game on a budget.
Blazor is a single-page app framework for building interactive client-side Web apps with .NET. Blazor uses open web standards (no plugins or code transpilation). Blazor works in all modern web browsers, including mobile browsers. In this talk I will provide an overview of *What* it is, and *Why* it is important. I'll offer some speculation about *Where* its headed, and finally a demo on *How* to build an application with custom Blazor components.
WebAssembly has huge implications for the web— it provides a way to run code written in multiple languages on the web at near-native speed, with client apps running on the web that previously couldn’t have done so. This presentation will discuss how to build rich apps with WebAssembly and present Uno Platform, a new UI framework that compiles and runs C# code that allows for the creation of rich UI apps that can target mobile and web simultaneously. You will learn how to reuse .NET Standard application and C# code to make your applications run across all browsers and all OS with WASM. In this talk, not only you will be able to see the magic happen in front of your very eyes, you will also learn how to create apps using C# and XAML that can work on WASM but also on iOS, Android, and Windows.
There’s been a lot of buzz in the frontend world around various frameworks and architectures. In the midst of this explosion in experimentation, sometimes a more basic, ‘vanilla’ approach, is left on the sidelines. When is a SPA a good option? When is a jQuery-style solution appropriate? How do you manage state? These are some of the questions we’ll explore in this talk. Additionally, we’ll run through an example setup using ASP.NET & TypeScript (sans any ‘frameworks’). So, get your thinking hats on, and let’s start our quest.
There are basically two options for integrating Angular6 into an existing site that has older technologies like AngularJS or JQuery: 1) Angular Elements 2) Angular downgradeComponent This talk looks at both of these, as well as moving from an ASP.NET MVC3 architecture to a modern SPA web application
Feature Toggles or Feature Flags are utilised by many organisations to control system behaviour without changing the code. They offer various uses and often used to manage continuous releases and rapid feature publishing without breaking branches or modifying the code. Sam will be discussing how a smart feature toggling mechanism can be implemented and some of the popular use cases.
In this demo-heavy session, Dave will demonstrate the many features we've added to Visual Studio 2017 since it first released to make .NET developers more productive—improvements to editing, refactoring, debugging, and testing your code—which previously required additional extensions. Whether you’re new to Visual Studio or have been using it for many years, you’ll learn something that will make you more efficient.
Deployments are hard: nothing runs the same in production as it does on your local machine, and orchestrating the right changes at the right time, in a repeatable and reliable way, can be really tricky, and make you fear deployment time. Octopus Deploy is a deployment automation tool that helps to ease this pain, and give you confidence that your deployments will work consistently on every release. In this talk we'll have a look at the anatomy of a deployment, and some key Octopus features to help you eliminate your deployment pains for good.
Because too much Docker is barely enough! Jack is back for the sequel to his March presentation. Drilling deep into Docker and also covering the tooling to manage all those containers.
Blockchain is the next big thing, have you ever wondered how we can incorporate this technology with mobile? In this session, we will learn how to integrate blockchain technology with your mobile applications, and have a look at the new Azure Blockchain Workbench
F# is the third major language in .Net. It is a functional, object-oriented language suitable for most applications, and shines in large and/or technical projects. There will be a coding demonstration and pragmatic pointers for getting started and progressing to real world projects
Firebase is an easy to use set of technologies that help us rapidly build and deploy applications. It follows a reactive approach, using Observables to supply realtime updates whenever data changes. In this talk, Darren takes us through the Firebase ecosystem, and explains how it can be used to build an Angular web application. Throughout the talk we will learn about the Firebase NoSQL data stores, how to implement security, and we will deploy an application using the Firebase CLI tooling.
OWASP recently updated their top 10 web application development recommendations. I'll walk through some of the new items in the Top 10, and discussing their implications and ways to address them.
Learn about using Docker with ASP.NET Core, Docker Compose. Find out about ASP.NET Core's built in dependency injection support. Also see how to use Swagger 2.0 with API versioning.
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.
Learn about the new 60W Power over Ethernet standard, and how you can save up to 30% on power using demand-response programs.
The way systems are hosted are changing day by day and Azure serverless technologies make it easier for us to focus on the business logic and not worry about the underlying hosting and management. Azure functions assist with transitioning from monolithic software architectures to micro services patterns while providing the same experience for developers and administrators. Sam Fernando will step us through the basics of Azure Functions, how to develop and host functions and few integration scenarios with popular SaaS services.
Do you have a complex build process? Is your CI build not quite the same as building locally? Can you grab a fresh copy of the source code and be up and running in minutes? Cake is a build automation system based on C#. Find out how you can use Cake to orchestrate the entire build process, from compiling, testing, package and deployment. By using C# as the build DSL, you'll feel instantly at home! Hear about David's experiences moving from a traditional multi-step CI build process to driving the build entirely with Cake. See how you can make use of Cake's impressive built in functions and 3rd-party add-ins. Learn how to leverage Cake's extension model to write your own addins to provide custom functionality.
Do you know that you can book your flights via Skype? SkyScanner has a bot for Skype, where you can book your next holiday via chat. You may even use the Advertiser Bot through Facebook to get your daily news digest. Bots are even making enterprises be efficient and productive by letting you focus on what you do best and let the Bot do the grunt work. Bots are not new, but they are becoming more powerful, pervasive and acceptable in today’s society as a way to get answers, access information, buy goods and request for services. Not only chatting or texting, you could also be talking to a Bot via connectors like Cortana too. Sam Fernando will step us through the basics of the Microsoft Bot Framework, developing bots, hosting in Azure and connecting with channels like Facebook, Skype and Cortana.
Bill will be discussing and demonstrating the features Azure API Management. Looking at the Publisher/Azure Portal, Developer Portal and demonstrating API import and the power of the API Management Policies. Bill will also discuss the different usage scenarios and benefits of Azure API Management of both Web Application and Hybrid Integration.
Just the words "Cognitive Services" can be daunting, but it doesn't need to be! In fact, what if I said you can spin up a speech to text engine that will analyse the output and tell you the sentiment behind what it contains... in under 15 minutes. That is exactly what will be shown in this session - by creating a simple application that can consume an audio file (mp3) and use the power of Azure Cognitive Services to do the rest. There are many aspects to ACS and you'll be pleasantly surprised at how easy it is to integrate into existing processes.
Xamarin Forms is a framework that allows developers to easily create cross platform production ready apps. Sean will take you through the process of creating an application using Xamarin Forms with the backend of Azure Cosmos DB. Recently at the Build developer conference, Microsoft announced some great improvements to the Xamarin platform including Xamarin Live Player - a new way continuously deploy and debug application directly on iOS and Android. Sean will show you how easy it is to set up Xamarin Live Player, allowing you to easily view your UI changes without the annoyance of having to rebuild and redeploy to your device.
A code-centric discussion on building a framework for an enterprise application, using an "onion"-style architecture. Light on diagrams, heavy on demos, this presentation will show how we can tie together some really handy open source libraries to form a framework which lends itself to writing maintainable, production-grade code. Such libraries include FluentValidation, Automapper, log4net, MediatR, SimpleInjector and (of course) JSON.NET.
Reality – Virtual, Augmented and Mixed. Join Bronwen – Microsoft Emerging Experiences MVP and get your reality in check. This session will cover the different types of reality experiences and focus on the mixed reality of HoloLens. Bronwen will show you the actual device and how you can start building amazing holographic experiences for this self contained device. Don’t have a device – we’ll cover how you can start today without one.
A demonstration of how to do performance testing with Visual Studio Load and Web Test Tools.We'll also investigate and compare open source and non-MS tools in this space, as well as a brief look at strategies for dealing with performance problems in web applications.
Microsoft made some huge product announcements in New York recently. In this talk we'll show off some of the new features coming in Visual Studio 2017 including: • Live Unit Testing • Debugging improvements • Docker integration • Installer and setup improvements • Performance improvements as well as reviewing the changes coming in .NET, .NET Core, Azure and SQL Server.
Stav and the team from A Backbone Solutions join us this month to talk about their unique approach to data security. There will be hardware to play with too. Can you hack the 'unhackable'? We'll start with a short introduction into the philosophies of “unhackable” and “unbreakable”, and relate that to existing technologies, Blockchain and our own tech. Reviewing the logical breakdown of data ownership, and how it is important to storage and access concepts. The audience will be encouraged to participate throughout the talk; we want it to be a Socratic-type lecture. After this discussion, the audience can then decide whether to talk about logic or application.
Join Microsoft MVP & DevExpress Technical Evangelist Paul Usher, as he takes a look at the state of play for desktop development. During this frank session you will see where technologies like Electron fit into the picture, which technology should you reach for when starting a new desktop project? WinForms? WPF? Electron? Should you be targeting xplat? Is .NET Core the next big thing? Can devices like the Raspberry Pi replace some desktop functionality? It’s set to spark some interesting discussions and is one meeting not to be missed! (evening proudly sponsored by DevExpress) About Paul Paul Usher is a Technical Evangelist at DevExpress. DevExpress technologies help software developers build high-performance business solutions, see complex software with greater clarity, increase productivity, and create stunning applications for Windows® and the Web in the shortest possible time. Prior to joining DevExpress, Paul ran (and still owns) an independent software development company which specialises in custom solutions for small to medium businesses, with a focus on mobile and paperless solutions. He has developed more than 100 commercial applications on Windows, OS X, iOS, and other platforms that are used worldwide covering a wide range of industries from retail, medical, construction, and various service industries. Paul is a published author, WintellectNOW instructor and speaks at industry events around the world. His blog is available at paulusher.info
IoT, Node.js (visual/flow coding) + Cloud with Jack Ni This talk will cover: • What is IoT? • A background history of embedded systems to IoT • What are the challenges • What tools can be used • Cloud with IoT, and why we need cloud • Demos About Jack Highly skilled in the field of enterprise software solution development, mobile app (Xamarin) development , IoT(Raspberry/WinCE) development and delivery, Jack is currently working on a working on a business solution involving Raspberry Pi, Mobile app Dev using Xamarin and Azure Cloud. Parallel Programming Design Patterns and Considerations with "Curious" George Georgiou A taste of some design patterns, techniques and things to consider in order to increase throughput of your applications and large data processing systems with the tools available in the .NET framework. About George An Adelaide developer who loves .net, LINQ, computers, 3D graphics and has more than enough things he's interested in to keep him from being bored well past his 70s and by then there will most likely be even more "things to poke around with" on his to do list
This is a recording of our June 2016 meeting. First up, we have our regular What's New segment with Ryan Spears. The main speaker for this month was Basarat Ali Syed presenting on TypeScript. Basarat's presentation is also available on YouTube under the title "Adelaide .NET User Group - TypeScript with Basarat". Wrapping up this recording is an update on the latest features in Visual Studio Team Services.
This is a recording of our May 2016 meeting. First up we have a short demo from Shamsul Arifin on his Bengali language Text to Speech web app. Following this we have Anthony Borton on Build and release your applications using VSTS/TFS 2015 Update 2.
This is a recording of our April 2016 meeting. First up, we have our regular What's New segment with Ryan Spears, then we have two presentations. The first is from Duncan Greaves about "Data Encryption using .Net and SQL Server", and then finally we have Dr Tom Tilley on "Building an Army of $10 Robots with HTML 5 and Node.js"
Deploying Enterprise Applications can be an art unto itself. Sophisticated, distributed systems often have a lot of moving parts. Databases often need to be updated with schema changes and new reference data with each new release. Octopus Deploy takes a lot of the heavy lifting out of complex deployments. Being an automated process, it removes opportunities for human error to occur during a deployment. It also integrates well with Continuous Integration servers, resulting in end-to-end automation from code commits to deployment of compiled code. In this presentation, we'll take a look at the basics of Octopus Deploy and see how it can significantly free up developers to focus on actual development, rather than having to also worry about the deployment aspects as well.
In this presentation we’ll take a look at virtual reality technology with a focus on how to develop software using the .net stack. We’ll look back at the early days of the technology and some of the impressive accomplishments and failures of those attempts at creating virtual reality. We’ll then fast forward twenty years to review the current state of the art and some of the exciting recent developments. Knowing where we currently stand with the hardware we’ll delve into how to write software for virtual reality using .NET. We’ll take a look at the tools used and the familiar (and not so familiar) programming principles required when developing for virtual reality. The presentation will include code examples and of course there will be an Oculus Rift on standby with several VR applications from Novus Res ready to be experienced.
'IntelliTest' is one of the new features that shipped in Visual Studio 2015. This talk will demonstrate IntelliTest and see how it is particularly useful for creating tests for legacy code. But you don't have to just stick with what's in the box - we'll also update you on a number of other unit testing tools and libraries that can make writing unit tests easier.
Buddy IoT Platform Buddy is a cloud platform for Internet of Things (IoT). Using Buddy, you can collect all of your device data with a single, clean API and send it to any analytics, marketing or visualization tool or service. In this presentation, Habib Heydarian will provide an overview of the Buddy platform, explain how to use the Buddy API to build Internet of Things applications and describe the features & capabilities of the platform. Web Accessibility Accessibility is something we should all care about. Even if it doesn't affect you individually now, chances are you know someone who does (or even yourself as we all get older and our senses become less effective than they used to be) having accessible software becomes essential. Cliff Edwards give a practical overview of making the web more accessible. He debunks common myths, highlights pitfalls and demonstrates tools and techniques to make the web a more accessible place for everyone.
The thing about Azure, as with any cloud service, is understanding what is available. Join Paul Usher as he takes us through the most common uses of Azure, Web, Mobile, Data. In this session Paul will show just how quickly you can get up to speed with Microsoft’s cloud offerings, as well as creating database, blob storage and building a simple yet powerful website in VS and deploying with a few clicks. You can also see some of the other features of Azure at work. Fast paced, lots to see and learn and of course always room for some fun.
Visual Studio 2015 Launch Ryan and Dave go through what's new in Visual Studio 2015. Be there early for official VS 2015 'swag' giveaways. There’s something about Roslyn Ben Laan on Rosyln, Microsoft’s .NET Compiler Platform ‘As a Service’. This presentation attempts to answer the what, why and how of Roslyn with a high-level dip into Microsoft’s next generation C# (and VB.NET) compiler. Topics include Rosyln Overview Features and Benefits, some demos to show - Code as Data, Visual Studio Integration, Code Generation/Conversion and possibly some other interesting things along the way!