Loading…
Build Stuff'14 has ended

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Intermediate [clear filter]
Wednesday, November 19
 

10:30

Ian Cooper - Not just layers! What can pipelines and events do for you? (Slides)
When developers reach into their toolkit for architectural styles, they often explicitly uses layers to separate their domain from their presentation logic or infrastructure. They often implicitly use the repository style, with independent components updating the database. But there are many more styles out there, which can help you build your applications. In this talk we look at two of them: pipelines and events. Pipelines let us deal with streams of data effectively, and events provide significant advantages for loose coupling.

We discuss where these styles are appropriate and how to implement them in .NET. As both approaches can be used in-process or out-of-process we'll show examples of both, leading to an understanding of how distributed systems communicate using ideas such a SEDA - the staged event driven architecture.

Speakers
avatar for Ian Cooper

Ian Cooper

Ian Cooper has over 20 years of experience delivering Microsoft platform solutions in government, healthcare, and finance. During that time he has worked for the DTI, Reuters, Sungard, Misys, Beazley, and Huddle delivering everything from bespoke enterprise solutions, ‘shrink-wrapped... Read More →



Wednesday November 19, 2014 10:30 - 11:25
2. Beta

10:30

Stefan Poulsen - Blink(1)ing your way to USB (Slides)
How do you work with a USB device from .NET…is it simple or do you have to dig into nasty native code. Do you know the USB spec well enough to communicate with the device?
This session will dig into how you can utilize the USB port from .NET code, it will partially look at how the framework for blink(1) was created. The code will venture from the C firmware to how it actually ended up as a .NET package on NuGet. All in all we look at the options for talking with HID based devices so you can have fun with wicked devices in your little lab at home.

Speakers
avatar for Stefan Daugaard Poulsen

Stefan Daugaard Poulsen

Stefan is a developer at Ditmer in Denmark. Since he completed his AP in Computer Science in 2003, Stefan has been venturing around in different domains, starting with catalog building on the web than ended as a PDF ready for print. Since that time he has been venturing over GIS... Read More →



Wednesday November 19, 2014 10:30 - 11:25
4. Zeta

11:45

Francesco Cesarini - Thinking in a Highly Concurrent, Mostly-functional Language (Slides)
Yale Professor Alan Perlis once wrote, “A language that doesn’t affect the way you think about programming, is not worth knowing.”

To really appreciate the power of the actor model, no matter if you are using Go, Rust, AKKA or Erlang, you need to learn to think concurrently. Erlang has for decades been leading the way in concurrent thinking and developers from different communities abd backgrounds have a lot to learn from its approach.

This talk illustrates by example how embracing the Erlang way of thinking about problems leads to scalable and fault-tolerant designs. It will describe three ways of clustering Erlang nodes within the server side domain, describing how these systems have evolved as the concurrency model and the underlying hardware got more powerful.

Through these case studies, we will describe how Erlang, and more specifically, concurrency was done in 1995 when the limit of processes was 30,000, with an evolution as to how concurrency is used and applied today, when the limit of simultaneous processes in in the magnitude of millions per virtual machine.

Speakers
avatar for Francesco Cesarini

Francesco Cesarini

Francesco Cesarini is the founder and technical director of Erlang Solutions Ltd. He has used Erlang on a daily basis since 1995, starting as an intern at Ericsson’s computer science laboratory, the birthplace of Erlang. He moved on to Ericsson’s Erlang training and consulting... Read More →



Wednesday November 19, 2014 11:45 - 12:40
1. Alfa

11:45

Shay Friedman - Chrome Developer Tools Deep Dive (Slides)
Every developer needs a set of tools, especially web developers that bend under the pressure of multiple languages, environments, IDEs and what not. One of the most comprehensive tool out there today is Chrome Developer Tools. It contains so many amazing features other than the common ones, and it’s just a shame most developers don’t know about them!
Come to the session to learn about the known and less-known features of Chrome Developer Tools and see how your everyday web development can become easier by just a few simple steps.

Speakers
avatar for Shay Friedman

Shay Friedman

Shay Friedman is a Visual C#/IronRuby MVP and the author of IronRuby Unleashed. | With more than 10 years of experience in the software industry, Friedman now works in CodeValue, a company he has co-founded, where he creates products for developers, consults and conducts courses... Read More →


script txt

Wednesday November 19, 2014 11:45 - 12:40
4. Zeta

