Loading…
Build Stuff has ended
Schedule
Monday, December 9
 

8:30am EET

Registration
Monday December 9, 2013 8:30am - 9:00am EET
Hall 5.1

9:00am EET

Welcome talk
Monday December 9, 2013 9:00am - 9:10am EET
Hall 5.1

9:00am EET

Adform Open Space -- Lego Mindstorms tournament
If you love Robots as much as we do, come and join our Lego Mindstorms tournament! Everyday we’ll gather in 4 teams to build and program robot during the daytime and prepare for the race in the evening. For the first 2 days teams will have to pass qualification and the winners will compete in the finals on the last Conference day. Be ready to build the smartest, fastest, funniest and agile Robot!

Sponsors
avatar for Adform

Adform

Adform is a web-based advertising platform used throughout Europe. Buying, serving and tracking many billion ads every day in real-time give peak loads of well over 200.000 QPS – with each single transaction requires database access and decision-making in milliseconds. The challenges... Read More →



Monday December 9, 2013 9:00am - 5:00pm EET
Open space

9:10am EET

Pieter Hintjens--Keynote:Building Stuff Changes Everything
Our business is making stuff, changing the world in a trillion tiny
steps. Yet how often do we stop and think about the impact? Entire
empires were built on the assumption of costly technology. From
sending telegraphs, distributing music, to running newspapers and TV
stations, expensive communications has made many people very wealthy.
And we've made this dirt cheap over the years, so cheap that I can
start a TV station from my mobile phone. There are already over two
billion people with smartphones, and five billion more with older
phones, waiting their turn.

Human society is becoming one, connected in real time, over the whole
planet. It is a shocking historical moment, one our parents could not
dream of, and our children will take for granted. Ten billion minds
will come online, and join together in a chaotic, noisy, yet connected
global society. If there is ever a way to solve the old problems of
poverty, hunger, disease, and war, this is it. If you believe, as I
do, in our power to work together to solve difficult challenges, the
digital revolution must fill you with joy and wonder.

And yet, as this wondrous experiment in cheap communications explodes,
it is making some powerful people extremely nervous, angry, and
hostile. New business deflates old money. New media says what the
established media cannot. New wisdoms threaten old narratives. New
power threatens old political agreements. Global digital society has
moved past "amusing experiment" into "clear and present danger", and
the response that is coming will be harsh.

This is partly our mess, as technologists, since we decided it would
be fun to hook computers together over phone lines to discuss cats and
send ASCII art. We started this, by convincing businesses to invest in
the Internet and the Web. We kept buying shiny new gadgets and writing
amazing new software, not realizing that we were starting a digital
revolution that would involve billions of people. We didn't realize
that the Internet we built would turn into an all seeing, all hearing
policeman. My dad refused for fifteen years to use the Internet,
saying "I don't trust that stuff," and recently I had to tell him, you
were right.

As technologists, we can at least try to fix this bit of a mess. I'll
explain a few ideas, I'm sure you have your own. Let's make stuff and
also think about making a better world, on the way.

Speakers
avatar for Pieter Hintjens

Pieter Hintjens

Pieter Hintjens is a writer, hacker, and public speaker who has spent decades building large software systems and on-line communities. He is an expert in distributed computing, having written many protocols and distributed software systems. He founded the ZeroMQ free software project... Read More →


Monday December 9, 2013 9:10am - 10:10am EET
Hall 5.1

10:10am EET

Coffee/Tea Break
Coffee/Tea Break

Monday December 9, 2013 10:10am - 10:30am EET
Hall 5.1

10:30am EET

(SLIDES) Pawel Brodzinski --Effective Teams
What pictures do we have in our minds when we think about effective software development? Code quality, continuous integration, automated testing or what have you. While I’m a big fan of all of them I would challenge the concept that these are the only, or the most important, areas which software developers or quality engineers should focus on.
Building software is a collective effort of people working in different roles and this should always be a starting point to a discussion about effectiveness. The missing piece may be craftsmanship but it may also be poor communication or handful of dull chores that few would fancy doing. How can we tell? What should we use as guidance? And, at the end of the day, how to build software effectively?
It all starts with learning what makes a team effective as the notion of effectiveness we have is usually flawed. Understanding how the work gets done end-to-end is often a missing piece as well and even an effective team doesn’t stand a chance against dysfunctional process.
The session will discuss the traits of effective teams as well as show how to use elements of Kanban to improve efficiency of software development teams. Surprisingly enough it has pretty little to do with engineering issues.

Speakers
avatar for Pawel Brodzinski

Pawel Brodzinski

Pawel Brodzinski is a leader, a team builder and a change agent, but most of all he is an always experimenting practitioner trying to make his teams work better (and learn in the process). Pawel is well-recognized public speaker and blogger sharing his thoughts about software project... Read More →



Monday December 9, 2013 10:30am - 11:25am EET
Hall 5.5

10:30am EET

(SLIDES) Clemens Vasters--Smart Products, M2M, IoT -- Do I Care?
Yes, you should. The Machine-To-Machine communication space, nicknamed “Internet of Things” is climbing up the hill on the hype-cycle curve. Fast. The reason you should care is that the operational technology for things – sensors, servos, vehicles, planes, toasters, and steel plants – and information technology are converging and that YOU are an expert in at least one of those two fields. In this session, Clemens Vasters from the Windows Azure team at Microsoft is going to provide an overview on what’s going on in M2M and will, in the spirit of building stuff, also bring some toys.

Speakers
avatar for Clemens Vasters

Clemens Vasters

Clemens Vasters is Principal Technical Lead in the Windows Azure Mobile Workload team that owns Service Bus, Mobile Services, and MSMQ where he drives technical strategy and direction of this feature area of Windows Azure. He has been part of the Service Bus team since the earliest... Read More →



Monday December 9, 2013 10:30am - 11:25am EET
Hall 5.1

10:30am EET

(SLIDES) Paul Stack--Windows: Having its ass kicked by Puppet and PowerShell since 2012.
Unix environments have fantastic tools like puppet, chef, vagrant and many others in order to eradicate the need for manual server configuaration environments. Windows was left behind when these fantastic tools were being developed. PowerShell is now emerging as the tool for Windows administrators and the tool to unite developers and operations staff in managing environments and deployments. Can PowerShell help to bring the devops culture to the Windows development world? In this session, I will demonstrate how PowerShell has become a tool necessary to know when working on a windows environment. The talk will demonstrate how to configure a Windows server with only an operating system on it. The session will also demonstrate how development environments can be built in a fraction of the time using some open source tools and PowerShell. No need to maintain desktop images any more, PowerShell is fast becoming a rockstar of the Windows configuration world. Since Puppet added support for Windows, we can really use PowerShell to kick windows into submission when managing environments.

Speakers
avatar for Paul Stack

Paul Stack

Paul Stack is a London based developer working for OpenTable. Paul has spoken at various events throughout the world about his passion for continuous integration and continuous delivery and why they should be part of what developers do on a day to day basis. He believes that reliably... Read More →



Monday December 9, 2013 10:30am - 11:25am EET
Hall 5.3

10:30am EET

(SLIDES) Robert Pickering --Expression Oriented Programming with F#
In this session we’ll take a deep look at some of the basics of programming: expressions, statements, scope and how we represent data. We’ll look at these concepts to through the lens of a functional programmer to see how this, contrasts to the way an Object Oriented programmer might do things. We’ll look at how these ideas effect application architecture both “in the large” and “in the small”. “In the large” meaning overall system design and “in the small” meaning design of individual classes, methods and functions.Once we’ve examined the basics, we’ll go on to take a look at one of the biggest problems faced by software developers: complexity. We’ll see how complexity can either be accidental or essential. We’ll see how expression oriented programming can help us avoid accidental complexity and help us crawl out of the tar pit.The examples will see will use F#, but the ideas will be applicable to any language that encourages the use of expressions rather than statements.

Speakers
avatar for Robert Pickering

Robert Pickering

Robert Pickering is a fun loving programmer who claims that he is Falling Outside The Normal Moral Constraints. He enjoys travelling round Europe in a big shirt trying to teach people that real programmers use the stack. Robert is a big fan of functional programming, F# and enjoys... Read More →



Monday December 9, 2013 10:30am - 11:25am EET
Hall 5.4

10:30am EET

(SLIDES) Tomas Patricek -- Doing data science with F#

The ability to take data, understand it, visualize it and extract useful information from it is becoming a hugely important skill. How can you turn all those logs, histories of purchases and trades or open government data, into useful information that help your business make money?

In this talk, we’ll look at doing data science using F#. The F# language is perfectly suited for this task – type providers integrate external data directly into the language – your language suddenly _understands_ CSV, XML, JSON, REST services and other sources. The interactive development style makes it easy to explore data and test your algorithms as you’re writing them. Rich set of libraries for working with data frames, time series and for visualization gives you all the tools you need. And finally – F# easily integrates with statistical environments like R and Matlab, giving you access to the industry standard libraries.



Speakers
avatar for Tomas Petricek

