Loading…

“BUILD STUFF” is a Software Development Conference for people who actually build stuff. We bring world-class speakers, letting them share about the latest developments, trends and innovations, as well as new directions in software development. Since launching in 2012, it’s really caught on quickly.

Recognized by developers from all over Europe, international Software Development Conference Build Stuff’15 Lithuania will feature 3 days (18-20 Nov’15) of conference sessions and 2 days (21-22 Nov’15) of workshops.

All programmers [clear filter]
Wednesday, November 18
 

10:35 EET

(NEKALBEJO)Paul Stack @stack72 - Creating a scalable, repeatable infrastructure with Terraform
The age old task of racking and stacking in a physical data centre is
becoming more and more rare as more companies embrace the public
cloud. Having the ability to choose between providers such as AWS,
Azure, Digital Ocean and Google Cloud Platform makes creating
infrastructure easy. It is better to spend time developing better
services for our customers than managing infrastructure

During this talk, Paul will demonstrate how building a scalable
infrastructure on AWS becomes easy with Terraform. The talk will
demonstrate how using configuration management, pre-baked AMIs and
auto-scaling groups it gives the ability for developers to be able to
launch their own infrastructure when needed. The demo’s will include
the ability to launch instances, databases and manage user access

By the end of the talk, Paul will have demonstrated that the creation
of infrastructure now becomes part of the development lifecycle and
that the old ways of system administration is fast moving to become
infrastructure engineering. Paul will also demonstrate that the
creation of new ‘environments’ are just a change of parameters in our
infrastructure code

Speakers
avatar for Paul Stack

Paul Stack

DevOps expert, @stack92
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 →


Wednesday November 18, 2015 10:35 - 11:30 EET
4. Zeta

10:35 EET

(SLIDES) Dmytro Mindra @dmytromindra - Refactoring Legacy Code
Every programmer has to face legacy code day after day. It might be ugly, it might look scary, it can make a grown man cry. Some will throw it away and try rewriting everything from scratch. Most of them will fail.

Refactoring legacy code is a much better idea. It is not so scary when you take it in very small bites, introduce small changes, add unit tests. When code is refactored and unit tests are added, changes to functinality can be introduced.

We will take an open source c# project and will refactor it showing step-by-step examples of the techniques.

This session is full of tips and tricks you can start applying immediately. Although the code is in C#, the same principles can be applied in any language

Speakers
avatar for Dmytro Mindra

Dmytro Mindra

Test automation expert, @dmytromindra
Dmytro holds the position of Software Development Engineer in Test at Unity Technologies. He is one of the Toolsmiths who are developing tools for test automation. Prior to joining Unity, Dmytro has worked for Microsoft and Lohika. He is a frequent speaker at various conferences and... Read More →



Wednesday November 18, 2015 10:35 - 11:30 EET
5. Theta

10:35 EET

(SLIDES) Oren Eini (Ayende Rahien @ayende) - Building blocks of a distributed system
In this talk, Oren will discuss the building blocks of building a reliable, transactional distributed database.
In particular, this session will cover ACID compliance, ensuring consistency between distributed nodes (with failure handling), monitoring and management, dissemination of information in the system, and more.

Speakers
avatar for Oren Eini (Ayende Rahien)

Oren Eini (Ayende Rahien)

RavenDB author, @ayende
Oren Eini is the author of Rhino Mocks, one of the most popular mocking frameworks on the .NET platform, and is also a leading figure in other well known open source projects including NHibernate, RavenDB,the Rhino Tools Suite and the Castle project. Oren Eini has over 15 years of... Read More →



Wednesday November 18, 2015 10:35 - 11:30 EET
1. Alfa

11:50 EET

(SLIDES) Ali Kheyrollahi @aliostad - 5 Anti-Patterns in designing APIs
This talks elaborates on the Client-Server tenet of REST which focuses on separation of concerns between the client and the server. In the first third of the talk, I will talk about what the ideal client and servers are and examples of how their responsibilities. I will touch on how the word Server has lost its meaning of "serving" and the client has been overshadowed by the focus to the API. I will also compare the API to a restaurant and how its menu is the API's REST resources.

In the rest of the talk, I look at some important anti-patterns commonly seen in the industry (each with at least one example):

1) Chauvinist Server: designing the API from server's perspective failing to hide its complexity behind its API (API designed from the server's perspective)
2) Demanding client: client enforcing its special need onto the signature of the API (certain client's limitation becomes server's default behaviour)
3) Transparent Server: server exposing its internal implementation to its clients (server's underlying or private domain bleeds into the public API)
4) Presumptuous Client: The client assuming the role of a server and engage in taking responsibilities that cannot guarantee
5) Assuming Server: Server that assumes the responsibility of tailoring the response based on what it assumes client is (e.g. browser sniffing)

Speakers
avatar for Ali Kheyrollahi

Ali Kheyrollahi

Solutions Architect, ASOS
A distributed systems practitioner and machine learning enthusiast, Ali currently is a solution architect building web-scale solutions. A performance and scalability junkie, he loves HTTP, API design, and business-modeling DDD-style. He is an author, blogger and OSS contributor and... Read More →



Wednesday November 18, 2015 11:50 - 12:45 EET
3. Lambda

11:50 EET

Rob Ashton @robashton - The Shape an Erlang Application
Enough introductions to Erlang, let's ignore the language for a moment and have a look at deeper things - how do you build and release Erlang projects? How do you structure Erlang projects? What are some common pitfalls to avoid when putting together Erlang applications, how do you manage dependencies?

Let's talk about the real stuff based on the last two years of my working as a full-time Erlang developer, lots of code and examples in a whirlwind tour - do try to keep up.

Speakers
avatar for Rob Ashton

Rob Ashton