13:40

Bart De Smet - Cloud-scale Event Processing using Rx (Slides)
Come and see how reactive programming is used to build cloud-scale, low-latency, distributed event processing systems at Microsoft, powering end-user experiences such as the personal digital assistant 'Cortana'.

In this session we'll show what it took to bring the concepts of Reactive Extensions (Rx) to the cloud to deal with latency, scale, reliability, and other concerns. You'll also learn about the core API abstractions that are used to represent event processing systems of any size across our stack, including the cloud as well as devices and sensors.

Speakers
avatar for Bart De Smet

Bart De Smet

Bart De Smet is a Principal Software Development Engineer working on large scale stream processing systems in the Applications and Services Division at Microsoft Corporation, a course and book author, and a popular speaker on various international conferences. In his current role... Read More →



Wednesday November 19, 2014 13:40 - 14:35
1. Alfa

13:40

Dominick Baier - Unifying Authentication & Delegated API Access for Mobile, Web and the Desktop with OpenID Connect and OAuth2 (Slides)
Modern applications need to deal with authentication, single sign-on and federation as well as web API access and delegated authorization. Solving both problems required either using a bunch of protocols that often don’t work together really well, or coming up with a proprietary solution. OpenID Connect wants to rectify that situation – it defines an authentication protocol on top of OAuth2 to solve both the authentication as well as the delegated API access problem. Being based on simple HTTP interactions it also allows for true cross-platform. Learn how.

Speakers
avatar for Dominick Baier

Dominick Baier