Tomas Petricek

Tomas is a long-time F# enthusiast, Microsoft MVP and author of a book Real-World Functional Programming (http://manning.com/petricek). He leads functional programming and F# courses in London and New York and contributed to the development of F# as an intern and contractor at Microsoft... Read More →


Monday December 9, 2013 10:30am - 11:25am EET
Hall 5.2

11:40am EET

(SLIDES) Johannes Brodwall--Remote Pair Programming
Can you maintain agile engineering practices with a distributed team?Johannes is the Oslo based Chief Scientist for the Sri Lanka based company Exilesoft. In order to promote agile engineering practices, he uses remote pair programming to connect with teams halfway across the world.In this talk, we will go through a practical approach for remote pair programming adopted for high-latency situations. We will demonstrate remote pair programming with a live example and we will discuss the advantages and usages of the approach.After seeing this talk, the audience should be able to remotely pair with members of their distributed team. They will also get a lot of tips on how to use pair programming effectively in both local and remote settings.

Speakers
avatar for Johannes Brodwall

Johannes Brodwall

Johanes Brodwall is covered Extreme Programming more than ten years ago and has been trying to put Agile practices into his programming work since. He works as Chief Scientist for Exilesoft, an Agile offshoring provider, where he pair programs and pair architects locally and remotely... Read More →



Monday December 9, 2013 11:40am - 12:35pm EET
Hall 5.4

11:40am EET

(SLIDES) Magnus Martenson--Cloud is the new Black... and all that Jazz!
In this session join a true Cloud enthusiast in pondering the opportunities in the Cloud. Let’s talk about what makes the Cloud unique compared to non-cloud predecessors. We will look at the nature of Cloud Computing – service oriented with a focus on statelessness, low coupling, modularity and semantic interoperability. How does this relate to the Modern App? How do I get going if I’m not a ‘Cloud enabled Developer’ today and is this urgent? We’ll talk about how to embrace the change. The session will underline the concepts with demos of services in the Windows Azure Platform.


Speakers
avatar for Magnus Mårtensson

Magnus Mårtensson

Magnus has a burning passion for technology and for sharing knowledge with others. His work as a consultant, tutor, international presenter, process coach and technical lead focuses on all things Cloudy. Magnus became the first Windows Azure MVP in Scandinavia in 2012. He... Read More →



Monday December 9, 2013 11:40am - 12:35pm EET
Hall 5.3

11:40am EET

(SLIDES) Mantas Klasavičius--Infrastructure as Code, in real life
Now developers deploy changes to production multiple times a day. In order to enable developers to go faster from development to production it is important that infrastructure would be reliable and what is even more important predictable. That’s where Infrastructure as code and tools like puppet, chef and cfengine kicks in. Last year I talked about metrics and how creating metrics enables developers to understand infrastructure on which applications run. Now understanding is not enough, you need to create infrastructure your application requires.  I will talk about what tools and what approach we took with tools like puppet, hiera, puppetdb, foreman and proxmox to enable developers create and manage environments from development to production in predictable and repeatable way. How we do this in mixed Linux and Windows (I will complement Paul’s presentation with our rich experience while configuring windows, MS SQL and IIS with puppet)  environment. How beside advantages like repeatability, predictability we start seeing the line between applications and infrastructure started to blur. I will cover lessons we learned dealing with different OS’es, puppet modules and code patterns. Also I won’t forget metrics and will describe how collecting/configuring metrics changes in automatically managed environment.  

Speakers
avatar for Mantas Klasavičius

Mantas Klasavičius

Mantas is an infrastructure architect at Adform company. Has over 10 years of experience with background in Windows, Linux and networks administration. Currently he is working with developers helping to reveal all beauty of monitoring, configuration management and other DevOps pr... Read More →



Monday December 9, 2013 11:40am - 12:35pm EET
Hall 5.5

11:40am EET

(SLIDES) John Hughes--Testing the Hard Stuff and Staying Sane

Even the best test suites can't entirely prevent nasty surprises: race conditions, unexpected interactions, faults in distributed protocols and so on, still slip past them into production. Yet writing even more tests of the same kind quickly runs into diminishing returns. I'll talk about new automated techniques that can dramatically improve your testing, letting you focus on what your code should do, rather than which cases should be tested--with plenty of war stories from the likes of Ericsson, Volvo Cars, and Basho Technologies, to show how these new techniques really enable us to nail the hard stuff.


Speakers
avatar for John Hughes

John Hughes

John Hughes has been a functional programming enthusiast for more than thirty years, at the Universities of Oxford, Glasgow, and since 1992 Chalmers University in Gothenburg, Sweden. He served on the Haskell design committee, co-chairing the committee for Haskell 98, and is the author... Read More →



Monday December 9, 2013 11:40am - 12:35pm EET
Hall 5.1

11:40am EET

(SLIDES) Greg Young--Event Store for Web Applications
The Event Store has found many interesting uses aside from being an Event Store. This talk will take a look at some of these other usages and some possibly unexpected use cases of where it can be useful.


Monday December 9, 2013 11:40am - 12:35pm EET
Hall 5.2

12:35pm EET

LUNCH
Monday December 9, 2013 12:35pm - 1:35pm EET
Hall 5.1

1:35pm EET

(SLIDES) Alberto Brandolini--Model Storming
Building a software system is in fact a learning process. Unfortunately we don’t know much about learning even if we’ve been doing it for all our lives. A different approach on discovery of domain complexity could help our teams to understand, frame and master the problem and solution space, enhancing collaboration with the domain experts and the stakeholders and bringing some fun.

This implies breaking some rules and assumptions, doing something unconventional, and occasionally feeling stupid. Are you ready for it?

Speakers
avatar for Alberto Brandolini

Alberto Brandolini

A 360° consultant in the Information Technology field. Asserting that problems cannot be solved with the same mindset that originated them, Alberto switches perspective frequently assuming the architect, mentor, coach, manager or developer point of view. He’s a frequent speaker... Read More →


Monday December 9, 2013 1:35pm - 2:30pm EET
Hall 5.2

1:35pm EET

(SLIDES) Maarten Balliauw--Windows Azure Web Sites – things they don’t teach kids in school
Microsoft has a cloud platform which runs .NET, NodeJS and PHP. All 101 talks out there will show you the same: it’s easy to deploy, it scales out on demand and it runs WordPress. Great! But what about doing real things? In this session, we’ll explore the things they don’t teach kids in school. How about trying to find out the architecture of this platform? What about the different deployment options for Windows Azure Web Sites, the development flow and some awesome things you can do with the command line tools? Did you know you can modify the automated build process? Join me in this exploration of some lesser known techniques of the platform.


Monday December 9, 2013 1:35pm - 2:30pm EET
Hall 5.5

1:35pm EET

(SLIDES) Sergejus Barinovas--True Story of Continuous Happiness by Continuous Delivery
Please come and learn challenges, failures and actual steps required to move your organization to continuous delivery and as follows - continuous happiness.

Speakers
avatar for Sergejus Barinovas

Sergejus Barinovas

Sergejus is an Architect at Adform, focusing on Scalable Architecture and Cloud Services. He is often speaker at various IT conferences, active community member, blogger, podcaster, Lithuanian .NET User Group lead and Microsoft Most Valuable Professional (MVP). Sergejus is... Read More →



Monday December 9, 2013 1:35pm - 2:30pm EET
Hall 5.4

1:35pm EET

(SLIDES) Bodil Stokke--Build Your Own Lisp for Great Justice
Implementing a toy Lisp interpreter is practically a rite of passage for the budding computer scientist. This hallowed tradition is described in detail in "Lisp in Small Pieces," the seminal work on the making of Lisps, but everybody loves a tl;dr, so let's do the 40 minute executive summary.
We'll charge at high speed through the following topics, with Clojure code to follow along with as we go (because there's no better language for implementing a Lisp than another Lisp):
* Parsing: turning text files into ASTs
* Fundamental Lisp datatypes
* McCarthy's elementary functions
* Evaluating Lisp code
* Lambdas and lexical scope
* Your friend, the state monad
* Beyond Lisp: pattern matching and type systems
When we're done, you'll be ready to go forth and fill the world with Lisps of all shapes, colours and Greenspun violations for Great Justice. Also, it'll be good fun.

Speakers
avatar for Bodil Stokke

Bodil Stokke

Bodil is a compulsive conference speaker in the fields of functional programming and internets technologies, and is a co-organiser of three annual developer conferences in her home town of Oslo, Norway, mostly because she’s still learning how to stop. She is a prolific contributor... Read More →


Monday December 9, 2013 1:35pm - 2:30pm EET
Hall 5.1

1:35pm EET