Erlang professional, robashton
Eats too much, talks too much, drinks too much, obsessed with coffee - does Erlang for a living, hates everything including Erlang.


Wednesday November 18, 2015 11:50 - 12:45 EET
1. Alfa

13:45 EET

(SLIDES) Jef Claes @JefClaes - Evil by Design
In this talk, I'll share what my experience has been working in the gambling business, how moving to events helped us gain a better understanding of the domain and which techniques and models casinos have perfected over the years to keep people playing.

---

Last year I ventured into the domain of (online) gambling. Given that the industry has been around since forever, I expected most problems to be of the technical kind. As it turned out, the struggle with technology was only part of a bigger problem; to move forward we needed to fully grasp the industry and its consumers.

Domain events started out as a way to dismantle a legacy system, but quickly proved to be an effective tool to gain a deeper understanding of our domain. Visualizing event streams, we discovered patterns that helped us identify what drives different types of users.

Having a better understanding of what customers are looking for, we dove into existing literature to learn which techniques and models casinos use to cater for each type of user. We learned how to program chance while staying true to the Random Number God. Even when variance is brutal, casinos have enough data and tools to steer clear from the pain barrier.

All of this entails interesting problems and software, but isn't my code damaging society? Or is gambling just another human trait?

Speakers
avatar for Jef Claes

Jef Claes

Functioning domain linguist, JefClaes
Jef Claes is a professional codeslinger, domain linguist and number cruncher, ships software daily, writes on jefclaes.be weekly and speaks in public occasionally. When it comes to buzzwords he often associates himself with DDD(BE), CQRS, C#, FP and F... Read More →



Wednesday November 18, 2015 13:45 - 14:40 EET
5. Theta

13:45 EET

(SLIDES) Itamar Syn-Hershko @synhershko - Logging makes perfect - real-world monitoring and visualizations
How to keep a real-time, low-latency and high-stakes system up and running and well-monitored? how to investigate failure cases as they happen? and how to even know something is wrong before it's too late? With logs of course. Lots of them. And then some cool stack to do stuff with it.

Forter is a company with a Decision-as-a-Service product that deals with many e-commerce transactions in real time and answers a simple but hard question: "is this a fraud attempt or not?". And if we were wrong, we pay.

In this talk I will show how we are using various technologies to power our service and keep it high-available and well under control. Among the technologies I will discuss are Apache Storm, Node.js, Riemann (state machines in Clojure, yay!), collectd, D3.js and of course the ELK stack (and beats!). Some integrations which will be mentioned include PagerDuty, Slack, Jenkings and GitHub.

Speakers
avatar for Itamar Syn-Hershko

Itamar Syn-Hershko

Distributed systems and architecture expert., @synhershko
Search technologies, distributed systems and architecture expert. Apache Lucene.NET committer and PMC member, Elasticsearch Consulting Partner, Microsoft MVP and the author of RavenDB in Action. Currently building innovative software for catching e-commerce fraudsters in real-time... Read More →



Wednesday November 18, 2015 13:45 - 14:40 EET
4. Zeta

13:45 EET

(SLIDES) Reynhout Yves @bittacklr - Trench Talk: Models and friends
This talk takes the janitor's cut to models and friends. How they're crunched, born, tested against scenarios, how they're useful, what distinguishes them from others, how they're visualized and communicated, how they change over time, how they do not always turn out the way you want them to be, how some of them turn to mud, how they don't life in isolation, how ... well, you'll just have to attend to hear more, won't you?

Speakers
avatar for Reynhout Yves

Reynhout Yves

Software consultant, bittacklr
Yves Reynhout is a software developer turned consultant with 20 odd years of experience, both good and bad, with a bit of experience in building acronym based systems.



Wednesday November 18, 2015 13:45 - 14:40 EET
3. Lambda

13:45 EET

(SLIDES) Richard Minerich @rickasaurus - How We Use Functional Programming to Find the Bad Guys
Traditional approaches in anti-money laundering involve simple matching algorithms and a lot of human review. However, in recent years this approach has proven to not scale well with the ever increasingly strict regulatory environment. We at Bayard Rock have had much success at applying fancier approaches, including some machine learning, to this problem. In this talk I walk you through the general problem domain and talk about some of the algorithms we use. I’ll also dip into why and how we leverage typed functional programming for rapid iteration with a small team in order to out-innovate our competitors.

Speakers
avatar for Richard Minerich

Richard Minerich

Microsoft MVP & F# expert, @rickasaurus
Richard Minerich is Bayard Rock’s Director of Research and Development. He is a an avid user of F# and has many years of .NET expertise. His work at Bayard Rock is largely in the areas of Entity Resolution and Machine Learning. He runs the NYC F# User Group and is co-founder of... Read More →



Wednesday November 18, 2015 13:45 - 14:40 EET
2. Beta

15:00 EET

(SLIDES) Diego Ongaro @ongardie - The Raft Consensus Algorithm
Consensus is fundamental to building fault-tolerant systems, but it's poorly understood. We struggled to build a complete system using Paxos, so we developed the Raft consensus algorithm to be easier to understand. Since releasing our first paper draft in 2012, Raft has been implemented in dozens of libraries and systems, and it's now taught at over ten universities. In this talk, I'll give an overview of how Raft works. More info on Raft can be found at https://raft.github.io .

Speakers
avatar for Diego Ongaro

Diego Ongaro

Professor in computer science, @ongardie
Diego completed his PhD with Professor John Ousterhout at Stanford University in 2014. During his PhD, he worked on RAMCloud (a key-value store with 5-10 microsecond latency), the Raft consensus algorithm, and LogCabin (a coordination service built with Raft). He recently joined the... Read More →



Wednesday November 18, 2015 15:00 - 15:55 EET
3. Lambda

15:00 EET