Dominick works as an associate consultant for the German company Thinktecture (http://www.thinktecture.com). His focus is identity & access control protocols and APIs and how to apply them to real world software projects. He started the popular IdentityModel, IdentityServer and AuthorizationServer... Read More →



Wednesday November 19, 2014 13:40 - 14:35
3. Lambda

13:40

Janne Sinivirta - All Hands on Deck - Pragmatic Architecture for Agile Teams (Slides)
What is the role of architecture in a modern software project? Have we forgotten the value of proper planning in our effort to be flexible and agile while stripping away all excess fat? Or are we really better off without the architects in their ivory towers and fine without the big architecture bibles gathering dust on the developers' tables? This talk will introduce you to lean architecture, a place where architects and agilists can share the same camp fire and still leave with their neckbeards intact. We will see the value and the role of both the architect and the architectural documentation in an agile project. We will also learn about balance between agility and discipline, importance of domain modeling, tips on essential documentation, ideas on teams vs. organization.

Speakers
avatar for Janne Sinivirta

Janne Sinivirta

Janne Sinivirta is a senior consultant for Nitor Creations. Software architect, programming language nerd, fitness enthusiast and a proud father of two. With 17 years of professional programming, he has been responsible for architectural design and software development in business... Read More →



Wednesday November 19, 2014 13:40 - 14:35
5. Theta

13:40

Rob Ashton - The joy of React and NPM
Frameworkless development with NPM is great - but patching together odd templating libraries and managing the DOM can end up causing performance issues if the team is not careful to batch updates across components. That's where React comes in - utilizing React as a view engine within a typical framework-free set-up can result in cheap performance gains and a sensible data management strategy throughout the app without any of that horrific two-way data binding found in other systems.

See now as Rob covers how he uses React within a typical application set-up, build tools, common patterns, common modules and patterns for easy wins for the entire team.

Speakers
avatar for Rob Ashton

Rob Ashton

Rob can eat three pizzas in 15 minutes, down a pint of Guinness in less than 4 seconds and has been known to occasionally write code in between these dangerous eating and drinking binge sessions. Originally hailing from a small island in Europe (Isle of Man), living on a slightly... Read More →


Wednesday November 19, 2014 13:40 - 14:35
2. Beta

14:55

Ian Cooper - Hexagonal Architectures (Slides)
The term 'hexagonal architecture' has come back and forth in popularity since Alistair Cockburn first mooted it, with the Rails community's recent soul searching over its importance or threat just the latest. So what is a hexagonal architecture, why might you want to use one, and why is the 'Rails just falls away' (https://www.youtube.com/watch?v=tg5RFeSfBM4) threat so discomforting to web framework builders. In .NET how can we make 'ASP.NET just fall away'.

In this presentation we will look at the Layered Architectural style - when we would want to use one (as opposed to the alternatives) and when it is appropriate how to implement one. We will look at how to implement the Ports & Adapters (Hexagonal's 'proper' name) style, explaining what the different layers are.

We will look at the value the command pattern for implementing our ports , explain why Netflix uses it in Hystrix for reliability. On the way we will discuss Retry, Timeout and Circuit Breaker and explain how we can do better than Hystrix with a Command Dispatcher and Command Processor.

We'll show code throughout, including a look at the Paramore. Brighter framework, an OSS version of the platform we use at Huddle to build this kind of architecture.

As a bonus we will round off showing you how easy it is go from sync to async with this approach.


Speakers
avatar for Ian Cooper

Ian Cooper

Ian Cooper has over 20 years of experience delivering Microsoft platform solutions in government, healthcare, and finance. During that time he has worked for the DTI, Reuters, Sungard, Misys, Beazley, and Huddle delivering everything from bespoke enterprise solutions, ‘shrink-wrapped... Read More →



Wednesday November 19, 2014 14:55 - 15:50
3. Lambda

14:55

Mark Seemann - Look, no Mocks! Functional TDD with F# (Slides)
Test-Driven Development (TDD) is supposed to be about feedback, but a recent criticism has been that it tends to cause 'test-induced damage', because the design resulting from TDD is worse than an alternative design one could produce without kowtowing to testability.

The counter-argument is that this may indicate a failure in API design, rather than a failure on the part of the TDD process.

Often, the problem with TDD is an over-reliance on Mocks, which again causes an over-emphasis on mutation. Functional Programming, with its emphasis on immutability, can help significantly pull the tests away from relying on Mocks, leading to a better overall design, and more maintainable unit tests.

This session uses F# to demonstrate how to use Functional design with TDD to remove the need for Mock objects.

Speakers
avatar for Mark Seemann

Mark Seemann

Danish Programmer. Creator of various open source software, including AutoFixture. Author of Dependency Injection in .NET.


No mocks pptx

Wednesday November 19, 2014 14:55 - 15:50
2. Beta

16:10

Thore Thomassen-Customer Inisght, from data to information (Slides)
Customer Insight is a key element of Storebrands business strategy and it is an area that Storebrand has invested heavily in the last couple of years. The talk will share the experience we have gained so fare covering how to combine traditional structured data in a DWH with unstructured data in noSQL, big data databases. It will also cover how we use massive parallel datawarehouse appliances to boost the analytical capabilities and the exploitation of open source software as part of a powerful analytical platform. The talk will also touch on how to integrate the gained Customer Insight into critical business processes and how this drives the need for more real time analytics.

Speakers
avatar for Thore Thomassen

Thore Thomassen

Thore Thomassen has a BSc in Computer Science from Heriot Watt University in Scotland.  He started working as a developer and specialized in object oriented technologies.  He was central in Storebrands development of a Service Oriented Architecture (SOA) and was also a major... Read More →

Sponsors


Wednesday November 19, 2014 16:10 - 17:05
3. Lambda

16:10

Tomer Gabel - Nashorn: JavaScript that doesn't suck (Slides)
One of Java 8's much-touted features, Nashorn is a fully-fledged JavaScript engine written purely in Java and intended to replace the aging Rhino engine. Completely rebuilt from scratch and leveraging several significant JVM advancements, Nashorn provides a robust and highly performant platform to host and embed JavaScript in your applications. In this talk I'll focus on the whys and the hows of Nashorn, provide a hopefully complete overview of the new engine and its features.

Speakers
avatar for Tomer Gabel

Tomer Gabel

A programming junkie and computer history aficionado, Tomer's been around the block a few times before settling at Wix as a system architect. In the last couple of years he's developed a major crush on Scala, promoting it within the Israeli software industry as part of Java.IL (Israeli... Read More →



Wednesday November 19, 2014 16:10 - 17:05
4. Zeta
 
Thursday, November 20
 

10:30

Andrea Magnorsky - F#, this ain't a game (Slides)
For a game development project to succeed, not only do you need a great game design, you also need great tools. Game development requires a level of iterative refinement higher than that of any other type of software project, and the F# language, and broader F# tools ecosystem, offers that in spades. In this talk we'll look at some of the great F# tools we use to get our current game, Onikira:Demon Killer, through development, including:

· F# Interactive for explorative programming
· Writing readable unit tests with F# and using FsCheck for property-based testing
· Many cool things you can do with compiler services
· Using FAKE - an F# build tool

And more.

Speakers
avatar for Andrea Magnorsky

Andrea Magnorsky

Andrea is a developer that makes games, at the moment Onikira: Demon Killer. I like to learn how to do things in different ways, in the hope that one day I will have to do nothing and just do things because I can.I worked on enterprise (not the one with Piccard sadly) for too many... Read More →



Thursday November 20, 2014 10:30 - 11:25
5. Theta

10:30

Ben Hall - The Art Of Prototypes and Building MVPs (Slides)
Wikipedia defines a prototype as “an early sample, model or release of a product built to test a concept or process or to act as a thing to be replicated or learned from. “ It sounds perfectly simple yet all too often a prototype quickly turns into a complex beast of new technologies, shiny new frameworks and takes three times as long as planned. This session goes back to basics and looks at the art of prototypes and how to quickly build them to test and validate your early assumptions.

Based on Ben’s real world experience of building prototypes and MVPs for various different startups, this session takes a deep dive at where to begin along with the mind-set and tooling required to quickly and effectively create the prototypes. These will give you the ability to learn quickly and start mapping out the future faster than building the application. The examples will take the form of mobile applications but the tips and tricks will apply to web applications.

The key takeaways will include:
- How to identify the questions you want the prototype to answer
- How to find a clear answer and decision about what to do next
- How to fake it before you make it
- How to go from prototype, to MVP, to full product
- How not to completely screw yourself and end up with bad data

Prototypes are all about doing just enough, by the end of the session attendees will have a clear idea of what just enough is and how they can embrace it!

Speakers
avatar for Ben Hall

Ben Hall

Ben has done the rounds as a tester, developer, speaker, freelancer, startup entrepreneur and most recently working at a startup investment company in London. Ben is currently working on his next venture.


MVP pdf

Thursday November 20, 2014 10:30 - 11:25
1. Alfa

10:30

Gill Cleeren - C# everywhere: creating apps with Xamarin on all mobile platforms (Slides)
C# is hotter than ever. Using Xamarin, we can use C# to not only build our apps on Windows Phone but also on iOS and Android. The magic that sits between are PCLs (Portable Class Libraries) that we can re-use on all these platforms. The goal is of course achieving the highest level of code sharing and re-using.
In this talk, we'll see how we can share code between Windows Phone, iOS and Android to build a cross-platform app using Xamarin. You'll also see how much of the marketing fluff is real: do we really get a lower time-to-market when sharing code and is this approach really cheaper than building 3 apps separately? Come to this talk and learn all about it

Speakers
avatar for Gill Cleeren

Gill Cleeren

Gill Cleeren is Microsoft Regional Director, Client Dev MVP, Pluralsight trainer and Telerik MVP. He lives in Belgium where he works as .NET architect at Ordina. Gill has given numerous sessions, webcasts and trainings on new as well as existing technologies, such as Windows 8, Windows... Read More →



Thursday November 20, 2014 10:30 - 11:25
2. Beta

10:30

Phillip Trelford - Write your own compiler in 24 hours (Slides)
Compiler writers are often seen as the stuff of myth and legend.

In this session we'll step behind the proverbial curtain and reveal how compilers actually work.

Expect plenty of live code samples, primarily in F# and C#, covering language design and parsing, all-the-way through to emitting code.

Speakers
avatar for Phillip Trelford

Phillip Trelford

Phil has been building software using a wide range of technologies for over 20 years with experience in video games, retail, leisure and financial sectors. | He is an active member of the software development community, regularly attending and speaking at user groups and conferences... Read More →



Thursday November 20, 2014 10:30 - 11:25
4. Zeta

10:30

Simonas Serlinskas - How to improve development productivity using Docker (Slides)
Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.
In this talk, I will share our experiences with Docker and how we automated our infrastructure. This talk also presents our infrastructure design that allows developers to test code in a exactly production-like environment, while still minimizing bugs that occur due to mismatch in local and QA/production environment. In addition I will show live presentation how to create simple containers from scratch for local development and how to ship PHP applications in it to the production env.

Speakers
avatar for Simonas Serlinskas

Simonas Serlinskas

Simonas is a team lead at FOXX – NFQ‘s very own e-commerce accelerator that handles endless amounts of data, scales easily and already drives leading German e-shops. Under Simonas‘ leadership, FOXX grew from a side project to a 10-strong team in Vilnius and Kaunas that has already... Read More →



Thursday November 20, 2014 10:30 - 11:25
3. Lambda

11:45

Cedric Pontet - Events at the tip of your fingers (Slides)

Applying DDD+CQRS+ES for mail delivery in an occasionally connected mobile environment.

Have you ever imagined that you could try to implement event sourcing on a mobile device running on Windows Mobile 6 with .NET Compact framework 3.5? Well, me neither until I started this project in which a mail and parcels delivery company asked me to completely re-design the software that their employees use to scan and track the mail and parcels they deliver to customers across the country.

In this talk, I will explain both the business problem that we were trying to solve and the technical issues linked to the fact that our software had to run on an industrial mobile device with very specific hardware and software, had to be fast and reactive so the users where not slowed down in their daily work when in front of a customer, and had to occasionally send its data back to a central server when the device found connectivity so that other depending systems could be updated.

I will show how events really fitted this particular business problem and how designing a system based on events solved many technical issues while enabling simplicity in its implementation.



Speakers
avatar for Cedric Pontent

Cedric Pontent

Cédric is a seasoned Lean and Agile practitioner and a software expert. He started his software engineering career in 2001 in Luxembourg, and began being involved with agility in 2003, when he discovered the Agile Manifesto for the first time. | Since 2005, he has been happily employed... Read More →



Thursday November 20, 2014 11:45 - 12:40
2. Beta

11:45

Eric Evans - Good Design is Imperfect Design (Slides)
Most of us who care about good design have a tendency to slip into perfectionism, and this undermines our goals. Yet expedient choices can also spoil software. The balance is difficult.

Domain driven design (DDD) provides a number of tools, in both the fine grain design and strategic level, to design software that lets you get the benefits that come from modeling and design while accommodating mistakes and early guesses. And I've picked up a new trick or two in recent years.

The outcome of any complex project is unforeseeable, but DDD can improve the odds of ending up with designs that are good, sometimes even great, and never perfect.

Speakers
avatar for Eric Evans

Eric Evans

Eric Evans is the author of “Domain-Driven Design: Tackling Complexity in Software.” Eric now leads Domain Language, a consulting group which coaches and trains teams applying domain-driven design, helping them to make their development work more productive and more valuable to... Read More →



Thursday November 20, 2014 11:45 - 12:40
1. Alfa

11:45

Evelina Gabasova - Analysing social networks with F# (Slides)
Online social media connect us all. How can we use the information that is hidden in our social networks? For example, do you know who is your most influential follower on Twitter?

We will work through the whole social network analysis: from downloading connections using Twitter REST-based API, to implementing our own PageRank algorithm which finds the most central followers. In the process, you’ll learn how F# type providers give an easy access to data from JSON files and much more, and how we can use them to harness the power of the statistical language R to run some machine learning algorithms.

At the end, you’ll know how to run your own social network analysis on Twitter and how to use data science tools to find out more about your followers.

Speakers
avatar for Evelina Gabasova

Evelina Gabasova

Evelina is a machine learning and data science enthusiast. She studied computational statistics and machine learning at University College London and currently she is finishing her PhD at Cambridge University in bioinformatics and statistical genomics. | | Evelina has used many... Read More →



Thursday November 20, 2014 11:45 - 12:40
4. Zeta

11:45

Natalia Chechina - RELEASE Scalable Distributed Erlang (slides)
In this talk we present Scalable Distributed (SD) Erlang - an extension of distributed Erlang functional programming language for reliable scalability. The work is a part of the RELEASE project that aims to improve the scalability of Erlang programming language. We start by providing an overview of the RELEASE project and discussing distributed Erlang limitations. Then we introduce SD Erlang, its design, motivation, and the main two components, i.e. scalable groups and semi-explicit placement. The scalable groups (s_groups) enable scaling the network of Erlang nodes by eliminating transitive connections, i.e. a node may belong to multiple s_groups where each s_group node has transitive connections with the nodes from the same s_groups and non-transitive connections with other nodes. The semi-explicit placement enables to spawn processes on nodes either in a particular s_group, or with particular attributes (e.g. available hardware or software), or with certain parameters (e.g. least load). We’ll also cover the results of the preliminary validation, and SD Erlang operational semantics and its verification. We conclude the talk by providing a brief overview of the ongoing work and future plans.

Speakers
avatar for Natalia Chechina

Natalia Chechina

Natalia Chechina received a PhD degree from Heriot-Watt University, UK in 2011. She is now a Research Associate at the University of Glasgow and leads Scalable Distributed Erlang work package (WP3) in the RELEASE project. The RELEASE project (A High-Level Paradigm for Reliable Large-Scale... Read More →



Thursday November 20, 2014 11:45 - 12:40
3. Lambda

13:40

Howard Chu - LDAP at Lightning Speed (Slides)
The Lightning Memory-Mapped Database was introduced at LDAPCon 2011 and has been enjoying tremendous success in the intervening time. The success of LMDB has led down many different paths:

Use of LMDB eliminated bottlenecks at the database level but revealed the presence of other bottlenecks in the slapd code. Recently a number of these other bottlenecks have also been removed, yielding even greater performance gains.
LMDB has proved to be a superior database engine for many other projects and uses, and its adoption outside the OpenLDAP Project continues to grow.

The talk will cover highlights of the LMDB design, and will discuss some of the internal improvements in slapd due to LMDB, as well as the impact of LMDB on other projects.

Speakers
avatar for Howard Chu

Howard Chu

Howard has been writing Free/Open Source software since the 1980s. His work has spanned a wide range of computing topics, including most of the GNU utilities (gcc, gdb, gmake, etc.), networking protocols and tools, kernel and filesystem drivers, and focused on maximizing the useful... Read More →



Thursday November 20, 2014 13:40 - 14:35
2. Beta

14:55

Juozas Kaziukenas - Making decisions with data (Slides)
So you are gathering gigabytes of data every day, everyone is excited about you being so "big data". But... what you are going to do with it all? Let's look at some of the ways to gain insights from the data you already have and how to use it to make better decisions. Pushing us further towards intelligent machines. By creating software which helps people figure out answers to questions they didn't know they had. If not, then... you should stop storing it, it's not like you are going to use it anyway.

Speakers
avatar for Juozas Kaziukenas

Juozas Kaziukenas

Juozas, or Joe, as everyone calls him, is an experienced and talented (some say) young professional who has worked on many different software projects and has built a few successful startups before. He has dreams to eventually go to space. In a rocket. | | As an entrepreneur at... Read More →



Thursday November 20, 2014 14:55 - 15:50
3. Lambda

14:55

Stefan Poulsen - OSS creates heroes...you can be next!!! (slides)
What drives the heroes of open source projects...is it fame, is it a road to an MVP or something like it, what is the actual drive behind all this hard labor?
In this session we will dig down and have a look at what drives magnificent people in the industry. It's not always for the carrot in front and it sure ain't due to the threat of being beaten with a stick. It might not be for the awesome reference on the CV, but when we have passed through all the obvious reasons standing out we look at the deeper meanings behind our sleepless hours. We all have a great piece of motivation in our mind...we just need to find it.

Speakers
avatar for Stefan Daugaard Poulsen

Stefan Daugaard Poulsen

Stefan is a developer at Ditmer in Denmark. Since he completed his AP in Computer Science in 2003, Stefan has been venturing around in different domains, starting with catalog building on the web than ended as a PDF ready for print. Since that time he has been venturing over GIS... Read More →



Thursday November 20, 2014 14:55 - 15:50
4. Zeta
 
Friday, November 21
 

11:20

Garrett Smith - Drunken Stumble: The Correct Way To Build Software
Tired of Agile? Interested in applying the latest scientific findings
on software construction methods and programmer productivity? Check
out Drunken Stumble!

Drunken Stumble is a method of building software that uses two stages:
a lean, which represents the goal of the programmer or team, and a
stumble, which is series of automatic "next steps". It's a serious
methodology that works.

In this talk Garrett will demonstrate how this simple two stage method
results in better software in less time. Design and architecture give
way to iterative experimentation. He will show that evolutionary
improvements, resulting from "obvious next steps" can lead in time to
revolutionary results - without traditional design speculation that
plagues so many software efforts.

This is not a light-weight talk about velocity or pair programming.
It's a scientific exploration of how brilliant things are created and
how to work within the laws of physics as software programmers. If
you're passionate about creating great software, don't let the title
fool you - Drunken Stumble is a refreshingly sober approach to
software that will make you a better programmer!

Speakers
avatar for Garrett Smith

Garrett Smith

Garrett Smith is senior architect at CloudBees, the Jenkins company. Garrett specializes in distributed systems and reliable software. His programming tool of choice for systems programming is Erlang, a high productivity functional language specializing in concurrency and reliability... Read More →


Friday November 21, 2014 11:20 - 12:15
1. Alfa

11:20

Scott Wlaschin - Functional programming design patterns (Slides)
In object-oriented development, we are all familiar with design patterns such as the Strategy pattern and Decorator pattern, and design principles such as SOLID.

The functional programming community has design patterns and principles as well.

This talk will provide an overview of some of these, and present some demonstrations of FP design in practice.

Speakers
avatar for Scott Wlaschin

Scott Wlaschin

Scott is a .NET developer, architect and author. He has over 20 years experience in a wide variety of areas from high-level UX/UI to low-level database implementations. He is loves learning programming languages, his favorites being Smalltalk. Prolog, Python, and more recently, F... Read More →



Friday November 21, 2014 11:20 - 12:15
2. Beta

13:15

James Nugent - await _all.TheBugs();
The introduction of the async and await keywords in the C# language was a highly visible feature which is now starting to be emulated elsewhere, but has arguably caused many people unfamiliar with what happens underneath to chase themselves round in circles for days, weeks or even months with concurrency concerns. In this talk we'll look through an actual bug in the Event Store .NET client and look at how it interacted with these language features to cause potential deadlocks, and how painful it was to discover. To do this we'll also take a reasonably deep look into the architecture of the Event Store client.

Speakers
avatar for James Nugent

James Nugent

James is a software developer from Bath, England. He works mostly on healthcare systems, travels a lot, and is a conoisseur of cider and old guitars.


Friday November 21, 2014 13:15 - 14:10
4. Zeta

13:15

Kristoffer Deinoff - Internet of Machine Learning
Machine learning is cool. Machine learning combined with Internet of Things or Big Data is even cooler. In this talk I will demonstrate how easy it can be to walk the first mile with machine learning without any prior experience in the fields of mathematics or machine learning. We'll analyze exercise data from several fitness devices combined with historical calendar and weather data, creating desicion trees to try to determine future training schedules and goals.

Speakers
avatar for Kristoffer Rolf Deinoff

Kristoffer Rolf Deinoff

SOFTWARE DEVELOPER
Kristoffer Rolf Deinoff is a software developer, architect, teacher, craftsman,  general enthusiast and devoted geek. He has more than a decades experience working for several companies, from small start-ups and freelance consulting to large international companies and a consulting... Read More →


Friday November 21, 2014 13:15 - 14:10
3. Lambda

14:30

Mathias Verraes - Small Controlled Experiments (Slides)
The project was of to a bad start: an inherited legacy codebase, a waterfall contract, and a projected loss. The promise of Kaizen or Continuous Improvement seemed very appealing. But when we tried to incorporate this into our process, it didn’t catch on. Biweekly retrospectives didn’t seem to expose any problems we could improve upon. The ceremonies we tried, like Deming’s Plan-Do-Check-Act cycles, added too much overhead. We were doing something wrong.

Continuous Improvement implies that you know exactly where to focus your efforts. Like scientists, we started to experiment, without deciding upfront what we expected the outcome to be. The rules? Make every experiment as small as possible. No meetings, no consensus, no cumbersome evaluation process. We let the results speak for themselves. This talk explores the successes and failures of a team that went from survival mode to learning mode over the course of a year.

Speakers
avatar for Mathias Verraes

Mathias Verraes

Mathias Verraes is a recovering music composer turned programmer, consultant, blogger, and speaker. He advises companies on how to build enterprise web applications for complex business domains. For some weird reason, he enjoys working on large legacy projects: the kind where there’s... Read More →



Friday November 21, 2014 14:30 - 15:25
5. Theta

14:30

Randy Shoup - The Importance of Culture - Building and Sustaining Effective Engineering Organizations (Slides)
Through the lens of his personal experience from hands-on engineer to Architect to CTO, at organizations ranging from tiny startups to global giants including eBay, Google and Oracle, Randy will discuss several important aspects of engineering cultures, which both support and hinder the ability to innovate: hiring and retention, ownership and collaboration, quality and discipline, and learning and experimentation.

Randy will suggest some learnings about what has worked well – and what has not – in creating and sustaining an effective engineering culture. He will further offer some concrete suggestions on how other organizations – both large and small – can evolve their cultures as well.

Speakers
avatar for Randy Shoup

Randy Shoup

Randy Shoup is the Chief Technology Officer at KIXEYE, making awesome games scalabler and reliabler. Previously, he was Director of Engineering at Google, leading several teams building Google App Engine, the world’s largest Platform as a Service. Prior to Google, he spent 6 1/2... Read More →



Friday November 21, 2014 14:30 - 15:25
1. Alfa

14:30

Szymon Pobiega - Using domain driven approach to build a bitcoin brokerage
A case study based on a project which goal was to build a system that would bring the possibility of investing in bitcoins to the masses without making trade-offs around security.
Strategic domain-driven design was used to determine which parts of the system need to be custom built and which can be implemented using a cloud ERP offering. Context mapping techniques allowed narrowing and simplifying the problem of data synchronization between the systems. The fact that domain experts happened to be the C-level execs helped a lot.
Iterative modelling techniques were used to explore the domain and nail down requirements. During the course of the project the model became more and more sophisticated, accommodating new requirements such as order batching and netting and fully cold (paper) bitcoin storage facility. Tactical DDD patterns such as Value Object, Aggregate as well as good software development practices allowed making substantial model changes without fear of breaking everything (refactoring towards deeper insight).
Simple event-driven architecture provided the necessary glue to build complex business processes (such as batch order processing) out of small blocks (commands).

Speakers
avatar for Szymon Pobiega

Szymon Pobiega

Szymon Pobiega is a principal consultant working for Infusion. If there was any agreement on what does it mean to be a software architect, Szymon would probably call himself one. Szymon enjoys building software in all the stages of the development lifecycle, from creating a vision... Read More →


Friday November 21, 2014 14:30 - 15:25
3. Lambda

14:30

[SLIDES] Sebastien Lambla - When agile goes bad
With applying agile methodologies comes changes in many aspects of delivering software. And with any change will come a time when something fails. Come enjoy a light hearted case study of the worst nightmares of any agile practitioner. Only one question will remain: fight, or flight?

Speakers
avatar for Sebastien Lambla

Sebastien Lambla

Sebastien Lambla runs Caffeine IT, a London consultancy helping the good people of the world adopt new technologies, new processes, new methodologies and in general anything that’s new and shiny. Specializing in cutting-edge tools, from REST architectures to occasionally connected... Read More →



Friday November 21, 2014 14:30 - 15:25
4. Zeta

15:45

Amanda Laucher - Type Systems For The Rest Of Us
Now that most people get the fundamental ideas of Functional Programming, it's time to start talking about type safety. What does it mean? What's it good for? How can you take advantage of it. What does it mean for a language to have a good one or a bad one? What are the downsides to statically checked languages? How do you read type signatures? You don't have to be a mathematics genius, you just have to be able to think a bit abstractly. The good news is that you already do, or you wouldn't be at a developer conference. This talk will allow you to better understand what the type zealots are talking about and perhaps make better use of the languages that you are already using. It may also show you the upsides of using a new language or one you have already thrown away.  

Speakers
avatar for Amanda Laucher

Amanda Laucher

Amanda Laucher (@pandamonial) has been working with technology her entire life. Some of her favorite childhood memories include working with punch cards alongside her grandmother or learning Morse code from her dad. Solving complex business problems with code is her passion, mostly... Read More →


Friday November 21, 2014 15:45 - 16:40
2. Beta

15:45

Matthew Podwysocki - Promises, the 1 billion dollar mistake
On a fateful day back in 2013, Promises were adopted by TC39 as a standard for asynchronous programming in JavaScript, much to the delight of web programmers, but to the chagrin of Node.js developers. This approach has a few downsides such as the non-inclusion of things such as cancellation into the base specification.

Instead, we'll look at Observables as a solution to this problem which will not only fix the asynchronous problem, but also the event-based and other systems, all with the ability to cancel and have deterministic cleanup.

Speakers
avatar for Matthew Podwysocki

Matthew Podwysocki

Matthew Podwysocki is a Software Engineer and Open Sourcerer at Microsoft. Currently, he works on the Reactive Extensions for all languages including C#, JavaScript, Python, Ruby and C++. He is a popular speaker, podcaster, and conference organizer of such conferences as RobotsConf... Read More →


Friday November 21, 2014 15:45 - 16:40
1. Alfa