(SLIDES) Pavlo Baron--What (near-) realtime analytics mean for technology choice
In the modern world, the speed of making decisions and predicting trends based on data is becoming essential. Beating competitors through savvy near-realtime analytics, deriving automatic actions or decision options from massive, never-ending streams of data will become more and more important in the very near future. Sensors, web behaviour and traffic, mobile applications, internet of things are just a few examples of where such data can come from. Data like this needs to be taken in with adequate speed, reliability and scalability. Then, this data needs to be analysed, aggregated and eventually enriched. After that, a fast analysis needs to be done for ad-hoc decisions and actions. Further, this data needs to be reliably stored and quickly retrieved for different comparisons and long-term-predictions and exploratory analysis. All this reveals a huge challenge to technology. It's too easy these days - due to the massive choice and short time-to-market - to make a wrong technological decision which will influence the success of the solution and thus lead to the promise of continuous, fast decision making and automatic actions based on data not to be kept. Streaming technologies, vertical vs. horizontal grow, cascading, pipelining and aggregation, in-memory-processing, reliable storage, fast retrieval and not to forget the analytical complexity have to be considered when building such a solution. And it's always good to have a minimal, yet powerful abstraction and a good alternative for any of these technology-chain members. In this talk I will go through the topic and give the audience advice to which approaches and tools to use, how well they fit into the landscape of near-realtime analytics, rapid decision making and action automation based on massive data streams.

Speakers
avatar for Pavlo Baron

Pavlo Baron

Pavlo tames the data bear. Well, he tries to. But sometimes you eat the bear, and sometimes the bear eats you. Trying to come close enough to the bear, Pavlo has tried a vast variety of approaches, languages, platforms and technologies. Right now, he believes that math, asynchronous... Read More →


Monday December 9, 2013 1:35pm - 2:30pm EET
Hall 5.3

2:45pm EET

(SLIDES) Aras Pranckevičius--Lightweight Chaos development model for distributed teams
What kind of development model or process do you use, when everyone dislikes processes? More so, how do you do that when the team is very distributed, working from offices or homes at dozens of places around the world? How do you let people just do thework, instead of worrying about reports, meetings or hierarchies?
I don't know the answer, but I do know what has (and has not) worked at Unity Technologies, all the way from 3 to 100+ developers. We don't have a name for our process, but it is fairly chaotic, random and always changing; with a goal of "as little rules as possible". Hence, Lightweight Chaos could be a name.

Moderators
avatar for Aras Pranckevičius

Aras Pranckevičius

Aras is one of the first employees of Unity Technologies (makers of arguably the most popular gaming engine), mostly working on computer graphics or otherwise causing trouble. He has seen the company grow from 3 to 300+ people, has been making computers do shiny realtime pixels since... Read More →


Monday December 9, 2013 2:45pm - 3:40pm EET
Hall 5.5

2:45pm EET

Mark Rendle--Building Zudio
Earlier this year, Mark launched Zudio, a web-based application for managing your Azure Storage. Zudio runs on Azure Web Sites in six data-centres, with worker roles processing background tasks. In this talk, Mark will share some things he’s learned about along the road, including:
Architecting a single application as lots of small sites instead of one big one
Using TypeScript to cope with the demands of a large application
The new shiny version 2.1 of Windows Azure Storage SDK for .NET
Some things that are coming to Azure soon (NDA permitting)
What Azure can and can't do, and how to fill the gaps

Speakers
avatar for Mark Rendle

Mark Rendle

Mark is the founder and CTO of Oort Corporation, a software- as-a-service company specializing in cloud-based tools for cloud-based developers. Oort’s first product, Zudio, is a storage toolkit for Windows Azure storage, and launched this year. Before starting Oort, Mark developed... Read More →


Monday December 9, 2013 2:45pm - 3:40pm EET
Hall 5.4

2:45pm EET

(SLIDES) Paul Stack--Vagrant, the ability to think about production deployments from day 1 of development
Traditionally, developers would write their applications without any thought as to what system it was going to be deployed on in production. It was also very difficult for them to understand how their software would react when releasing it into a production environment as they didn't really understand how that environment was configured. What if there was a way that developers could create the scripts needed to install dependencies and get the software running as it is developed? Vagrant does exactly this, it is a tool to create and configure lightweight, reproducible, and portable development environments. In this session, I will show you how to create a development work flow that will allow developers to use Vagrant to create a real continuous delivery pipeline. This means understanding the environment needs as well as what is needed to run the software.In this session I will demonstrate how to start with an ASP.NET MVC application and have the ability to create an Ubuntu environment to run this in production as well as how to run the same application in a Windows environment. I will also show how we, at OpenTable, integrate Vagrant into our pipeline to allow us to create a good acceptance testing environment against known data sets rather than having brittle test.

Speakers
avatar for Paul Stack

Paul Stack

Paul Stack is a London based developer working for OpenTable. Paul has spoken at various events throughout the world about his passion for continuous integration and continuous delivery and why they should be part of what developers do on a day to day basis. He believes that reliably... Read More →



Monday December 9, 2013 2:45pm - 3:40pm EET
Hall 5.3

2:45pm EET

(SLIDES) Felienne Hermans-- Building a language for spreadsheet refactoring
Spreadsheets are code too! You have constants, variable, functions and conditional statements, everything you need to build anything you want. If you really want it, you can even built a Turing machine with Excel. So if spreadsheets are code, can we also analyze, test and refactor them? Felienne thinks so. In this talk, she discusses her latest spreadsheet tool: BumbleBee. BumbleBee allows users to refactor and even metaprogram their spreadsheet. For this, Felienne designed a language in which the transformations can be described and built a pattern matcher in F# to transform spreadsheet formulas. 

Speakers
avatar for Felienne Hermans

Felienne Hermans

Felienne Hermans is a computer scientist who builds stuff. During her PhD project, she researched the applicability of clone and smell detection to spreadsheets, and founded a spin off based on this idea. Now a professor, she continues her mission to improve spreadsheets in th... Read More →



Monday December 9, 2013 2:45pm - 3:40pm EET
Hall 5.1

2:45pm EET

(SLIDES) M. Brandewinder--F# and Machine Learning: a winning combination

While Machine Learning practitioners routinely use a wide range of tools and languages, C# is conspicuously absent from that arsenal. Is .NET inadequate for Machine Learning?  In this talk, I'll argue that it can be a great fit, as long as you use the right language for the job, namely F#.

F# is a functional-first language, with a concise and expressive syntax that will feel familiar to data scientists used to Python or Matlab. It combines the performance and maintainability benefits of statically typed languages, with the flexibility of Type Providers, a unique mechanism that enables seamless consumption of virtually any data source. And as a first-class .NET citizen, it interops smoothly with C#. So if you are interested in a language that can handle both flexible data exploration and the pressure of a real production system, come check out what F# has to offer!



Speakers
avatar for Mathias Brandewinder

Mathias Brandewinder

Mathias Brandewinder has been writing software for about 10 years, primarily in C# until he fell in love with F# and functional programming. He enjoys arguing about code and how to make it better, and gets very excited when discussing TDD or F#. His other professional interests are... Read More →



Monday December 9, 2013 2:45pm - 3:40pm EET
Hall 5.2

3:40pm EET

Coffee/Tea Break
Coffee/Tea Break

Monday December 9, 2013 3:40pm - 4:00pm EET
Hall 5.1

4:00pm EET

(SLIDES) Tom Gilb--Keynote: Agility is the Tool, Not the Master
• What is Stakeholder Value?
• How doe Stakholder value Relate to Business benefits?
• How does IT System Quality related to Stakeholder values?
• What Does Scrum Do About this? Why is Scum Inadequate
• What New Front End Do We need for Scum – or any Agile Variant?
• 10 Principles For Agile Value Delivery (Main points in Talk)
• My Values for Agile value delivery

Speakers
avatar for Tom Gilb

Tom Gilb

Tom is the author of nine published books, and hundreds of papers on Agile and related subjects. His latest book ‘Competitive Engineering’ (CE) is a detailed handbook on the standards for the 'Evo' (Evolutionary) Agile Method, and also for Agile Spec QC. The CE book also, uniquely... Read More →



Monday December 9, 2013 4:00pm - 5:00pm EET
Hall 5.1
 
Tuesday, December 10
 

8:30am EET

Arrival
Tuesday December 10, 2013 8:30am - 9:00am EET
Hall 5.1

9:00am EET

Welcome talk
Tuesday December 10, 2013 9:00am - 9:10am EET
Hall 5.1

9:00am EET

Adform Open Space -- Lego Mindstorms tournament
If you love Robots as much as we do, come and join our Lego Mindstorms tournament! Everyday we’ll gather in 4 teams to build and program robot during the daytime and prepare for the race in the evening. For the first 2 days teams will have to pass qualification and the winners will compete in the finals on the last Conference day. Be ready to build the smartest, fastest, funniest and agile Robot!

Sponsors
avatar for Adform

Adform

Adform is a web-based advertising platform used throughout Europe. Buying, serving and tracking many billion ads every day in real-time give peak loads of well over 200.000 QPS – with each single transaction requires database access and decision-making in milliseconds. The challenges... Read More →



Tuesday December 10, 2013 9:00am - 5:00pm EET
Open space

9:10am EET

