Tuesday, 28 February 2017

Twelve Factor Apps in .NET : Building apps for the cloud - Ian Cooper

The buzz around PASS and Serverless: easy scaling of your server side code, removing worries about provisioning the VMs your code runs on comes from helping developers move fast from code to running services.

But how do you design apps that can run in those environments, and be easily ported to self-hosting when that day comes? The Twelve-Factor App methodology (https://12factor.net/), created by engineers with experience of delivering apps on Heroku, is a "recipe for success" when authoring code for these environments. In this presentation we will look at what the Twelve-Factor App methodology is, and demonstrate how to meet its requirements when creating .NET applications. We will show examples with Service Fabric and Azure Functions, and look at their evolution into self-hosted .NET Core apps, as and when you need.

source: ndc

Monday, 27 February 2017

How to Scale .NET Apps with Distributed Caching - Iqbal Khan

Your .NET applications may experience database or storage bottlenecks due to growth in data volume, session volume/length or size of objects. Learn how to remove bottlenecks and scale your .NET applications using distributed caching.

source: ndc

Sunday, 26 February 2017

How to build real-world applications with Orleans - John Azariah and Ser...

You've probably heard of Orleans as the open-source framework Microsoft uses to build cloud-scale services for products, such as Halo and Azure.

But how do you use it effectively in your own applications?

In this architecture talk, John & Sergey discuss several challenges that you will face when building cloud services; introduce several proven, powerful design patterns & practices such as state-machines, smart-caches, and event-sourcing; and some anti-patterns to avoid.

source: ndc

Saturday, 25 February 2017

Thirteen ways of looking at a Turtle - Scott Wlaschin

In this fast-paced talk, I'll start with the well known API for turtle graphics, and then stretch it to the breaking point by creating 13 different implementations, each demonstrating a different functional programming technique.

Along the way, we'll use partial application, functional dependency injection, validation with Success/Failure results, the Either monad, the State monad, agents with message queues, event sourcing, stream processing, capability-based design, and the interpreter pattern (aka free monad). Phew!

If you're an FP-curious developer, I hope this will be a useful way to get an quick overview of functional programming in practice.

source: ndc

Friday, 24 February 2017

The Book of F# - Dave Fancher

F# is a rich, expressive, general purpose, functional first language designed with the goal of allowing developers to write simple code to solve complex problems.

While The Book of F# provides a comprehensive tour of the language this session will focus on several of the primary ways F# accomplishes that goal. In just 60 minutes we'll discuss what it means to be functional-first, the advantages of the functional-first paradigm, and several key language features including curried functions, partial function application, record types, discriminated unions, pattern matching, units of measure, type providers, and computation expressions.

source: ndc

Thursday, 23 February 2017

Becoming an awesome open source contributor - Christos Matskas

Are you a developer that wants to give back to the open source community? Perhaps you're already a seasoned contributor but you want to get better? Or you want to join the open source movement because, well, OSS is the future? Just look at all the cool tech built with OSS: Node.js, BootStrap, ASP.NET etc.

Join me to learn about the many ways to contribute, key development tools in OSS projects and tips about what it takes to become a successful first time contributor and collaborator in this welcoming and open community.

source: ndc

Wednesday, 22 February 2017

VSCode: Tips and Tricks - Sahil Malik

In this session, we get an introduction to VSCode, and some amazing tips and tricks in VSCode to help you be more productive.

source: ndc

Tuesday, 21 February 2017

Implementing Infrastructure as Code - Kief Morris

Infrastructure as Code (IaC) is the "A(utomation)" in the DevOps "CALMS" model. It treats dynamic infrastructure as a software system, which means development tools and agile practices like TDD, CI, and CD can be used.

Most development and operations teams are making at least some use of IaC tools such as cloud, Chef, Puppet, Ansible, Terraform, etc. But not many are using them to their full potential. This talk explains some of the core challenges of managing infrastructure in a fully automated way, and shares principles and patterns for addressing them.

The talk walks through a number of patterns for implementing IaC tools such as AWS, Chef, Puppet, Ansible, and Terraform, to build a change management pipeline to automatically test and apply configuration to infrastructure. The patterns are not tool-specific, so should be useful for any team using these types of tools.

Attendees should come away with an understanding of how concepts such as Continuous Integration (CI), Continuous Delivery (CD), Test Driven Development (TDD) can be applied to infrastructure.

source: goto

Monday, 20 February 2017

IdentityServer4: New & Improved for ASP.NET Core - Brock Allen & Dominick Baier

IdentityServer has been used in lots of different environments and scenarios for building token-based security systems.
The recent release of ASP.NET Core has provided an opportunity to re-work and re-think the foundation of this OpenID Connect & OAuth 2.0 framework. This new version incorporates what we’ve learned over the last couple of years implementing these security architectures. This session will walk you through what’s new and improved.

source: ndc

Sunday, 19 February 2017

Elasticsearch Do's, Don'ts and Pro-Tips - Itamar Syn Hershko

After several years of working with Elasticsearch and consulting many clients world-wide, it's time to share some trade secrets and lessons learned.

source: ndc

Saturday, 18 February 2017

Escaping the Big Ball of Mud - Mathew McLoughlin

Over the years I’ve seen many implementations of an n-tiered application with an anaemic domain model. You know the kind, presentation, service, data access layer. This architecture whilst quick to start building has its problems. Over time, as the application becomes more complex the codebase will become more and more difficult to maintain, often resulting in a ”Big Ball of Mud”.
In this talk I will present some ideas that address these maintainability problems using a solution with a domain model and command patterns to give you a clean extensible architecture. Further to this we will explore event sourcing and cqrs and the benefits they can bring.
At the end the you will have seen an alternative way of building business applications, especially those with complex business logic.

source: ndc

Friday, 17 February 2017

Mobile Center | Ship Mobile Apps Faster - Thomas Dohmake

Thomas Dohmke and Piyush Joshi show how Mobile Center simplifies mobile development, bringing together all the cloud and mobile lifecycle services you need to deliver better apps in less time. 

They’ll walk through the product—the next generation of Xamarin Test Cloud, HockeyApp, and Azure Mobile Engagement—showing you how to automatically build, test, distribute, and monitor apps and add backend cloud services to scale to millions of users. 

During this webinar, you’ll learn how to:
• Automate your entire mobile development pipeline, from continuous build to continuous deployment
• Automatically test your apps on real devices and kick off tests with each code commit
• Distribute to beta testers for early feedback and QA
• Integrate crashes and user behavior analytics to see real users’ production experiences
• Easily add a cloud backend, including: social authentication and structured data storage

source: xamarin

Thursday, 16 February 2017

Building Theories is Building Value - George Fairbanks

I find a program much more valuable when I can read it and understand the abstractions that collectively explain a theory of the problem and solution. In contrast, I find programs with minimal abstractions and lots of conditional logic hard to understand because there is little or no theory to be inferred.

For several years I've been trying to relate the many models that I build on software projects and I believe it's a combination of models of the domain, the solution, and mathematical logic. So, what value does a team provide? Is it just the code? I argue that:

(1) programs that embody the theories of their developers are more valuable,
(2) how well developers can evolve a program is related to their ability to build and evolve theories, and
(3) a key distinguishing characteristic of a company's most senior developers are their theory-building traits.

source: goto

Tuesday, 14 February 2017

Akka.NET: The Future of Distributed Programming in .NET - Aaron Stannard

Developers are living in exciting, but more demanding times - we're expected to create applications and services that can deliver better value faster, at higher volumes, with less downtime. And in order to meet these demands we must learn new technologies and programming styles. Enter the actor model and Akka.NET.
In this talk you'll learn the fundamentals of Akka.NET and discover how you can use the power of the actor model, location transparency, clustering, and other Akka.NET concepts to build powerful, highly available systems without having to write awful boilerplate code. You'll never look at .NET the same way again afterwards.

source: ndc

Monday, 13 February 2017

TypeScript : More than just another JS transpiler - Basarat Ali Syed

Types can help you understand and document your code. When was the last time you saw JavaScript documentation that didn’t mention the *types* for function arguments / return values?
Why have this information separated from the implementation? Type information is awesome if you think about it: A single type annotation for a function is a theorem and the function body is the proof. And now you can have type annotations for your JavaScript. Introducing TypeScript. It adds Types and brings in ES6/ES7 features.TypeScript feels like and compiles to JavaScript, Any browser. Any host. Any OS. Open Source. This session will take a JavaScript expert and convert them into a TypeScript expert. What's new from ES-next and how do existing JavaScript libraries interplay in this typed landscape.

source: ndc

Saturday, 11 February 2017

One Size Does Not Fit All - Stefan Tilkov

If you pay any attention to software technology trends at all, there is no way you can have missed the “microservices” architecture approach, which seems to be the cure to every problem anyone ever had. But (Micro-)services, bounded contexts, components, modules, classes, structs and records, procedures and functions – whatever structuring mechanism we’re talking about, a recurring challenge is to find the right size for things. In this session, we will look at opposing forces from both technical and organizational perspectives, and come up with strategies for finding a good balance between the number of things (in this case, microservices) and their size.

source: goto

Friday, 10 February 2017

Leadership at Every Level - Liz Keogh

Leadership is easy when you're a manager, or an expert in a field, or a conference speaker! In a Kanban organisation, though, we "encourage acts of leadership at every level". In this talk we look at what it means to be a leader in the uncertain, changing and high-learning environment of software development. We learn about the importance of safety in encouraging others to lead and follow, and how to get that safety using both technical and human practices; the neccesity of a clear, compelling vision and provision of information on how we're achieving it; and the need to be able to ask awkward and difficult questions... especially the ones without easy answers.

source: goto

Thursday, 9 February 2017

Continuous Integration and Delivery - from the trenches at www.lego.com - Kristian Bank Erbou

Security is important – but in my experience managers, product owners and developers often find themselves lost in translation once they attempt to map the “Security is very important to us” abstraction to features and userstories. How do you as a developer protect secrets such as passwords and connectionstrings without loosing flexibility in your development experience and how do you enforce security in your Continuous Integration and Delivery pipeline while maintaining 100% automation?
During this talk I will de-mystify security as a concept, I will show lessons learned in previous projects and also show examples of security best-practises applied in a Continuous Integration and Deployment pipeline.

source: ndc

Wednesday, 8 February 2017

Scaling large Angular apps - Jad Joubran

Scaling beyond the To Do list App of Angular JS.Although Angular JS is a powerful framework, we still need conventions, automation and a variety of tools to make it scale. Especially in a team environment. Learn how to scale your angular apps with simple but effective techniques, endorsed by the Angular community.
This talk will include concepts applicable to both newest angular versions (2 and 1.5)

source: ndc

Tuesday, 7 February 2017

Event Sourcing and Stream Processing at Scale - Martin Kleppmann

If an idea is good, different communities will independently come up with it, but give it different names. For example, the ideas of Event Sourcing and CQRS emerged from the DDD community, while similar ideas appeared under the title of Stream Processing in internet companies such as LinkedIn, Twitter and Google.

This talk attempts to bridge those communities, and works out the commonalities and differences between Event Sourcing and Stream Processing, so that we can all learn from each other.

We will discuss lessons learnt from applying event-based architectures at large scale (over 10 million messages per second) at LinkedIn, and how such systems are implemented using the open source distributed messaging projects Apache Kafka and Apache Samza. We'll also discuss some of the architectural choices that affect scalability (both scalability in terms of data throughput, as well as organisational scalability).

source: ddd europe

Monday, 6 February 2017

Cassandra, Docker and F# Awesomeness - Alena Hall

Data is everywhere. Open source world gives us an opportunity to use advanced technical solutions to handle not uncommon problems of huge amounts of data that require low latency access. Can we use our favorite language such as F# for that? The answer is yes! This talk is focused on showing how to create a Cassandra cluster based on Docker, and how to build an application that connects to it and uses it with F# in a cross platform way! I will show how easy it is to use fully open source tools such as F# with Project Scaffold in Xamarin Studio on OSX to create a solution that uses advanced open source distributed database Cassandra on Docker.

source: fsharpConf

Sunday, 5 February 2017

.NET Deployment Strategies: the Good, the Bad, and the Ugly - Damian Brady

Ever wonder how other teams deploy their software? It’s hard to know what goes on behind the walls of another company and even harder to learn from their mistakes. At Octopus Deploy, we see a broad range of deployment strategies and techniques. Some are extremely effective, some … well, not so much.
Join me as I take you through a range of delivery strategies employed by development teams all over the world. How do teams overcome the challenges of delivering quality software and which techniques work in which scenarios?
You'll see everything from "what were they thinking!" to "it must be black magic!" and hopefully walk away with some ideas of your own.

source: ndc

Friday, 3 February 2017

Solid ASP.NET Core - Jimmy Bogard

ASP.NET Core 1.0 is the ground-up rewrite of ASP.NET, MVC and Web API, bringing a new paradigm in building web applications and APIs in .NET. With this rewrite brought new techniques in building SOLID applications, and updated some existing patterns and tools.
In this session, we'll take a lap around some of the major extension points of ASP.NET Core 1.0, walking through how these features can help us build cleaner, more maintainable systems. We'll cover web APIs, traditional MVC applications, controllers, views, filters, dependency injection, tag helpers and more. With a SOLID foundation, our ASP.NET Core applications will be dead simple to build and maintain.

source: ndc

Thursday, 2 February 2017

Container & Microservice Security - Adrian Mouat

The security of containers has been a hotly discussed topic. This talk will explain the main concerns around container security, and offer some best practices and guidance for addressing them.

The guiding philosophy will be “defence in depth”; no one layer or tool should be relied upon to provide complete security.

The topics covered will include:
  • The isolation guarantees of containers
  • Making sure your images haven’t been tampered with
  • How to limit the resources that containers can access
  • How to audit and monitor containers
  • Using VMs and containers together to maximize security and efficiency
  • How to safely share secrets (API keys, passwords) with containers

source: goto

Wednesday, 1 February 2017

It's Simple... - Adrian Cockcroft

What does it mean to be simple or complicated? How can we manage complexity when we scale up systems? It's Simple...

Why do people find it horrifying when the unimaginable internal complexity of monolithic apps is replaced by a “death star” diagram of the relationships between microservices? How can we make complicated systems observable? Why do people expect complex adaptive systems to behave predictably? How does complicated relate to intuitive?

Why is one of the most complicated things we own, our smartphone, easy to use by 2 year olds?

source: goto