(NEKALBEJO)Yan Cui @theburningmonk - Seven ineffective coding habits many F# programmers don't have
At BuildStuff'14, Kevlin Henney presented an excellent talk titled "Seven ineffective coding habits of many programmers". As an attendee that day and someone who has exhibited many of these habits over the years, I came to realize that using F# has cured me of many of these ineffective habits!

In this talk I'll share my thoughts on how the use of F# and functional programming techniques can help form and nurture good habits and give you the perfect practice you need to make perfect.

Speakers
avatar for Yan Cui

Yan Cui

Scalable backend system expert, @theburningmonk
Yan works as a server side developer at Gamesys where he develops scalable backend services for Gamesys's social games on mobile and Facebook. He's a co-author of “F# Deep Dives” by Manning and a regular speaker on topics such as Aspect-Oriented Programming, F# and NoSQL. He also... Read More →


Wednesday November 18, 2015 15:00 - 15:55 EET
4. Zeta

15:00 EET

(NO SLIDES)Sean Trelford @ptrelford - Fun and games with F#
In this live coding session I'll show you how to make music, 3D scenes through to interactive video games with F# in the REPL.

Speakers
avatar for Sean Trelford

Sean Trelford

F#, Python, JavaScript enthusiast, @ptrelford
Sean is currently studying in Cambridgeshire, he enjoys playing guitar and piano, and writing apps and games in F#, Python, JavaScript, Lua and occasionally Basic.


Wednesday November 18, 2015 15:00 - 15:55 EET
5. Theta

15:00 EET

(SLIDES) Ian Cooper @ICooper - Service Discovery and Clustering for .NET developers
Building a distributed system means you need to consider how you will discover services, and ensure they are available. In this presentation we look at Service Discovery and Clustering approaches and tools, and show .NET developers how to work with tools such as Serf, Consul, and Zookeeper

Speakers
avatar for IAN COOPER

IAN COOPER

Polyglot Coding Architect, JustEat
Polyglot Coding Architect in London, founder of #ldnug, speaker, tabletop gamer, geek. Tattooed, pierced, and bearded. The 'guv' on @BrighterCommand



Wednesday November 18, 2015 15:00 - 15:55 EET
2. Beta

16:15 EET

(SLIDES) Howard Chu @hyc_symas - The Lightning Memory-Mapped Database
The Lightning Memory-Mapped Database (LMDB) was introduced at LDAPCon 2011 and has been enjoying tremendous success in the intervening time. LMDB was written for the OpenLDAP Project and has proved to be the world's smallest, fastest, and most reliable transactional embedded data store. It has cemented OpenLDAP's position as world's fastest directory server, and its adoption outside the OpenLDAP Project continues to grow, with a wide range of applications including big data services, crypto-currencies, machine learning, and many others.

The talk will cover highlights of the LMDB design as well as the impact of LMDB on other projects.

Speakers
avatar for Howard Chu

Howard Chu

Open Source software developer, @hyc_symas
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 →



Wednesday November 18, 2015 16:15 - 17:10 EET
2. Beta

16:15 EET

(NERA) Greg Young @gregyoung - Privateeye
In this talk we will sleuth into what is privateeye. We will turn our
detective skills on how your application actually work and we will do
it using nothing but a REPL. You know how to code, let's code through
a murder mystery together.

Speakers
avatar for Greg Young

Greg Young

CQRS author, @gregyoung
Gregory Young coined the term “CQRS” (Command Query Responsibility Segregation) and it was instantly picked up by the community who have elaborated upon it ever since. Greg is an independent consultant and serial entrepreneur. He has 15+ years of varied experience in computer... Read More →


Wednesday November 18, 2015 16:15 - 17:10 EET
1. Alfa

16:15 EET

(SLIDES) Jevgenij Nekrasov @jnekrasov - Being Meta
We are going to discuss meta programming approaches in .NET world, trying to give brief overview of different techniques,which can expand your horizons as a developer and become more meta-developer.It's all about writing code, which analyse your code or manipulate it, so we will start with some simple examples and then go a bit dipper.Special attention  will be given to DSL and how you can construct your own implementation.

Speakers
avatar for Jevgenij Nekrasov

Jevgenij Nekrasov

.NET developer, @jnekrasov
I am passionate DIYer and I like robots. I really enjoy everything, which is done by human hands. My IT career I started with some stochastic programming experience using Java. Now I am working as .NET developer mostly on enterprise systems, trying to spend my free time playing with... Read More →

Sponsors


Wednesday November 18, 2015 16:15 - 17:10 EET
5. Theta
 
Thursday, November 19
 

09:10 EET

KEYNOTE: Mel Conway @conways_law - Coding vs. the Brain: Can't We All Just Get Along?
In an extremely short time interactive information appliances such as mobile devices, computers, and interactive kiosks such as ATMs have exploded into common use all over the globe. An understanding of how these appliances work must now join arithmetic and the calendar in the migration toward universally accessible simplicity. This migration will require a radical simplification of the conceptual model for the internal workings of interactive appliances that is more intuitive than algorithms for the mass of people.

The talk presents a hybrid unidirectional-flow/message model of the internal operation of interactive information appliances that is intuitive, generally applicable, and largely algorithm-free. It also presents design principles that formalize what-you-see-is-what-you-get construction-tool behavior. Finally, the talk demonstrates a proof-of-concept application builder that conforms to these design principles and that builds small applications that work according to the new conceptual model.

Speakers
avatar for Melvin Conway

Melvin Conway

Melvin Edward Conway is an early computer scientist, computer programmer, and hacker who coined what's now known as Conway's Law: "Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations... Read More →


Thursday November 19, 2015 09:10 - 10:10 EET
1. Alfa

10:30 EET