(SLIDES) Keynote: Kristian von Bengtson--The ride into space
Kristian von Bengtson is an aerospace architect with a master’s degree in architecture and space science. His passion for industrial design and space led him to work with NASA during several occasions before he co-founded Copenhagen Suborbitals – a nonprofit, open source manned space program in Denmark.

Kristian von Bengtson is also a science blogger for Wired.com and appears regularly on Danish National radio on matters related to culture, entrepreneurship and politics. 

Even though working with off the shelf products and a low cost budget, Copenhagen Suborbitals has managed to show a remarkable amount of results and launches and is still aiming for a manned launch – on a rocket build by a team of non-paid and dedicated people in an abandoned ship yard, downtown Copenhagen.

At the Build Stuff conference Kristian will be giving an inspiring and fun talk about the technical challenges of Copenhagen Suborbitals as well debating the nonprofit and open source approach aspects mixed with political and legal loop holes to keep an amateur space program on track.

Join the ride into space…

Speakers
avatar for Kristian von Bengtson

Kristian von Bengtson

Kristian has been working for more than 10 years as an architect on human space flight systems. Together with Peter Madsen, he founded a non-profit suborbital space endeavor in Copenhagen. Their mission is to launch human beings into space on privately built rockets and spacecraft... Read More →


CS ppt

Tuesday December 10, 2013 9:10am - 10:10am EET
Hall 5.1

10:10am EET

Coffee/Tea Break
Coffee/Tea Break

Tuesday December 10, 2013 10:10am - 10:30am EET
Hall 5.1

10:30am EET

(SLIDES) Karianne Berg--Structured refactoring
"I really hope that refactoring becomes popular again. Many people nowadays seem to think that refactoring is a set of menu items in the IDE, but it's really much more than that."

-- Michael Feathers, Roots 2011

Have you ever got yourself into a refactoring that you thought would be simple, but that you struggled with for hours before you finally had to give up and revert all your changes? Or seen that the current design of your application doesn't really work with the piece of functionality you're about to implement, but hacked yourself around it because the alternative would be hours, or even days, of code that doesn't work and tests that won't run? It doesn't need to be like that.

With the help of structured refactoring strategies, it is possible to improve the design of your code base one piece at the time. Good refactoring skills is a prerequisite for maintaining a design that evolves in the same pace as we learn of our application domain and the environment it runs in. This presentation will show you strategies that removes some of the pain of refactoring, at the same time as you can keep the tests green and the code workable most of the time.

Level: Intermediate. Viewers are expected to have a working knowledge of basic object oriented design, basic design patterns and smaller refactorings.

Speakers
avatar for Karianne Berg

Karianne Berg

Karianne Berg lives and works in Bergen, Norway as a Ruby and Java developer for the media company Vimond (www.vimond.com). She loves contributing to the development community, both on and off stage. She organizes the Booster conference (www.boosterconf.no) in Bergen, Norway, and... Read More →



Tuesday December 10, 2013 10:30am - 11:25am EET
Hall 5.4

10:30am EET

(SLIDES) Kevin Hammond--ParaForming: Forming Parallel (Functional) Programs using Advanced Refactoring Techniques
Despite Moore's "law", uniprocessor clock speeds have now stalled. Rather than single processors running at ever higher clock speeds, it is
common to find dual-, quad- or even hexa-core processors, even in consumer laptops and desktops. Haswell, Intel's forthcoming multicore architecture, will have eight cores by default. Future hardware will not be slightly parallel, however, as in today's multicore systems, but will be massively parallel, with manycore and perhaps even megacore systems
becoming mainstream. This means that programmers need to start thinking parallel. To achieve this they must move awayfrom traditional programming models where parallelism is a
bolted-on afterthought. Rather, programmers must use languages where parallelism is deeply embedded into the programming model from the outset.

By providing a high level model of computation, without explicit ordering of computations,
declarative languages in general, and functional languages in particular, offer many advantages for parallel programming.
ParaForming aims to radically improve the process of parallelising purely functional programs through a comprehensive set of high-level parallel refactoring patterns for Parallel Haskell, supported by advanced refactoring tools. By matching parallel design patterns with appropriate algorithmic skeletons
using advanced software refactoring techniques and novel cost information, we will bridge the gap between fully automatic and fully explicit approaches to parallelisation, helping programmers "think parallel" in a systematic, guided way. This talk introduces the ParaForming approach, gives some examples and shows how effective parallel programs can be developed in Erlang (and C++) using advanced refactoring technology.

Speakers
avatar for Kevin Hammond

Kevin Hammond

Kevin Hammond is Professor in Computer Science, in the School of Computer Science, at the University of St. Andrews, St. Andrews, Scotland. He leads the Functional Programming research group. Kevin is also an Honorary Professor at Heriot-Watt University, Edinburgh, Scotland. The main... Read More →



Tuesday December 10, 2013 10:30am - 11:25am EET
Hall 5.1

10:30am EET

(SLIDES) Torben Hoffmann--Game of Threads - You Spawn or You Die
Talk is about how to program parallel things in a novel way - not directly GPU acceleration, but much cooler!

Speakers
avatar for Torben Hoffmann

Torben Hoffmann

Torben Hoffmann is Product & Research Manager for Erlang Solutions. He has been active in the Erlang community for several years and has spoken at conferences world-wide. His first big Erlang related project was the introduction of Erlang as a technology to write a gateway in for... Read More →



Tuesday December 10, 2013 10:30am - 11:25am EET
Hall 5.2

10:30am EET

(SLIDES) Dmytro Mindra--The tools we’ve built to test a game engine
When you are developing a cross platform game engine used by more than 2 millions of game developers worldwide, you should be using the best tools available. If we can’t find the right tool, we forge it. We are the Toolsmiths. We build the tools for test automation.

This talk is about the tools we build and the approaches we use to deliver top quality game engine to the market.

The topics that are covered in this talk:
Unit Testsing and Test automation
Unity Runtime Test Framework
Continuous Integration
Game Test Framework
Performance Tests

The purpose of this talk is to share our experience with everyone who is interested in Test Automation tools and practices.

Speakers
avatar for Dmytro Mindra

Dmytro Mindra

Dmytro has been developing commercial software for almost a decade, and he has an in-depth knowledge of software development practices and techniques. In his own words: “Programming is my hobby, my profession, my calling, my art. It is the world without boundaries, without physical... Read More →



Tuesday December 10, 2013 10:30am - 11:25am EET
Hall 5.3

10:30am EET

Robert Pickering--Making Music With Undertone and F#
In this tutorial you will work with Undertone to create music programmatically in F#. You will first learn how to create and visualise individual notes, learning how different shape waves make different sounds and how sound effects like overdrive can be simulated. You’ll then go on to see how notes can be sequenced to make tunes and get the chance to make up their own riffs. Finally, you will see how you can load existing music files in most formats and use the Undertone tools set to sample and edit these sound files to make new and interesting tunes. Most of the exercises will target users who are new to F#, they’ll also be series of advanced exercises available where experienced users can tinker with the inner workings of Undertone and contribute new features to the project.The examples will see will use F#, but the ideas will be applicable to any language that encourages the use of expressions rather than statements.

Speakers
avatar for Robert Pickering

Robert Pickering

Robert Pickering is a fun loving programmer who claims that he is Falling Outside The Normal Moral Constraints. He enjoys travelling round Europe in a big shirt trying to teach people that real programmers use the stack. Robert is a big fan of functional programming, F# and enjoys... Read More →


Tuesday December 10, 2013 10:30am - 12:35pm EET
Hall 5.5

11:40am EET

(SLIDES) Johannes Brodwall--Getting your project off the ground
So your project is just getting started. Or maybe you're just about to embark on a new release. Or new members just joined the team. What now?In either situation, your project will have a lot of energy and attention right now. But at the same time, there's probably a lot of uncertainty about what to do first. Many projects waste this valuable time without a clear plan or purpose. In Exilesoft, we have refined activities to deal with these problems, even with the additional constraint that the team may be distributed geographically.In this talk, I share a typical plan of what activities to do every day in the first weeks together with a set of activities which yield tangible results in terms of team building, vision, architecture and a coherent working system in a minimum of time.Come to this talk if you want to kick start your project and get on the right track fast.

Speakers
avatar for Johannes Brodwall

Johannes Brodwall

Johanes Brodwall is covered Extreme Programming more than ten years ago and has been trying to put Agile practices into his programming work since. He works as Chief Scientist for Exilesoft, an Agile offshoring provider, where he pair programs and pair architects locally and remotely... Read More →



Tuesday December 10, 2013 11:40am - 12:35pm EET
Hall 5.4

11:40am EET

(SLIDES) Sander Hoogendoorn--How frameworks can kill your projects and patterns to prevent getting killed
When it comes to writing code, a seemingly endless stream of new frameworks hits the streets every year to help you. Or even every month. Be it open source, be it from eager vendors. And, yes, frameworks can help you write better code faster.

