Thursday, 29 September 2016

The Future of C# - Dustin Campbell, Mads Torgersen

Since Roslyn shipped last year we’ve been hard at work building on it to improve tooling, add new language features and enhance Roslyn itself. In this session Dustin and Mads will play with fire, showing early versions of new C# 7 language features such as tuples and pattern matching, new editor features like code style and source generators, and much more. - Dustin Campbell, Mads Torgersen

Wednesday, 28 September 2016

Life As A Developer: My Code Does Not Work Because I Am A Victim Of Complex Societal Factors That Are Beyond My Control…. – James Mickens

"What are the best practices for shipping high-quality software?" This question is an example of a question that I will not answer in my talk. Instead, I will describe why any software project that contains more than 10 lines of code is guaranteed to fail. Using my fragmentary knowledge of the laws of thermodynamics, I will explain why code is like a proton that must ultimately turn into a crystal or, uh, whatever it is that thermodynamics says will happen. I will demonstrate how unit tests, functional programming, and UML diagrams fail to address the primary source of software failure (namely, that software is an inherently bad idea because our brains evolved to hunt giant sloths with primitive stone tools, and MongoDB only partially resembles a giant sloth).
I will conclude the talk by luring a group of agile programming experts into a large cardboard box using a collection of buzzwords like "evolutionary development" and "cross-functional team;" once captured, they will be forced to implement obscene, poorly-specified COBOL algorithms as I laugh maniacally and disable my compiler warnings. – James Mickens

Tuesday, 27 September 2016

The Idiot’s Guide to Quashing Microservices - Hani Suleiman

So your boss, annoying coworker, or random stranger has cornered you and started screaming at you that micro services are the answer to every problem you’ve had (and many you’ve never had).

You feel scared, you feel angry, and you’re not sure of what to do next. Do you jump in enthusiastically, or do you risk looking like a grinch by saying no?

In this talk, we’ll explore options between those two extremes. We’ll arm you with intelligent rebuttals and holes against microservices pitches that nobody puts on the brochures. The financial industry often has interesting restrictions and requirements, and a naive approach to microservices is bound to run afoul of all of these without sufficient preparation. - Hani Suleiman

Monday, 26 September 2016

Making Hacking Childs Play - Troy Hunt

How does it keep happening? I mean why are websites so consistently hacked? Is it the work of sophisticated cyber-villains operating from underground lairs? As it turns out, many of today’s online attacks are mounted by kids – legally children – who simply have time, patience and access to Google.
In this session we’re going to look at and execute a heap of online attacks with tools that even kids can use. You’ll learn just how easy it is to mount these attacks and most importantly, what it is you need to do to keep your apps secure not just from mischievous kids, but from cyber-criminals and even nation state actors.
This talk is scary, entertaining and will make you distrusting of any kid with a PC. - Troy Hunt

Sunday, 25 September 2016

Domain-Driven Design: The Good Parts - Jimmy Bogard

"The greenfield project started out so promising. Instead of devolving into big ball of mud, the team decided to apply domain-driven design principles. Ubiquitous language, proper boundaries, encapsulation, it all made sense.
But along the way, something went completely and utterly wrong. It started with arguments on the proper way of implementing aggregates and entities. Arguments began over project and folder structure. Someone read a blog post that repositories are evil, and ORMs the devil incarnate. Another read that relational databases are last century, we need to store everything as a stream of events. Then came the actor model and frameworks that sounded like someone clearing their throat. Instead of a nice, clean architecture, the team chased the next new approach without ever actually shipping anything.
Beyond the endless technical arguments it causes, domain-driven design can actually produce great software. We have to look past the hype into the true value of DDD, what it can bring to our organizations and how it can enable us to build quality systems. With the advent of microservices, DDD is more important than ever - but only if we can get to the good parts." - Jimmy Bogard

Saturday, 24 September 2016

Functional architecture - The pits of success - Mark Seemann

Object-oriented architects and developers have, over the years, learned many hard lessons about successfully designing systems with object-oriented programming. This has led to a plethora of ‘best practices’ that are painfully passed on from older to younger generations via books, lectures, consulting, blog posts, etc.
Many of these ‘best practices’ must be explicitly taught, because they don’t evolve naturally from object-oriented programming. Surprisingly, many of these hard-won ‘best practices’ fall naturally into place when applying functional programming. Instead of deliberate design, functional programming forms pits of success where you naturally fall into the same ‘best practices’ that you have to deliberately work for in object-oriented programming. In this session, you’ll learn about a handful of such ‘best practices’, and how functional programming automatically lead you there, without your explicit effort.

Friday, 23 September 2016

Keynote NDC Sydney 2016: “If I knew then what I know now…” – Scott Hanselman

I’ve been coding for money for 25 years. I recently met a programmer who’s been coding for over 50. They asked me how they could become a web developer. Here’s what I told them.  – Scott Hanselman

Thursday, 22 September 2016

Elixir Is Neat But What Can You Actually Do With It? - Rob Conery

Working with Elixir is intoxicating. The syntax is clean, pattern matching is thrilling, and the power of the Erlang VM underneath is mind-blowing. But what can you actually build with it? What patterns do you use… what tools? Are Phoenix and Ecto my only choices for web and data frameworks?
In this talk Rob Conery will share his experience migrating a Ruby on Rails application to Elixir, and the choices he faced along the way. We’ll dive into Agents, Supervision Trees, JSONB and potential life on Mars as we figure out the best way to structure an application in Elixir that works great both now and into the future.