(NENAUDOJA)Venkat Subramaniam @venkat_s - Transforming Your Code to Java 8
The new facilities in Java 8 is about the change the way we write code. Our code will become more expressive and concise. But, exactly how? In this presentation we will take several common Java code examples, discuss the core idea expressed in code, and transform that code to use the facilities in Java 8. Watch and interact as you see Java code go through a weight loss program right in front of your eyes.

Speakers
avatar for Venkat Subramaniam

Venkat Subramaniam

Award-winning author, founder of Agile Developer, venkat_s
Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at... Read More →


Thursday November 19, 2015 10:30 - 11:25 EET
1. Alfa

10:30 EET

(SLIDES) Felienne Hermans @Felienne - A board game night with geeks
So this one day, I am playing the board game Quarto (http://en.wikipedia.org/wiki/Quarto_%28board_game%29) with my friend and I wonder, can this game end in a tie, or is there always a winner?

Normal people might have squabbled or shrugged, but not us nerds! We obviously abandoned the game, took our laptops to the local pub and started hacking. In this talk I will explain how I used F# to transform this problem to satisfiability, and ran it through a sat solver to discover if it can indeed end in a tie.

I will also show how to apply the same technique to more useful problems such as scheduling and register allocation.

Speakers
avatar for Felienne Hermans

Felienne Hermans

Professor in software engineering, Felienne
Felienne is an assistant professor at Delft University of Technology. During her PhD project, she researched the applicability of refactoring and smell detection to spreadsheets, and founded a spin off based on this idea. Now a professor, she continues her mission to improve spreadsheets... Read More →



Thursday November 19, 2015 10:30 - 11:25 EET
2. Beta

10:30 EET

(SLIDES)Motiejus Jakštys @mo_kelione - Unikernels and the future of secure cloud computing.
Over one million AWS customers are happy with the benefits they get from Cloud Computing. One of the reasons for this is the vast array of choice they have in how they run their applications in the cloud. One choice customers have to run their applications, that is not so well known, is to use Unikernels. At the end of the talk, you will understand how Unikernels can make your applications efficient, scalable and secure.

The talk will be followed by a demonstration on how we all can take advantage of unikernels right now. An existing Linux-runnable web service will be converted to a unikernel and executed both the local desktop and on Amazon EC2.

Speakers
avatar for Motiejus Jakštys

Motiejus Jakštys

Software developer, Amazon Web Services
Motiejus calls himself a developer with a pager. His first computer hobby was tweaking the boot sequence of MS-DOS and early Windows OSes. Currently he works for the Amazon WorkMail team to deliver the greatest customer experience for businesses on the move.



Thursday November 19, 2015 10:30 - 11:25 EET
4. Zeta

10:30 EET

(SLIDES)Phillip Trelford @ptrelford - Beyond Lists
Selecting appropriate data structures is key to your application's performance.
In this session we'll go beyond lists to find orders of magnitude performance improvements.
Expect plenty of live demos and anecdotes gathered over decades of financial and AAA video game development

Speakers
avatar for Phillip Trelford

Phillip Trelford

Sean's dad, @ptrelford
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 19, 2015 10:30 - 11:25 EET
3. Lambda

11:45 EET

(SLIDES)Mathias Brandewinder @brandewinder - The T in TDD: Test, Types, Tales
Test-Driven Development is about writing a test first, then the code that satisfies the test. Or... is it?
Classic TDD has been crucial in my growth as a developer; and yet, as I started using F# more and C# less, my coding practices have evolved dramatically. Nowadays, I barely test first, but spend my days in the scripting environment. In this talk, I will examine how I write code in F# today, in a style I consider very much inspired by TDD; I will also discuss how exploring two paradigms (C# and F#) forced me to re-examine my beliefs, and evolve a slightly different (and perhaps less language specific) understanding of some of the same core principles.

Speakers
avatar for Mathias Brandewinder

Mathias Brandewinder

F# and functional programming expert, @brandewinder
Mathias Brandewinder has been developing software for about 10 years, and loving every minute of it, except maybe for a few release days. His language of choice was C#, until he discovered F# and fell in love with it. He enjoys arguing about code and how to make it better, and gets... Read More →



Thursday November 19, 2015 11:45 - 12:40 EET
4. Zeta
  Beginner

11:45 EET

(SLIDES) Randy Shoup @randyshoup - Service Architectures at Scale: Lessons from Google and eBay
Over time, almost all large, well-known web sites have evolved their architectures from an early monolithic application to a loosely-coupled ecosystem of polyglot microservices. While first-order goals are almost always driven by the needs of scalability and velocity, this evolution also produces second-order effects on the organization as well. This session will discuss modern service architectures at scale, using specific examples from both Google and eBay.

It will cover some interesting -- and perhaps nonintuitive -- lessons learned in building and operating these sites. It continues with some more advanced implications of a microservices architecture, including SLAs, cost-allocation, and vendor-customer relationships within the organization. It concludes by exploring a set of common service anti-patterns.

Speakers
avatar for Randy Shoup

Randy Shoup

Consulting CTO (former eBay, Google, KIXEYE), @randyshoup
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 →



Thursday November 19, 2015 11:45 - 12:40 EET
1. Alfa

13:40 EET

(SLIDES)Chris Condron @CLCondron - Unsafe at any Speed - Successful high performance low latency systems in C#
A walk through of key pieces of a working production architecture that performs real-time analytics and visualization on 113 million data points per second on a single desktop class workstation. This was achieved through a combination of message oriented processing and unsafe data structures in key locations.
We will review how we mixed managed code across the majority of the application with unsafe data structures in key algorithmic location giving the best of both world.
We will review the details of simple custom memory management used in the allocation unsafe data without leaks or GC thrashing and some of the particulars of the general algorithmic approaches leveraging data locality and pointer operations.
Finally we will review the message based data processing pipeline that routes the processing through the system.

Speakers
avatar for Chris Condron

Chris Condron

Software Engineer and Architect, @CLCondron
Software Engineer and Architect for 15 + years in Telecom, Financial Services, and Medical Devices. Currently building high performance low latency distributed systems using message oriented architectures, DDD, and CQRS.



Thursday November 19, 2015 13:40 - 14:35 EET
3. Lambda

13:40 EET

(SLIDES) Kevlin Henney @KevlinHenney - Functional Programming You Already Know
From JVM to .NET languages, from minor coding idioms to system-level architectures, functional programming is enjoying a long overdue surge in interest. Functional programming is certainly not a new idea and, although not apparently as mainstream as object-oriented and procedural programming, many of its concepts are also more familiar than many programmers believe. This talk examines functional and declarative programming styles from the point of view of coding patterns, little languages and programming techniques already familiar to many programmers.

Speakers
avatar for Kevlin Henney

Kevlin Henney

Independent consultant and trainer, @KevlinHenney
Kevlin is an independent consultant and trainer based in the UK. His development interests are in patterns, programming, practice and process. He has been a columnist for various magazines and web sites, including Better Software, The Register, Java Report and the C/C++ Users Journal... Read More →



Thursday November 19, 2015 13:40 - 14:35 EET
1. Alfa

14:55 EET

(SLIDES) Tomer Gabel @tomerg - Onboarding at Scale: An Engineering Problem
Of the myriad challenges in scaling up an engineering organization, onboarding new employees is probably the least well-understood. There are relatively common solutions for large-scale recruitment, finance and administration, but onboarding remains a question that many organizations struggle with.

At Wix we've been struggling with massive scaling challenges: over the last two years our company headcount has doubled itself, and we had to learn to cope with the influx while maintaining velocity. In this talk we'll share with you the story of how we set up Wix Academy, an engineer-driven training organization, the solutions we've developed (and still are!), and what we've learned in our first year of operation.

Speakers
avatar for Tomer Gabel

Tomer Gabel

Scala expert, tomerg
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 →



Thursday November 19, 2015 14:55 - 15:50 EET
4. Zeta

14:55 EET

Dmytro Mindra @dmytromindra - Let's Build a 2D Game!
Dmytro Mindra, just left Unity Technologies, the company that ships one of the best cross platform game engines. He still can teach you some game development if asked ;)