But also, once you apply one or more frameworks to a project, trouble begins. What if you require features that aren’t implemented in the framework? What if you decide that another framework would have been better and want to switch halfway through your project? What if the author of your favorite open source framework suddenly stops developing? What if the framework contains bugs or omissions? And what if a new version of the framework is released that is implemented differently? These and many more everyday problems can bring your project a halt, or at least require serious refactoring.

During this highly interactive talk, Sander Hoogendoorn, Principal Technology Officer at Capgemini, demonstrates pragmatic architectures and patterns that will help your projects avoid framework issues and to keep code independent of framework choices. Sander presents models of layered architectures, and looks at applying bridge patterns, managers-providers, dependency injection, descriptors and layer super-types, accompanied by lots of demos and (bad) code examples using blocks from many frameworks such as Enterprise Library, NHibernate, Log4Net, and the Entity Framework.

Join this interactive discussion to share your experience of improving the structure and quality of your software architecture and code, and to discuss how to avoid common pitfalls of applying frameworks to software development.

Speakers
avatar for Sander Hoogendoorn

Sander Hoogendoorn

In his roles as Principal Technology Officer, Global Agile Thought Leader and Developer at Capgemini, Sander Hoogendoorn helps organizations with agile, Scrum, Smart, Kanban, requirements, software estimation, architecture, code and testing. He is a member of a number of advisory... Read More →



Tuesday December 10, 2013 11:40am - 12:35pm EET
Hall 5.2

11:40am EET

(SLIDES) Simon Brown--Software architecture vs code
Software architecture and coding are often seen as mutually exclusive disciplines, despite us referring to higher level abstractions when we talk about our software. You've probably heard others on your team talking about components, services and layers rather than objects when they're having discussions. Take a look at the codebase though. Can you clearly see these abstractions or does the code reflect some other structure? If so, why is there no clear mapping between the architecture and the code? Why do those architecture diagrams that you have on the wall say one thing whereas your code says another? In fact, why is it so hard to automatically generate a decent architecture diagram from an existing codebase? Join us to explore this topic further.

Speakers
avatar for Simon Brown

Simon Brown

Simon Brown lives in Jersey (Channel Islands) and works as an independent consultant, specializing in software architecture, technical leadership and the balance with agility. Simon regularly speaks at international software development conferences and provides consulting/training... Read More →



Tuesday December 10, 2013 11:40am - 12:35pm EET
Hall 5.1

11:40am EET

(SLIDES) Robert Smallshire--The Unreasonable Effectiveness of Dynamic Typing for Practical Programs
Some programming language theorists would have us believe that the one true path to working systems lies in powerful and expressive type systems which allow us to encode rich constraints into programs at the time they are created. If these academic computer scientists would get out more, they would soon discover an increasing incidence of software developed in languages such a Python, Ruby and Clojure which use dynamic, albeit strong, type systems. They would probably be surprised to find that much of this software—in spite of their well-founded type-theoretic hubris—actually works, and is indeed reliable out of all proportion to their expectations.This talk—given by an experienced polyglot programmer who once implemented Hindley Milner static type inference for “fun”, but who now builds large and successful systems in Python—explores the disconnect between the dire outcomes predicted by advocates of static typing versus the near absence of type errors in real world systems built with dynamic languages: Does diligent unit testing more than make up for the lack of static typing?  Does the nature of the type system have only a low-order effect on reliability compared to the functional or imperative programming paradigm in use?  How often is the dynamism of the type system used anyway? How much type information can JITs exploit at runtime? Does the unwarranted success of dynamically typed languages get up the nose of people who write Haskell?  For the answers to these important questions, and more, don’t miss this session.

Speakers
avatar for Robert Smallshire

Robert Smallshire

Robert is a founding director of Sixty North, a software product and consulting business in Norway . He has worked in senior architecture and technical management roles for several software companies providing tools in the energy sector for dealing with the masses of information flowing... Read More →



Tuesday December 10, 2013 11:40am - 12:35pm EET
Hall 5.3

12:35pm EET

LUNCH
Lunch

Tuesday December 10, 2013 12:35pm - 1:35pm EET
Hall 5.1

1:35pm EET

(SLIDES) Tom Gilb--Advanced Agile Practices: The Evo Method in practice
• The Evo Agile Startup Week: The US DoD Case
• The Confirmit (Norway) Case Study: The Evo method in Practice
• The Citigroup (London) Evo Project: Richard Smith
This talk will give real case study insights into advanced successful delivery of quality and value.


Speakers
avatar for Tom Gilb

Tom Gilb

Tom is the author of nine published books, and hundreds of papers on Agile and related subjects. His latest book ‘Competitive Engineering’ (CE) is a detailed handbook on the standards for the 'Evo' (Evolutionary) Agile Method, and also for Agile Spec QC. The CE book also, uniquely... Read More →



Tuesday December 10, 2013 1:35pm - 2:30pm EET
Hall 5.2

1:35pm EET

(SLIDES) Jonas Boner--Going Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
The demands and expectations for applications have changed dramatically in recent years. Applications today are deployed on a wide range of infrastructure; from mobile devices up to thousands of nodes running in the cloud—all powered by multi-core processors. They need to be rich and collaborative, have a real-time feel with millisecond response time and should never stop running. Additionally, modern applications are a mashup of external services that needs to be consumed and composed to provide the features at hand.

We are seeing a new type of applications emerging to address these new challenges—these are being called Reactive Applications. In this talk we will discuss four key traits of Reactive; Event-Driven, Scalable, Resilient and Responsive—how they impact application design, how they interact, their supporting technologies and techniques, how to think when designing and building them—all to make it easier for you and your team to Go Reactive.

Speakers
avatar for Jonas Bonér

Jonas Bonér

Jonas Bonér is a geek, programmer, speaker, musician, writer and Java Champion. He is the CTO and co-founder of Typesafe and is an active contributor to the Open Source community; most notably founded the Akka Project and the AspectWerkz AOP compiler (now AspectJ).



Tuesday December 10, 2013 1:35pm - 2:30pm EET
Hall 5.1

1:35pm EET

(SLIDES) Alexei Sholik--Dive Into Elixir
In this talk we will take a close look at some interesting concepts in Elixir, their implementation and some cool projects that are using the language. Those are the things you don't usually find in introductory guides or tutorials.

Speakers
avatar for Alexei Sholik

Alexei Sholik

Alexei is (mostly) a game developer from Kiev. He is a programming (and natural) language enthusiast and a believer in all things open source. When he is not writing code or perusing his sizeable collection of technical papers downloaded from all over the Internet, you may find him... Read More →



Tuesday December 10, 2013 1:35pm - 2:30pm EET
Hall 5.4

1:35pm EET

(SLIDES) Jonathan Worthington--Using invoke dynamic to teach the JVM a new language
In the space of the last year, I've been working on porting the Rakudo Perl 6 compiler to the Java Virtual Machine. Traditionally, languages have been at a disadvantage on the JVM when their type systems and dispatch mechanisms were a long way from Java. Extra dispatch and type checking logic would tend to bulk up code, throw off the JIT compiler's analysis and leave the JVM less able to apply its many, many optimizations.

Then came invokedynamic: a new JVM instruction aimed at making the situation better. While at first blush a single new instruction doesn't seem like much, it's the infrastructure that lies behind it that makes it so powerful. Really, invokedynamic is a programmable instruction, its meaning selectable - and even changeable - at runtime.

In this session I'll talk about how invokedynamic works, look at some of the ways I've been using it, and discuss how it impacts performance. I'll also try to pick out what it is about the design of invokedynamic that makes it so versatile, principles that can be applied whenever we build stuff.

Speakers
avatar for Jonathan Worthington

Jonathan Worthington

Jonathan is a key contributor to Raku development. He is the founder and architect of MoarVM, serves as a lead Rakudo Perl 6 developer, and designed many of the Raku concurrency features. He is also architect of the Cro libraries for building distributed systems in Raku, and founder... Read More →



Tuesday December 10, 2013 1:35pm - 2:30pm EET
Hall 5.3

1:35pm EET

Dmytro Mindra--Lego Specifications Game
The goal of this workshop is to feel the importance of acceptance criteria, to learn how to express specifications in clear and understandable manner, to dig into the business goals behind the specifications.

We will build a product from Lego using some existing specification.
Then we'll brain storm our own product and write a good specification for it.
Finally we'll create a prototype for our product.

The tools that we are going to use: Lego, Impact Maps, User Stories, Acceptance Criteria, Creativity and good mood :)

The workshop is extremely fun and energizing.
One desk and laptop per 5 team/attendees is needed.

Speakers
avatar for Dmytro Mindra

Dmytro Mindra

Dmytro has been developing commercial software for almost a decade, and he has an in-depth knowledge of software development practices and techniques. In his own words: “Programming is my hobby, my profession, my calling, my art. It is the world without boundaries, without physical... Read More →


Tuesday December 10, 2013 1:35pm - 3:40pm EET
Hall 5.5

2:45pm EET

