On August 5th 2012, NASA landed its most capable robotic geologist on the surface of the Red Planet. The Mars Science Laboratory (MSL) mission landed a 2000 lb rover, the size of a compact car, to explore the planes of Mars. The rover, aptly named Curiosity, will search for organic compounds, characterize the climate and geology, and continue the search for life. One of the most challenging aspects of the mission, from an engineering perspective, was safely landing the rover on the surface. The entry descent and landing (EDL) system used a heat shield to accommodate its hypersonic entry conditions, followed by a supersonic parachute, and eight retro rockets for the powered descent phase. For its final terminal descent, a maneuver called the sky crane was used where the rover was lowered on tethers for touchdown. The talk will describe the motivation for Mars Exploration and how the MSL EDL engineering challenges were tackled with computational modeling and cutting edge experimental techniques.
by Sam Davies
In the early days of developing for iOS (or iPhone OS as it was called), designing the UI was relatively simple. You had just one screen size to deal with, and it was possible to create a pixel-perfect design. Fast-forward to now, there are many more screen sizes - making the original approach completely unscalable. Apple has introduced a few different techniques to deal with, primarily the concept of Adaptive Layout.
In this talk we'll dive into what Adaptive Layout is, before running through some live examples. We'll cover the concepts, and some tips for using Interface Builder. We'll also discuss some "best practices" to dealing with multiple screen sizes, taking inspiration from the web, Android and iOS.
Git is an incredibly popular version control system, used for small projects and large, for open source and in the enterprise. But how does it actually work? Git is very different from a traditional centralized version control system and understanding how it models history allows you to harness its power. In this session you will learn about the internals of Git and how it actually works, making it both fast and flexible. We will learn the fundamentals of a repository and how to successfully collaborate with other developers using Git.
It can be surprising to see open source take root and be successful in a company that you expect to be slow moving and resistant to 'new' models of software development and commerce. Clearly, we wouldn't be talking about a company like Microsoft. Hear about first-hand examples of culture change in a corporate giant and approaches to make your management demand more open source and community collaboration. Start training.
Lean teams can go extremely fast. If they are heading in the wrong direction, they will simply fail faster.
Instead of feature farming, we need to deliver better outcomes.
To make it easier to understand how to build outcomes, Gabrielle Benefield will walk through the Mobius loop, a lean framework that helps organizations create, measure and deliver outcomes. She will then show two examples, one from health care that is literally saving lives, and one from an e-commerce company that helped save million dollars a year within three days of implementing outcome thinking.
"Mobius is a game-changer" David Hawdale, UX lead
"Mobius made us bin our backlogs and realise that 80% of what we had in there was complete waste"? Jamie, Product Manager Skype
We’ll never be able to understand large-scale systems from a single snapshot of the code. Instead we need to understand how the code evolved and how the people who work on it are organized. We also need strategies that let us find design issues and uncover hidden dependencies between both code and people. Where do you find such strategies if not within the field of criminal psychology?
This session will reveal the wealth of information that's stored in our version-control systems. You'll learn to predict bugs, detect architectural decay and find the code that is most expensive to maintain. Along the way you'll also see how you evaluate knowledge drain in your codebase, learn the social pitfalls of team work and much more. As a bonus you'll get an introduction to both modern offender profiling and its powerful counterparts in the software world.
To achieve this, the session combines research on software evolution with findings from various fields of psychology.
A lot is going on in server side .NET. Open sourcing the framework and runtime. Making it all x-platform. Decoupling from Visual Studio. Making x-platform command-line-first tooling. A lot. And it's even happening right there on GitHub. But what is .NET Core, DNX, CoreFx? Where does all this leave existing .NET server code?
In this talk we take we come to grips with the big picture of these new concepts and dive right into using .NET Core and DNX to write a small service and deploy to it both Windows and Linux to demonstrate some of the more promising features of the new .NET.
by Allan Ebdrup
Did you know that GitHub kicks ass?
At Debitoor we have gone from 14 day sprints to Continuous Deployment. We deploy to production ten times a day or more. Git and GitHub has been instrumental in our transformation. Not just GitHub, but the whole ecosystem of 3rd party tools and add-ons that have grown around GitHub. You can rent a complete set of integrated web-based tools for all your teams software development needs.
I will explain our git branching strategy, with only one long lived branch and feature branches. Feature branches are not evil, they are great, if you use them like we do.
I will also be talking about how GitHub and Pull Requests rule our world. Our Continuous Integration automatically runs our test suite on GitHub Pull Requests. We have no need for an AD, we use GitHub auth instead. Our Kanban board has no database, it's just a layer on top of GitHub. Provisioning parallel staging environments is based on GitHub Pull Requests. And our company chat system is just a layer on top of GitHub.
How many times did I just write GitHub? I really like GitHub.
Today's kids are often referred to as "digital natives", because they are so used to computers and tech gadgets. But they are mostly *consumers* rather than producers. That's like being able to read, but not write. In this increasingly computer-powered world, all kids should get a chance to learn to *create* software rather than just consume. How can we make coding so fun that even normal non-geek kids want to learn? Henrik has four kids and has been experimenting with this for years. In this talk Jenny (10 yrs) and Dave (11 yrs) and their sidekick Henrik (42yrs) will demonstrate some useful tools and techniques for running kid-friendly coding workshops. We'll build fun games using Scratch, gain superpowers in Minecraft using LearnToMod, and fight epic battles using CodeCombat. This workshop is aimed at parents who want to help their kids get started with coding.
by Jay Fields
Unit Testing has moved from fringe to mainstream, which is great. Unfortunately, developers are creating mountains of unmaintainable tests as a side effect. I've been fighting the maintenance battle pretty aggressively for years, and this talk captures what I believe is the most effective way to test.
by Christian Vasile
Great software and great usability are a powerful combination. During this talk you will get an insight into why usability is important to software developers and why companies all around the world invest millions into it.
There will be a lots of real-life examples of how usability improves user engagement and turns decent programs or apps into excellent ones. We will discuss about good practices and minor things you can do right away to improve your user interface.
You will not leave home with theories and things you can’t use, but with real-life examples and an action plan. My goal is also to convince you that usability is worth investing money into
Don't ask what robots can do for you, ask what you can do for robotics!
Robotic systems blend hardware and software in a holistic way that raises many crosscutting concerns (concurrency, time constraints, safety, ...), for which reason general-purpose languages often lead to a poor fit between language features and implementation requirements. In other words: robots are really difficult to program! Domain-Specific Languages (DSLs) are a powerful tool for overcoming this problem, enabling the programmer to quickly and precisely solve complex problems within the robotics domain - provided we can get the DSLs right.
In this talk you will learn about self-rebuilding, transforming robots aka self-reconfigurable robots, and in particular how we use DSLs to deal with the issue of programming such robots efficiently. I'll be talking about he challenges of programming a distributed swarm of unreliable robotic modules, and the lessons learned in evolving a series of DSLs for overcoming these challenges.
Attend this talk to get answers to important questions such as "what are the popular languages and software platforms in the robotics community?"and "how should I go about developing DSLs for robots?". Along the way you ill also get answers to unconventional questions such as "what does my robot do if I run its controller program in reverse?".
by Steve Smith
Continuous deployment is causing organizations to rethink how they build and release software. Atlassian is adopting this model throughout the company, but not all teams have the same challenges to overcome in doing so. Steve Smith lead the team that converted the company's critical order-processing system from a monolithic, single-server application to a continuously-deployed, high-availablity platform. Along the way there were a lot of practical and organizational issues that needed to be addressed in adopting this development model; in this presentation he shares some of the experiences and lessons of doing so. This talk covers continuous deployment from a number of different angles; high-availability requirements, development processes (in particular git-based branching workflow), practical delivery technologies (including analysis of the trade-offs), and organisational considerations and bottlenecks (e.g. SOX/PCI compliance issues).
by Saul Mora
In this presentation, Saul will bring us up-to-date on where Core Data is now in 2015 with iOS 9. In particular, he will focus on best practices of using Core Data in Swift. He will answer interesting questions such as "should I still be using objects, or should I switch to value types". He will show you the wonders of Magical Record from the eyes of a Swift developer, and show how it still can help you in your modern Core Data for iOS code.
RavenDB is a 2nd generation document database, with built-in load distribution, seamless replication, disaster recovery and data-driven sharding.
In this session, we are going to explore how RavenDB deals with scaling under load and remain highly available even under failure conditions.
We'll see how RavenDB's data-driven sharding allows to increase the amount of the data in our cluster without giving up the benefits of data locality.
We are are going to execute complex distributed map-reduce queries on a sharded cluster, giving you lightning-fast responses over very large data volumes.
ASP.NET 5 has been rebuild from the ground up to be the best web development platform for Windows, Mac, and Linux. ASP.NET 5 is designed for faster development cycles and adds lightweight modular components that only consumes 11 MB RAM.
Add features via NuGet packages and choose your development tools Visual Studio, Sublime, Visual Studio Code … and enhance you build process with Npm, Bower, Grund and Gulp.
ASP.NET 5 has combined MVC and Web API into one platform and added extra feature such as Tag Helpers and View Components.
by Håkan Forss
“We are what we repeatedly do. Excellence, then, is not an act, but a habit.” - Aristotle
You have been doing agile for a few years now. With a regular cadence you have retrospectives and a lot of problems and great improvement opportunities are raised but you don't seem to really improve. Let us put your retrospectives on steroids. Start using Toyota Kata!
Building on the power of habits, Toyota Kata will help you build a daily continuous learning and improvement culture, a kaizen culture.
In this session, you will be introduced to the two main Kata* of the Toyota Kata, the Improvement Kata and Coaching Kata. You will learn how the Improvement Kata and Coaching Kata can become your “muscle memory” for continuous learning and improvements in your organization. These daily habits or routines will help you to strive towards your state of awesomeness in small experiments focused on learning. The Improvement Kata will form the habits of doing small daily experiments focused on learning and improving. The Coaching Kata will form the habits of the agile leaders for creating a culture of continuous improvement, adaption,
In this session, Toyota Kata will be taken out of the manufacturing context and put it into the knowledge work context. You will learn how you can start applying the Improvement Kata and Coaching Kata in a software development context as a compliment or a replacement of the agile retrospective.
Time to stop collecting problems and start forming new habits of learning and improving!
(*) Kata means pattern, routine, habits or way of doing things. Kata is about creating a fast “muscle memory” of how to take action instantaneously in a situation without having to go through a slower logical procedure. A Kata is something that you practice over and over striving for perfection. If the Kata itself is relative static, the content of the Kata, as we execute it is modified based on the situation and context in real-time as it happens. A Kata as different from a routine in that it contains a continuous self-renewal process.
How Toyota Kata can become the catalyst for creating a culture of continuous learning and improvement, a kaizen culture.
How Improvement Kata and Coaching Kata can become your “muscle memory” for continuous learning and improvements in your organization.
How the Coaching Kata will form the habits of the agile leaders of the organization to help the learners learn and improve.
How Improvement Kata and Coaching Kata can become a compliment or a replacement of the agile retrospective.
How small daily experiments lower the resistance to change and builds a kaizen culture.
How to use the great power of habits to build a new culture.
How to apply the Improvement Kata and Coaching Kata in a software development context
Scrum is by far the most used ( and abused !!) Agile framework in use currently across the globe.
But is Scrum working for you? Is it making your team more productive or restricting them? You are working on a POC or an R&D project and two weeks seems too far to get feedback? Is Scrum really suitable for all your products and projects?
Most organizations and teams adopting Scrum have had to answer these questions sooner or later and they have struggled to find the right answers...and I am sure YOU have been there too.
Till date 15 organizations have adopted Battlefield Agility and they have reported up to 45% increase in their productivity over traditional Agile methods. Your Army is here to help you think beyond Scrum and reap the benefits of Agility.
The authors of 'Battlefield Agility', a framework for supercharged Agile teams, borrows the key principles of continuous success and discipline from the Armed Forces. The Army often exults memories of command and control, but time and time again, through multiple battles Army units emerge successful. So, is there a hidden mantra there, which we can use to make our teams more effective and productive? Combining principles from the Army with people focus from Agile and behavior management from the Fish! Philosophy, Battlefield Agility provides a sustainable path to success.
In this presentation, you will learn the principles and practices of Battlefield Agility, how to use them daily at your workplace and how you can build supercharged teams that continuously succeed in their goals.
Continuous delivery is just as important for native mobile apps, as it is for every other software project, but it is not yet so widespread among native app projects.Based on real world projects, this presentation will convince you that it’s not so different from doing it for eg. web applications. The basics in terms of branching strategy, CI setup for building and testing, as well as distributing test-builds will be covered, but the main focus will be on how to ensure the quality with automated tests. Besides a short introduction to Cucumber/Calabash, the tools used for the automated UI-tests, we’ll take a deeper dive into areas like - How to structure your test code for good re-use and maintainability - Do's and Don'ts to make sure your tests run both fast and stable - CI details to ensure great reporting - How to run the tests on real devices in a Test Cloud
by Søren Tranberg Hansen
In recent years, robotics has moved from industrial production to the consumer market and IT-companies like Google, Amazon and Facebook are now entering the field. Powered by cheap but powerful devices, breakthroughs in Artificial Intelligence and cloud-based solutions, robotics has become one of the most promising emerging technology areas. In this talk, I will go through some of the newest techniques and solutions and provide tools, tips and tricks on how to start a successful robot project.
TypeScript ♥ - a look at SPA's with Angular 2
In this talk we will take a look at TypeScript, and also get an introduction to some of the tools that build on it, like facebooks ImmutableJS and Angular 2, which is the newest kid on the block that we will look at. It is time to come on board with TypeScript, and start thinking about how you want to build the web-applications of tomorrow.
by Jesper Boeg
Few tools and artifacts survive more than a few years in my toolbox before I replace them with something I have found to be more effective. Story Mapping is however the exception and for the last 5-6 years it has been my weapon of choice when trying to find the most valuable things to do first and align multiple stakeholders towards a common vision. Originally inspired by Jeff Patton’s 2008 blog “The new backlog is a map”, my approach has of course changed considerably since I first started using it, but still much of the core remains the same.
In this talk I will present my experiences with Story Mapping. The cross-breed version I am using right know and why I think it is such a powerful tool to help you better understand what you are trying to achieve, prioritize your business needs and not the least get to market faster with much better alignment between the stakeholders involved. Though primarily used in the Agile world I have found it at least as effective in the world of more traditional stage gate governance models, since no matter the method it forces you to identify what is truly important to your users and the importance of alignment and prioritization.
No matter if you are a fan of traditional waterfall stage gate approaches or a true agilist this session should provide some explicit tools and practices that will make you think twice before you start planning your next project or product release.
by Michel André
Michel will walk you through why application performance matters, not just for a great user experience, but also for the bottom line of the business. Understanding the main factors, which affect performance from server design and API design to network infrastructure and application architecture. Exploring strategies for performance optimisation in html5 trading applications. These patterns are applicable to all kinds of html5 and web application building but are crucial to successfully deliver a performant trading application to a demanding client base.
Mutation testing is a technique for systematically mutating source code in order to validate test suites. It makes small changes to a program’s source code and then runs a test suite; if the test suite ever succeeds on mutated code then a flag is raised. I’ll begin this talk with a description of the theory behind mutation testing, and then I’ll move into an analysis of Cosmic Ray, a tool for mutation testing in Python. While some of the details of this talk will necessarily be Python-specific, the concepts and lessons are broadly applicable and should be interesting to anyone involved in producing software.
Early last year CocoaPods was on the road to a solid, stable 1.0.0 release. Then Apple threw a wrench in the works with Swift and Frameworks. A year later we're still playing catch-up. Marius, the author of most of the frameworks support and Orta, CocoaPod's Design Dictator will talk about the process of creating frameworks support for Swift.
by Preben Thorø
It used to be for a certain kind of nerds only. But recently, drones have become a kind of consumer electronics. Maybe the clearest sign of us expecting to see more and more drones in the near future, is the fact that we have made restrictions about where and how to fly them. It is the happy dot-com days combined with the golden age of mobile apps revisited. Useful and not so useful usage patterns arise and no idea is too far out. In this talk, we will take a closer look at one of the commercially available, serious and yet buyable quad-copters, and most importantly, how we can use its SDK in our own apps. All code shown will be Objective C, but no iOS knowledge as such is needed to understand the examples.
5th–8th October 2015