Dmytro will make an introduction to game development in Unity and will show how to make a simple 2D game in just an hour. The material for this talk is simple enough for those who have no experience in working with Unity and will feature some really basic C#.

What will you learn? Attendees will get all the material and knowledge to create a simple 2D space shooter game (vertical scroller).

What do we need? Good mood. Basic programming skills (or at least basic copy and paste skills). Laptop with Unity 5.2 installed, if you want to follow some steps.

Who may come? Everyone, who wants to have fun and to learn how to make a simple 2D space shooter game.

And we will give special prizes to those of you who will make the best BuildStuff themed game ;)


Speakers
avatar for Dmytro Mindra

Dmytro Mindra

Test automation expert, @dmytromindra
Dmytro holds the position of Software Development Engineer in Test at Unity Technologies. He is one of the Toolsmiths who are developing tools for test automation. Prior to joining Unity, Dmytro has worked for Microsoft and Lohika. He is a frequent speaker at various conferences and... Read More →


Thursday November 19, 2015 14:55 - 15:50 EET
5. Theta

14:55 EET

(SLIDES) Ian Cooper @ICooper - Brighter for robust, scalable .NET apps
Brighter http://iancooper.github.io/Paramore/Brighter.html is an OSS library for .NET that allows you to build a robust, fault-tolerant Command architecture for .NET. It supports pipelined execution of commands both in-process and via a Task Queue, and was highlighted in the May 2015 ThoughtWorks Technology Radar. In this presentation we look at what Brighter is, how it does it, and show you how to build robust distributed system with it.

Speakers
avatar for IAN COOPER

IAN COOPER

Polyglot Coding Architect, JustEat
Polyglot Coding Architect in London, founder of #ldnug, speaker, tabletop gamer, geek. Tattooed, pierced, and bearded. The 'guv' on @BrighterCommand



Thursday November 19, 2015 14:55 - 15:50 EET
3. Lambda

14:55 EET

(SLIDES) Kristjan Korjus @kristjankorjus - Artificial Intelligence that plays Atari video games: How did DeepMind do it?
We replicated the work of DeepMind as an open source project and created an artificial intelligence that can learn to play different video games in a super-human level without any human intervention. I will talk about deep learning, reinforcement learning and their combination called deep Q-Network.

Speakers
avatar for Kristjan Korjus

Kristjan Korjus

Co-author of "Bedside Reading About Mathematics", UK
Co-author of the 3rd best selling book in Estonia in 2014 "Bedside Reading About Mathematics", Kristjan co-founded matemaatik.ee which was an MIT Global Start-up Conference finalist and Garage48 Hackathon winner. In his spare time, Kristjan led a successful GitHub project "Replicating DeepMind" and is finishing a Ph.D. in Machine Learning. He holds a first class master's degree in mathematics from The University... Read More →



Thursday November 19, 2015 14:55 - 15:50 EET
2. Beta
 
Friday, November 20
 

11:20 EET

(NENAUDOJA)Venkat Subramaniam @venkat_s - Let's Get Lazy
How can big data or highly responsive applications scale to the increasing demands for speed and short response time? Adding more servers to the cluster is not the answer. The smartness comes from being lazy as laziness can translate to efficiency and scalability. In this presentation we will learn about what lazy evaluation is, explore some data structures and APIs that promote lazy execution, and tie it back into scalability and efficiency.

Speakers
avatar for Venkat Subramaniam

Venkat Subramaniam

Award-winning author, founder of Agile Developer, venkat_s
Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at... Read More →