(SLIDES) Fred George--The Secret Assumption of Agile
The presenter has had repeated success delivering Agile projects across more than a dozen years. One of the most important factors to that success is recognizing that the programming style of developers on the team is not wellaligned with Agile. This presentation discusses this flaw and remedies for it, as well as touching on several other key success enablers.
The initial element of success is being able to write code that is easily changed. This style of coding, rooted in the beginnings of the Agile movement, is not publicized nearly enough (and even ignored in eXtreme Programming Explained, the first Agile book.) We illustrate this different style with several real projects.
We move on to outline how teams on our projects have acquired the skills to write programs that are easily changed, and suggest a model for how to improve. We discuss a training program,
developed in the mid90’
s (and the roots of the ThoughtWorks University curriculum) that
addresses the transformation.
We conclude by suggesting that team structure is essential to adopting necessary change.

Speakers
avatar for Fred George

Fred George

Fred George is a consultant with over 44 years experience in the industry including over twenty years doing object programming and over a dozen years doing Agile/XP. He counts at least 70 languages with which he has written code. A veteran of the IBM-Microsoft wars, Fred did early... Read More →



Tuesday December 10, 2013 2:45pm - 3:40pm EET
Hall 5.1

2:45pm EET

Sebastien Lambla--Bringing OpenWebInterfaces (OWIN) to OpenHttp, OpenRasta and other OpenSource goodness
Bringing OpeWebInterfaces (OWIN) to OpenHttp, OpenRasta and other OpenSource goodnes

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 →


Tuesday December 10, 2013 2:45pm - 3:40pm EET
Hall 5.2

2:45pm EET

(SLIDES) Omer Kilic -- Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World

The future of computing will be heterogeneous and the traditional tools we are used to will not be able to handle the different paradigms required when developing for these systems. This talk will provide a brief overview of heterogeneous computing and discuss how Erlang can help with the orchestration of different processing platforms, using our latest experiment on the Parallella platform as a case study.

This talk will also introduce Erlang/ALE, our new framework for embedded systems and provide an update on the Erlang Embedded project.

Talk objctives: To provide an overview of some of the research projects we have been working on at Erlang Solutions in the field of embedded and heterogeneous systems.

Target audience: Hardware and software engineers interested in computer architectures, heterogeneous computing and hardware hacking.



Speakers
avatar for Omer Kilic -- Embedded Systems Hacker at Erlang Solutions

Omer Kilic -- Embedded Systems Hacker at Erlang Solutions

Omer works on Erlang Embedded, a Knowledge Transfer Partnership project in collaboration with University of Kent and Erlang Solutions. The aim of this project is to bring the benefits of concurrent systems development using Erlang to the field of embedded systems; through investigation... Read More →



Tuesday December 10, 2013 2:45pm - 3:40pm EET
Hall 5.4

2:45pm EET

(SLIDES) Sam Aaron--Live Coding as Communication
The term "programming language" is often used to describe the medium we use to communicate with computers. However, to what extent can we also use programming languages like we use regular language? For example, could we use them to directly share ideas and thoughts with other people? Could programming be as live as a regular conversation? To what extent would such a live programming environment be ripe for mining novel ideas that would not only benefit the computer industry as a whole and yet even support artistic practices? This talk will explore these questions in detail emphasising the role and importance of functional languages in this context. What might a programming environment which has sufficient liveness, rapid feedback and tolerance of failure look like? Could we make such an environment live enough to support music performances? What benefits would such a style of programming offer business? Could live programming be beneficial for rapid prototyping, exploring big data sets, and even communicating formal business ideas?


Tuesday December 10, 2013 2:45pm - 3:40pm EET
Hall 5.3

3:40pm EET

Coffee/Tea Break
Coffee/Tea Break

Tuesday December 10, 2013 3:40pm - 4:00pm EET
Hall 5.1

4:00pm EET

(SLIDES) Joe Armstrong--Keynote: Fault Tolerance 101
This lecture is an introduction to fault tolerant computing. How can we make systems that are resilient to hardware and software faults? Systems can fail for a number of reasons, the hardware can fail or the software can fail. In this lecture I'll talk about the foundations of fault tolerant computation and the basic properties a system should have in order to be able to function in an adequate manner despite the occurrence of hardware and software errors. We'll see how concurrency and scalability are intimately related to fault tolerance and and take a quick peep at shared memory and message passing concurrency. I'll also summaries the key features of Erlang and show how they can be used for programming fault-tolerant and scalable systems on multi-core clusters.


Tuesday December 10, 2013 4:00pm - 5:00pm EET
Hall 5.1

6:30pm EET

Get-Together evening:Live coding music performance with Meta-Ex

On the 10th of December all attendees and speakers are welcome to Get Together evening in Comedy Club (Vokieciu g. 2, Vilnius).  For your convenience we arranged transportation from the venue to Comedy Club. Next to the venue at around 17:30-18:00 there will be shuttles waiting for you! Mark Rendle a professional stand-up and Meta-Ex formed by Sam Aaron and Jonathan Graham will take care of Live Coding - Live Synths - Live Music. Therefore, free beers and snacks are covered! In addition - with our partners "Visma Lietuva" we brewed speacial "Build Stuff 2013" beer!


Speakers
avatar for Sam Aaron

Sam Aaron

Sam Aaron is a live coder who, through considering programming as performance, focusses on enhancing the productivity and power of modern programming languages and environments. Sam believes that a programming environment which has sufficient liveness, rapid feedback and tolerance... Read More →
avatar for Mark Rendle

Mark Rendle

Mark is the founder and CTO of Oort Corporation, a software- as-a-service company specializing in cloud-based tools for cloud-based developers. Oort’s first product, Zudio, is a storage toolkit for Windows Azure storage, and launched this year. Before starting Oort, Mark developed... Read More →


Tuesday December 10, 2013 6:30pm - 7:00pm EET
Hall 5.1
 
Wednesday, December 11
 

8:30am EET

Arrival
Wednesday December 11, 2013 8:30am - 9:00am EET
Hall 5.1

9:00am EET

Michael Feathers--Keynote:Increasing Abstraction in Programming
When writers writes novels, articles or essays they are told to think
of their audience.  As programmers, we implicitly do the same. There
are rare occasions when we look at code and realize it was written for
rocket scientists and less rare occasions when we realize that it uses
patterns or idioms that go beyond the skill of the people who will
maintain the code. However, these perceptions imply a fixed-point.
They imply that the ability of programmers to deal with abstraction
can not increase over time.  In this keynote, Michael will explore this idea
and talk about what it could mean for our industry.

Speakers
avatar for Michael Feathers

Michael Feathers

Michael Feathers is an independent consultant in the area of software design, prior to that he was Member of the Technical Staff at Groupon. Prior to joining Groupon, Michael was the Chief Scientist of Obtiva, and a Senior Consultant with Object Mentor International. Over the years... Read More →


Wednesday December 11, 2013 9:00am - 10:00am EET
Hall 5.1

9:00am EET

Adform Open Space -- Lego Mindstorms tournament
If you love Robots as much as we do, come and join our Lego Mindstorms tournament! Everyday we’ll gather in 4 teams to build and program robot during the daytime and prepare for the race in the evening. For the first 2 days teams will have to pass qualification and the winners will compete in the finals on the last Conference day. Be ready to build the smartest, fastest, funniest and agile Robot!

Sponsors
avatar for Adform

Adform

Adform is a web-based advertising platform used throughout Europe. Buying, serving and tracking many billion ads every day in real-time give peak loads of well over 200.000 QPS – with each single transaction requires database access and decision-making in milliseconds. The challenges... Read More →



Wednesday December 11, 2013 9:00am - 5:00pm EET
Open space

10:00am EET

Coffee/Tea Break
Coffee/Tea Break

Wednesday December 11, 2013 10:00am - 10:20am EET
Hall 5.1

10:20am EET

(SLIDES) Emil Cardel--Unleash your JavaScript using ancient philosophy
Greek and Roman philosophers had great insight into human behavior, on how to live a more happy and fulfilling life. There is a lot we can learn from them. Even how to write better JavaScript code.

Looking at the stoic way of life that focuses on human freedom can help us understand principles for creating delightful code that demands freedom and gives us full control. Code that is maintainable, readable and immune to many of the everyday JavaScript frustrations we encounter.

In this talk I'll show you how to free yourself from dependencies such as:
Place - How to make your code non dependent on the order it is placed in your script
Time - How to break the temporal coupling in your code, controlling when things execute.
Relationships - How to make your code truly modular and independent from outside code calling in or out

Speakers
avatar for Emil Cardell

Emil Cardell

Emil Cardell is passionate .net web developer and have been working on large public website, communities and intranets for a decade. A former consultant, now working as a senior developer at Thomas Cook in Stockholm. Always looking for ways to find developer happiness, he looks outside... Read More →


Wednesday December 11, 2013 10:20am - 11:15am EET
Hall 5.5

10:20am EET

(SLIDES) Patrick Smacchia--How to make the most of Code Analysis?