Friday November 20, 2015 11:20 - 12:15 EET
1. Alfa

11:20 EET

(SLIDES)Chris Condron @CLCondron - Teaching my Team CQRS
I first attended one of Greg's workshops on CQRS and message driven architectures several years ago and fell in love with the design patterns. However what seems so clear to me seems to often elude even senior developers who I try to introduce it to. The key element I've found in getting developers to write code using the new patterns is to get them thinking in the new patterns. Solving problems in the new way, rather than what they have always done. I'll be talking about the problems I've seen on different teams moving from a training context to solving problems in production code under a deadline. Then we'll cover some of the key mental blocks to adopting the new methodologies. Finally walking through successful approaches that have gotten people thinking and solving problems in the new ways.

Speakers
avatar for Chris Condron

Chris Condron

Software Engineer and Architect, @CLCondron
Software Engineer and Architect for 15 + years in Telecom, Financial Services, and Medical Devices. Currently building high performance low latency distributed systems using message oriented architectures, DDD, and CQRS.


Friday November 20, 2015 11:20 - 12:15 EET
4. Zeta

11:20 EET

Amanda Laucher @pandamonial - Property Based Testing: Shrinking the Risk in Your Code
Perhaps you’ve been hearing a lot about Haskell programmers being absolutely certain that their code is correct but you haven’t taken the leap into day to day Haskell development. Do not despair, there are techniques that can allow you to have confidence in your code without needing to change your development stack. In fact, you can use the same testing techniques Haskellers use without even using a language with a static type checker.

In this session we will be looking at Property Based Testing, and how this approach can allow us to avoid thousands of lines of testing code when ensuring that our code meets specification. Property Based Testing generates inputs based on the properties of the program that we stipulate, and so are based on the business logic, in the same way that types are. Furthermore, if the test fails, a good framework will shrink the problem to the smallest possible data set that gives an error, helping to pinpoint the bug. This session requires no previous knowledge of free-monads, co-products, or other terms you may have grown to hate. 

Speakers
avatar for Amanda Laucher

Amanda Laucher

Graph databases expert, @pandamonial
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 graph databases... Read More →


Friday November 20, 2015 11:20 - 12:15 EET
3. Lambda

13:15 EET

Mathias Brandewinder @brandewinder - Crunching through big data with MBrace, Azure and F#
For data exploration and rapid prototyping, the productivity of an interactive scripting environment is hard to beat: simply grab data, run code, and iterate based on immediate feedback. However, that story starts to break down when the data you have to process is big, or the computations expensive. Your local machine becomes the bottleneck, and you are left with a slow and unresponsive environment.
In this talk, we will introduce MBrace.net, an open-source and free engine for scalable cloud programming. Using the MBrace programming model, you can keep working in your beloved familiar scripting environment, and easily execute C# or F# code on a cluster of machines on Azure. We will focus primarily on live demos, from provisioning an Azure cluster with Brisk, to analyzing large datasets in a distributed fashion; in particular, we will discuss how this setup is relevant to data science and machine learning.

Speakers
avatar for Mathias Brandewinder

Mathias Brandewinder

F# and functional programming expert, @brandewinder
Mathias Brandewinder has been developing software for about 10 years, and loving every minute of it, except maybe for a few release days. His language of choice was C#, until he discovered F# and fell in love with it. He enjoys arguing about code and how to make it better, and gets... Read More →


Friday November 20, 2015 13:15 - 14:10 EET
4. Zeta

13:15 EET

(SLIDES) Michael Feathers @mfeathers - The Slow Steady Industry Move Toward Tacit Programming
We're all aware that the industry is moving from Object-Orientation toward Functional Programming, but the move may be even deeper than that. As we adopt a strongly compositional style using tools like LINQ, Rx, Java Streams, and Ruby's Enumerable, we find that we approach a type of programming that is closer to what is common in the APL family of languages. This talk will explore the trend and its possible ramifications.

Speakers
avatar for Michael Feathers

Michael Feathers

WELC author, @mfeathers
Michael Feathers is the Founder and Director of R7K Research & Conveyance, a companyspecializing in software and organization design. Prior to forming R7K, Michael was the ChiefScientist of Obtiva and a consultant with Object Mentor International. Over the past 20 years hehas consulted... Read More →


tacit pdf

Friday November 20, 2015 13:15 - 14:10 EET
1. Alfa

13:15 EET

(SLIDES) Sam Elamin @samelamin - Monoliths to Microservices. A Journey
Your monolithic system is a pain to work with and maintain. Moving to a distributed system will solve all your problems and you will be in developer heaven. Right? You will be working with cool technologies and amazing concepts. Plus, it's Microservices! So what could possibly go wrong?

In this talk Sam Elamin will relate his real life experience migrating a single ASP.NET application with a monolithic database to a distributed system dealing with £100,000 transactions every hour. Sam will cover the challenges faced, the lessons learned, and offer some final takeaways.

This "from the trenches" story will show you the pitfalls to avoid when doing Microservices.

Speakers
avatar for Sam Elamin

Sam Elamin

Software Craftsman, Samelamin
Sam has been a software developer professionally for the last 8 years, but has been programming just for fun from a long-long time ago! Sam loves Agile, TDD and Clean code. But over all the software craftsmanship movement, he is a DDD evangelist and of course an active member and... Read More →



Friday November 20, 2015 13:15 - 14:10 EET
2. Beta

13:15 EET

Pavlo Baron @pavlobaron - Why monitoring sucks, and how to improve it
Computers are good at solving recurrent problems. Much better than humans are. And still, we keep them dumb with a set of simplest heuristics when it's about monitoring complex infrastructures, leaving the largest part of the job - issue recognition and analysis - to ourselves. This might work with a server or two, but definitely won't in a larger setup, even if we convince ourselves it would. We need new approaches to monitoring our systems that combine the best of software engineering and mathematics. In this talk, I will explain the vision and the targets towards it.

Speakers
avatar for Pavlo Baron

Pavlo Baron

Big Data expert, @pavlobaron
Pavlo Baron is lead data technologist with codecentric AG. His passion are high-performance, distributed systems and large data sets – the infrastructure behind what they call Big Data. Pavlo is frequent conference speaker and has written four German books: "Big Data for IT decision... Read More →


Friday November 20, 2015 13:15 - 14:10 EET
3. Lambda

14:30 EET

(SLIDES) Kevlin Henney @KevlinHenney - Programming with GUTs
These days testing is considered a sexy topic for programmers. Who'd have thought it? But what makes for good unit tests (GUTs)? There's more to effective unit testing than just knowing the assertion syntax of a framework.

Testing represents a form of communication and, as such, it offers multiple levels and forms of feedback, not just basic defect detection. Effective unit testing requires an understanding of what forms of feedback and communication are offered by tests, and what styles encourage or discourage such qualities.

What style of test partitioning is most common, and yet scales poorly and is ineffective at properly expressing the behaviour of a class or component? What styles, tricks and tips can be used to make tests more specification-like and can scale as the codebase grows?

Speakers
avatar for Kevlin Henney

Kevlin Henney

Independent consultant and trainer, @KevlinHenney
Kevlin is an independent consultant and trainer based in the UK. His development interests are in patterns, programming, practice and process. He has been a columnist for various magazines and web sites, including Better Software, The Register, Java Report and the C/C++ Users Journal... Read More →



Friday November 20, 2015 14:30 - 15:25 EET
1. Alfa

14:30 EET

(SLIDES) Yan Cui @theburningmonk - My adventure with Elm
Reactive Extensions (Rx) has brought reactive programming to the mainstream in recent years with successful adoption in languages such as C#, Java and JavaScript. But have you ever wondered what Rx will look like as a language?

Elm is a new programming language based on the idea of Functional Reactive Programming (FRP). Elm lets you create highly interactive web applications without all the messy callbacks tangling around shared states.

In this talk Yan Cui will give a gentle introduction to Elm and share his experience learning Elm and recreating Missile Command in Elm with less than 250 LOC. You will leave this session with a handle on the Functional Reactive Programming paradigm and a basic understanding of the Elm language.

Speakers
avatar for Yan Cui

Yan Cui

Scalable backend system expert, @theburningmonk
Yan works as a server side developer at Gamesys where he develops scalable backend services for Gamesys's social games on mobile and Facebook. He's a co-author of “F# Deep Dives” by Manning and a regular speaker on topics such as Aspect-Oriented Programming, F# and NoSQL. He also... Read More →



Friday November 20, 2015 14:30 - 15:25 EET
5. Theta

14:30 EET

(SLIDES) Ben Hall @ben_hall - Real World Experience Report on Running Docker
Docker has taken the world by storm and is rapidly becoming the de-facto way to deploy applications and services. With a new development and deployment approach it brings new challenges and best practices.

During this talk Ben will discuss his experiences of working with Docker on a daily basis as a development platform and deploying it into production.

Ben discuss his experience with using Docker around areas such as:
- Development, Test and Build lifecycle
- Building and creating small, streamlined, containers
- Auto-discovery architecture
- Scaling production nodes
- Resource management
- Security concerns and considerations

At the end attendees will understand the advantages along with the potential issues of running Docker based on real world experience. This should enable them to identify how to migrate and build their own applications using a container based architecture.

Speakers
avatar for Ben Hall

Ben Hall

Startup entrepreneur, ben_hall
Ben is the founder of Ocelot Uproar, a company focused on building products loved by users while helping other companies succeed with building their own businesses. He has worked as systems administrator, tester and developer, finding time to become a published author and conference... Read More →



Friday November 20, 2015 14:30 - 15:25 EET
3. Lambda

14:30 EET

(SLIDES)Rachel Reese @rachelreese - Patterns and Practices for Real-World Event-driven Microservices
At Jet.com, we've based our architecture around cloud-based event-driven microservices, and over the last several months, have schooled ourselves on what works and what doesn't. This session will walk you through the lessons we have learned on our way to developing our platform.

Speakers
avatar for Rachel Reese

Rachel Reese

Software engineer and math geek, @rachelreese
Rachel Reese is a long-time software engineer and math geek who can often be found talking to random strangers about the joys of functional programming and F#. She currently works for Jet.com in NYC. She has helped run the Nashville F# User group, @NashFSharp, and the Burlington... Read More →



Friday November 20, 2015 14:30 - 15:25 EET
2. Beta

15:45 EET

(NO SLIDES)Pieter Hintjens @hintjens - Ten Rules for API Design
Every software developer uses APIs and most of us make them. The design of a "good" API is a black art. You know one when you see one. And yet how many of us could explain why some APIs are complex and hard to learn, while others are clean, simple, and a joy to use. It's a question I'll answer in this talk, and provide ten rules for good API design.

Speakers
avatar for Pieter Hintjens

Pieter Hintjens

Expert in distributed computing, @hintjens
Pieter Hintjens is a writer, programmer and thinker who has spent decades building large software systems and on-line communities, which he describes as "Living Systems". He is an expert in distributed computing, having written over 30 protocols and distributed software systems. He... Read More →


Friday November 20, 2015 15:45 - 16:40 EET
1. Alfa
  Beginner

15:45 EET

(SLIDES) Jeroen Soeters @JeroenSoeters - The Hitchhiker's Guide To Neuroevolution in Erlang
Neuroevolution is a technique where we use algorithms inspired by nature to evolve neural networks. We will go on a journey on which we first explore the basics of a neural network, followed by looking at the beauty of evolutionary computation and ultimately go down the rabbit hole and combine the two to create a platform for evolving neural networks that can be used to tackle a wide variety of problems from cleaning robots to financial oracles.