Today, the motto 'the source code is the design' is getting widely adopted with the growing success of agile methodologies. But even if many realize that the code itself is a precious asset, complex and hard-to-maintain code base still remains the rule more than the exception.
Few are using code analysis that can help in having programs more maintainable, code bases more pleasant to live in, and application easier to extend. In this track, we’ll focus on practical and real-world code analysis experiences with the tool NDepend analyzing some .NET code. Developing this tool for now a decade, has been a fantastic opportunity to develop features and methodologies that we and our users needed.
Many practices that work best for us and our users will be explained. This include thoughts on structuring code, on measuring code quality, on writing automated tests, on using code contracts, on prioritizing reported flaws, on reporting progress, evolutions and trending.

Speakers
avatar for Patrick Smacchia

Patrick Smacchia

Patrick Smacchia is the creator and lead developer of the tool NDepend for .NET developers. He programs since he’s 10 and enjoys developing with .NET since the inception of the platform a decade ago. After a decade of programming, consulting and training in various teams and environments... Read More →



Wednesday December 11, 2013 10:20am - 11:15am EET
Hall 5.2

10:20am EET

(SLIDES) Adam Warski--The no-framework Scala Dependency Injection framework
Using a DI framework/container may seem obvious. But when was the last time you considered *why* do you really need one? After all, "dependency injection" is just a fancy name for passing arguments to a constructor. In the talk we'll walk through some of the features of DI containers and see if we can replace them with pure Scala code. We'll start with "manual" DI, followed with using MacWire to generate the wiring code for us. Then we'll proceed to a no-framework scopes implementation (e. g. request or session), which are very useful in web applications. We will also discuss possibilities of adding interceptors using macros. And finally, we'll see how to use traits to create and compose modules (similar to the module concept known from Guice), which can be viewed as a simplified cake pattern. As MacWire heavily uses macros, as a bonus, I'll explain how Scala Macros work and when they can be useful.

Speakers
avatar for Adam Warski

Adam Warski

I am one of the co-founders of SoftwareMill, a company specialising in delivering customised software solutions. I code mostly using Scala and Java. I am involved in a number of open-source projects: as the founder and lead developer of Hibernate Envers, a Hibernate core module providing... Read More →



Wednesday December 11, 2013 10:20am - 11:15am EET
Hall 5.3

10:20am EET

(SLIDES) Amanda Laucher--Neo4j, the connected data persistence layer

Not only for java. Not only for social networking. Not only for big-data. Not only for math-heads. This is the non-typical graph database session where you'll learn how and why you want to start looking at graphs as a data storage abstraction for every day applications.

I used to think that databases were a boring, just a necessary evil. I'd model some cool algorithms and plug the database in later. NoSQL and NoSQL conference sessions were are even more boring. Come on folks, we aren't reinventing the wheel with key-value stores or JSON documents. Then I learned about the power of a graph database. The seductiveness of graph theory, connected data, and persistence that aligns with the way I think - functionally. My life is complete.

In this session I will introduce Neo4j and your new passion: graph thinking. No longer is data storage an afterthought. 


Speakers
avatar for Amanda Laucher

Amanda Laucher

Amanda Laucher 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 using statically... Read More →



Wednesday December 11, 2013 10:20am - 11:15am EET
Hall 5.4

10:20am EET

(SLIDES) Vitaly Friedman--Responsive Web Design: Clever Tips and Techniques
Responsive Web design challenges Web designers to adapt a new mindset to their design processes as well as techniques they are using in design and code. This talk provides an overview of various practical techniques, tips and tricks that you might want to be aware of when working on a new responsive design project.

Speakers
avatar for Vitaly Friedman

Vitaly Friedman

Vitaly Friedman loves beautiful content and does not give up easily. From Minsk in Belarus, he studied computer science and mathematics in Germany, discovered the passage a passion for typography, writing and design. After working as a freelance designer and developer for 6 years... Read More →



Wednesday December 11, 2013 10:20am - 11:15am EET
Hall 5.1

11:30am EET

(SLIDES) James Nugent --Temporal correlation and CEP with Event Store Projections
Ever tried building a system to do complex event processing but ended up getting bogged down in all the infrastructure necessary? Or maybe you've tried running temporal correlation queries from a SQL database and become very familiar with nested subqueries... In this talk we'll look at the projections model in the Event Store, and how it can be used both for CEP without the fuss, and as a better way of approaching temporal queries, using only Javascript!

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.



Wednesday December 11, 2013 11:30am - 12:25pm EET
Hall 5.4

11:30am EET

(SLIDES) Ian Cooper--TDD, where did it all go wrong
Since Kent Beck wrote the book on TDD in 2002 a lot of words have been dedicated to the subject. But many of them propagated misunderstandings of Kent's original rules so that TDD practice bears little resemblance to Kent's original ideas. Key misunderstandings around what do I test, what is a unit test, and what is the 'public interface' have led to test suites that are brittle, hard to read, and do not support easy refactoring. In this talk we re-discover Kent's original proposition, discover where key misunderstandings occurred and look at a better approach to TDD that supports software development instead of impeding it. Be prepared from some sacred cows to be slaughtered and fewer but better tests to be written.

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 to 'shrink-wrapped... Read More →



Wednesday December 11, 2013 11:30am - 12:25pm EET
Hall 5.2

11:30am EET

Heiko Seeberger -- Akka in Action
The Akka toolkit and runtime enables us to go Reactive (see www.reactivemanifesto.org) by building scalable and resilient applications. In this session we introduce Akka's most important tool, the actor model, and show how you can use it to easily build applications that scale up and out and handle failure in a self-healing way. Be prepared to see a lot of Scala code and live demos.

Speakers
avatar for Heiko Seeberger

Heiko Seeberger

Heiko Seeberger is the Director of Education for Typesafe. He has been a Scala enthusiast ever since he came to know this beautiful language in 2008. Heiko has more than 15 years of professional expertise in consulting and software development on the Java platform, actively contributes... Read More →


Wednesday December 11, 2013 11:30am - 12:25pm EET
Hall 5.3

11:30am EET

(SLIDES) Martin Thompson--Mechanical Sympathy
What can software development learn from the motor racing industry? In the 1970’s we began to see over specialisation of drivers and designers leading to drivers who knew little about how their cars worked.  Jackie Stewart, 3 times F1 world champion, coined the phrase “Mechanical Sympathy” as a term for the driver and the machine working together in harmony.  This can be summarised in that a driver does not need to know how to build an engine but they need to know the fundamentals of how one works to get the best out of it.For software development, have we reached the point of over specialisation whereby developers no longer understand the fundamentals of how a computer works? Are we more influenced by fashion than science these days? Is fashion just a poor proxy for stylish design that can co-exist with science?In this session we will explore these questions and how we can strike a balance between elegant design and the application of science in the development of great modern software.

Speakers
avatar for Martin Thompson

Martin Thompson

Martin is a high-performance and low-latency specialist, with over two decades working with large scale transactional and big-data systems, in the automotive, gaming, financial, mobile, and content management domains. He believes in Mechanical Sympathy, which is applying an understanding... Read More →



Wednesday December 11, 2013 11:30am - 12:25pm EET
Hall 5.1

11:30am EET

(SLIDES) Andrew Zusman --Typing with one-hand in a two-handed world
The typing experience, particularly on mobile and tablet devices, is a poor experience, but it's even worse for users with only one hand! If we were going to re-design cross-device typing systems, how would we go about it?Through the lens of typists who only have the use of one hand or arm, this presentation outlines the difference between universal design and accessible design, and how universal design could be a step in the right direction toward creating a better typing experience for not only disabled typists, but for us all!

Speakers
avatar for Andrew Zusman

Andrew Zusman

Andrew Zusman is a User Experience professional with an interest in universal design and accessibility.  Andrew is a writer and lecturer on a wide range of UX topics, and he is also the creator of 52Designers.com.  Originally from Indiana in the United States, Andrew currently lives... Read More →



Wednesday December 11, 2013 11:30am - 12:25pm EET
Hall 5.5

12:25pm EET

LUNCH
Lunch

Wednesday December 11, 2013 12:25pm - 1:25pm EET
Hall 5.1

1:25pm EET

(SLIDES) Tim Ruffles -- Zen of Javascript tests
Good tests spur our feet,

bad tests grip like winter mud,

testing zen brings spring.

Acolyte Foo mastered the use of stubs and mocks. Soon the tests were running fast as the swiftest river.The master walked by, and deleted a swath of code: she watched as the tests passed regardless.

The next day, the other acolytes found only a straw dummy in Foo’s bed.  When they asked the master where Foo had gone, she replied: “Observe: these tests were 
Foo’s, they still pass: Foo must be alive and well”.

Thus, the acolytes gained enlightenment.



Speakers
avatar for Tim Ruffles

Tim Ruffles

Tim is the founder of SidekickJS, a Javascript code-quality tracker for teams. He teaches & mentors developers for General Assembly and EventHandler. Previously he was front-end tech-lead for Skimlinks and Picklive. He talks about Javascript at conferences and events... Read More →


Wednesday December 11, 2013 1:25pm - 2:20pm EET
Hall 5.3

1:25pm EET

(SLIDES) Carl Masak--The sad path to BDD satori
Testing has changed the way I think about programming, and has made me more secure as a developer. BDD testing goes a bit further, black-boxing the system, asking "how does the user interact with this thing"?

There's a certain Quality Without A Name to it all, a zen that doesn't quite let itself be captured. And there are many paths to the same nice insights.

In this talk, we explore a few of these paths. We'll see how calamity leads to peace, how restrictions become liberating, and how sometimes, the finger pointing at the moon is actually pointing at a space station.

Speakers
avatar for Carl Masak

Carl Masak

Carl has a fondness for dynamic languages, working mostly in Perl and JavaScript. His professional focus at Edument has become finding, distilling, and explaining useful programming practices and principles — be it testing, object orientation, or CQRS — and he spends his days... Read More →



Wednesday December 11, 2013 1:25pm - 2:20pm EET
Hall 5.4

1:25pm EET

(SLIDES) Viktor Klang --Failure: Deal with it!

As Scala programmers we solve a wide range of problems; from the tiniest bugfixes to the most interesting features—however no matter how flawless and well-tested and well-typed our code is, there is something that we should never forget: Reality — a place where things get FUBAR all the time — so lets talk about what can and will go wrong, and what strategies we have to deal with it; to recover; to heal our systems.


Speakers
avatar for Viktor Klang

Viktor Klang

Viktor, "the legend of", Klang been hooked on Scala since 2007 and is an honorary Akka Core Team member, an occasional speaker and Director of Engineering at Typesafe. Personal heroes are, including but not limited to–Doug Lea, Walter Sobchak and Daniel Spiewak.



Wednesday December 11, 2013 1:25pm - 2:20pm EET
Hall 5.1

1:25pm EET

(SLIDES) Jonathan Worthington--The Secret Lives of Garbage Collectors

Most of us work in languages that provide automatic memory management of some kind. In fact, it's become so commonplace that we take it for granted. But should we? Are garbage collectors really so magical that we can blindly trust them to work efficiently for us? Or are they like any other piece of software solving a hard problem: a best effort, trading off lots of different factors against each other?

This session will take a deep dive into garbage collection. I'll demystify a bunch of the terminology surrounding the topic: reachability analysis, generations, parallel collection, concurrent collection, copying, pinning... I'll also discuss the kinds of trade-offs a GC designer has to make, having played that role over the last year. Finally, there will be some tips on how to write code that is more GC-friendly, for those times when you need to squeeze out a few more drops of performance.

Speakers
avatar for Jonathan Worthington

Jonathan Worthington

Jonathan is a key contributor to Raku development. He is the founder and architect of MoarVM, serves as a lead Rakudo Perl 6 developer, and designed many of the Raku concurrency features. He is also architect of the Cro libraries for building distributed systems in Raku, and founder... Read More →



Wednesday December 11, 2013 1:25pm - 2:20pm EET
Hall 5.2

1:25pm EET

(SLIDES) Dan Rubin--Hands-on Prototyping with HTML & CSS
Usability testing and design are often separate processes — but it doesn't have to be that way, and it doesn't need to be difficult or time-consuming, either.

Presented as a case study review, Dan explores examples from a real life project, explaining the method of testing and prototyping used, and showing the value of making adjustments to a design during testing, exposing changes in behaviour that could not have been otherwise observed.

Speakers
avatar for Dan Rubin

Dan Rubin

Born in Miami Beach and now living in London, Dan is a designer, photographer, and founder / creative director of webgraph, a multi-disciplinary studio based in the US. In addition to working with selected clients and speaking at conferences around the world, he also provide... Read More →



Wednesday December 11, 2013 1:25pm - 2:20pm EET
Hall 5.5

2:35pm EET

Kristoffer R Deinoff--Continous Delivery in practice

Many of us have one or more manual steps in our deploy and release processes. This leads to a lot of time spent waiting for the right people to do the job. Also, errors often occur due to steps forgotten or done incorrectly. This often leads to high walls between the testers, IT-ops and the developers.

This talk will start out with some general Continuous Delivery, the why's, where you'll get to know the actual benefits of applying Continuous Delivery and the arguments you need to be allowed to spend time on it. Then we will move over to the how's. By demonstrating how you can use the principles of Continuous Delivery to configure automated builds and one-click deployment, and how you can migrate your current manual process into an automated one. Along the way, we will be using TFS, TeamCity and OctopusDeploy and discuss how they choose to solve specific problems, as well as other ways you might handle those issues..


Speakers
avatar for Kristoffer Rolf Deinoff

Kristoffer Rolf Deinoff

Kristoffer Rolf Deinoff is a software developer, craftsman, co-active coach, 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 the last five... Read More →


Wednesday December 11, 2013 2:35pm - 3:30pm EET
Hall 5.4

2:35pm EET

(SLIDES) Rob Ashton--JS without the frameworks
Backbone, Ember, Angular, Knockout... the question always seems to be "which", rather than "why" - and over the past few years this hasn't changed much despite the server-side JS ecosystem tending away from frameworks. Let's look at some patterns for building client side applications in JavaScript without frameworks (even without jQuery!), and some tooling that can help us do this. We'll dive into aspects of testing and how to manage these code-bases across a large team in such a way that we don't have to resort to crutches like frameworks or alternative languages. Demonstrations will include the use of package managers, build systems and sensible JavaScript to get the job done fast and well.

Wednesday December 11, 2013 2:35pm - 3:30pm EET
Hall 5.1

2:35pm EET

Ilya Pukhalski -- Responsive Cross-platform Web Apps
Despite many ready-made solutions on the market of frameworks for web apps, there’s no solution that can provide a concrete app architecture and work on desktops, phones, Smart TV, and other devices. Some frameworks are too massive, some give no instructions whatsoever on how to build app architecture, some work only for WebKit, while others are simply a set of glossy UI elements in iOS style. Definitely, solutions that enable to use several libraries simultaneously look promising, but often times it looks as if someone tries to hammer a screw into a wall. Content adaptation for various devices and platforms remains unsolved as well. In his presentation, Ilya will speak about the approach he has been using for a number of his big projects aimed at creating scalable cross-platform web apps. He will also touch upon some problems that contemporary web and hybrid application developers face today and share some possible solutions to them.

Speakers
avatar for Ilya Pukhalski

Ilya Pukhalski

Solution Architect at EPAM Mobile Competency Center, lecturer at British Higher School of Art & Design  Ilya Pukhalski has about 8 years of experience in different web areas starting from UX and ending with server-side programming. JavaScript and web-standards lover, speaker. Currently... Read More →


Wednesday December 11, 2013 2:35pm - 3:30pm EET
Hall 5.5

2:35pm EET

Heiko Seeberger -- Scala in action
You don't yet speak Scala? Then let us invite you to a journey on which we will explore the outstanding features of this programming language for the Java Virtual Machine. As an intoduction we will briefly talk about Scala's key characteristics. Then we will explore this language and some of its typical applications, e.g. concise OO and powerful functional collections. If you are a developer and expect vivid examples and live coding, then you will love this session.

Speakers
avatar for Heiko Seeberger

Heiko Seeberger

Heiko Seeberger is the Director of Education for Typesafe. He has been a Scala enthusiast ever since he came to know this beautiful language in 2008. Heiko has more than 15 years of professional expertise in consulting and software development on the Java platform, actively contributes... Read More →


Wednesday December 11, 2013 2:35pm - 3:30pm EET
Hall 5.3

2:35pm EET

Greg Young--Everythink you never wanted to know about storage
Many systems give you wonderfully simple mechanisms for writing to a file that are some of the leakiest abstractions out there. There are many layers of abstraction between you can the disk. How to make things fast? How to make sure data is actually on the disk? What things can go wrong? How can we benchmark and be sure our benchmarks are reasonable? All of these questions and more will be covered in this talk as we look in detail at everything you never wanted to know.

Wednesday December 11, 2013 2:35pm - 3:30pm EET
Hall 5.2

3:30pm EET

Coffee/Tea Break
Coffee/Tea Break

Wednesday December 11, 2013 3:30pm - 3:50pm EET
Hall 5.1

3:50pm EET

Bertrand Meyer--Keynote:Verification As a Matter Of Course

We should verify all the software that we build. Verification technology has made such progress that this goal is becoming realistic. Verification will no longer be restricted to life-critical, expensive systems but will be a normal component of the development process. I will present tool, method and language support for the achievement of this goal.


Speakers
avatar for Bertrand Meyer

Bertrand Meyer

Bertrand Meyer is Professor of Software Engineering at ETH Zurich, the Swiss Federal Institute of Technology, research professor at ITMO (State University of Saint Petersburg) and Chief Architect of Eiffel Software (based in California). He is the initial designer of the Eiffel method... Read More →


Wednesday December 11, 2013 3:50pm - 4:50pm EET
Hall 5.1

4:50pm EET

Closing of the Conference
Wednesday December 11, 2013 4:50pm - 5:00pm EET
Hall 5.1
 
Filter sessions
Apply filters to sessions.