Speakers
avatar for Jeroen Soeters

Jeroen Soeters

DDD practitioner, @JeroenSoeters
Experienced software developer with a huge passion for the job. At the moment my main focus is implementing domain driven design and micro services in big event-driven enterprise-y systems. I have mainly been working with C#, a bit of F# and these days I'm working on the JVM stack... Read More →



Friday November 20, 2015 15:45 - 16:40 EET
3. Lambda

15:45 EET

(SLIDES) Jonathan Graham @graham_jp - Reactive Systems: From Drug Development to Functional Programming
Systems built as Reactive Systems are more flexible, loosely-coupled and scalable. This makes them easier to develop and amenable to change. They are significantly more tolerant of failure and when failure does occur they meet it with elegance rather than disaster.1

The approach to the design and development of manufacturing processes for the production of new drugs within the pharmaceutical industry has changed dramatically over the last decade. Focus is given to designing systems that are responsive to issues and constraints, through knowledge of the impact of exceeding standard operating ranges and the use of real-time analytics; resilient to failures that could occur at any point within the system; elastic to changing demands that occur during the lifecycle of manufacture through a flexible and well understood approach to scalability; and message driven, whereby the resources used and specifications required for a specific segment of the system are derived by the demands external to that segment. With Quality by Design2 applied throughout the development process, the industry is now beginning to reap the benefits from the flexibility that Reactive Systems provide in production.

In this presentation we will use learning’s from the Pharmaceutical Industry to explore the extent of the Reactive Manifesto for software development, and we will look specifically at how this relates to functional programming. The public demands high and consistent quality from the medicines that we take, and we should demand that same quality from the software that we develop. If you are passionate about the quality of your code, then this talk will provide you with a new perspective on how you think about your craft.


1 http://www.reactivemanifesto.org
2 http://en.wikipedia.org/wiki/Quality_by_Design

Speakers
avatar for Jonathan Graham

Jonathan Graham

Live coding musician, graham_jp
Having spent many years in process design, developing drugs for pharmaceutical giant GlaxoSmithKline, Dr. Jonathan Graham decided to take a twist in his career by letting another passion take the drivers seat. His love for music alongside his well-honed systems thinking skills made... Read More →



Friday November 20, 2015 15:45 - 16:40 EET
4. Zeta

17:10 EET

(No slides Mark Rendle @markrendle - Programming For The Criminally Insane
Many programming languages strive to be expressive, succinct, elegant and performant.

Many others don't.

Guess which ones this talk is about.

Speakers
avatar for Mark Rendle

Mark Rendle

Creator of CloudLens and Simple, markrendle
Pathological programmer, creator of CloudLens and Simple. Data, technical raconteur, and, you know, stuff.


Friday November 20, 2015 17:10 - 18:00 EET
1. Alfa
 


Twitter Feed

Filter sessions
Apply filters to sessions.
  • Tags
  • .NET
  • actor
  • Agile
  • AI
  • Analysis
  • Anti-Money Laundering
  • API
  • Apollo Project
  • Architecture
  • backend
  • Big Data
  • C#
  • Cider
  • Client-Server
  • Clojure
  • Cloud
  • Cluster Management
  • code
  • Command Pattern
  • Computing Science
  • Consensus
  • Consistency
  • CQRS
  • Craft
  • CSS
  • Data Science
  • Databases
  • Design
  • DevOps
  • Distributed Architecture
  • Distributed Systems
  • DNS-SD
  • Docker
  • Domain Driven Design
  • EC2
  • Emacs
  • Engineering
  • Entity Resolution
  • Erlang
  • Event
  • Events
  • EventStore
  • Evolutionary Algorithms
  • F#
  • fast
  • frontend
  • Fun
  • Functional patterns
  • Functional programming
  • Games
  • Generics
  • Graph coloring
  • Haskell
  • High Performance
  • HTML
  • Hypervisor
  • Infrastructure
  • Innovation
  • Interpreterts
  • Java
  • Java 8
  • JavaScript
  • Key-value
  • Keynote
  • Lambda Expressions
  • Language implementation
  • languages
  • Lazy Evaluations
  • learning
  • Legacy Code
  • LINQ
  • Linux
  • logic
  • Low latency
  • Machine Learning
  • Management
  • mechanical sympathy
  • Memory Management
  • Message Oriented Design
  • Microservices
  • Mobile
  • Monitoring
  • motivation
  • Neural Networks
  • nodejs
  • OOP
  • parsing
  • People
  • Performance
  • pony
  • Product
  • Python
  • qualifications
  • R&D
  • Raft
  • Reactive Systems
  • Refactoring
  • REST
  • Riemann
  • Ruby
  • Rx
  • safe
  • Satisfiability
  • Scala
  • Scalability
  • SOA
  • Spaceflight
  • Storage
  • Story
  • Streams
  • System admin
  • systems empathy
  • Tasty
  • TDD
  • Technology
  • Testing
  • Unit testing
  • User experience
  • UX
  • Web
  • Web Services
  • Xen
  • Level
  • Advanced
  • Beginner
  • Intermediate
  • Non-Technical
  • Audience
  • .NET programmers
  • All programmers
  • Architects
  • C# programmers
  • C++ programmers
  • Data Scientists
  • Developers
  • Erlang programmers
  • Everyone
  • F# programmers
  • Front-end developers
  • Functional programmers
  • Java programmers
  • JavaScript programmers
  • Language Implementers
  • Machine Learning enthusiasts
  • Mobile programmers
  • priests of the actor mode
  • Product Owners
  • Python programmers
  • Ruby programmers
  • System Builders
  • Team Leads
  • Web programmers