We can learn a lot from historic patterns. We can observe that all of this has happened before - and all of this will most likely happen again. Every time, it feels just as unique as last time. When incumbent industries are threatened by a new and disruptive technology, they will use any justification imaginable to kill it in its infancy, trying to convince legislators that their particular special interest is a public interest. It always ends badly.
Looking at history, as industries become threatened by new technology, they typically embrace it in public and talk passionately about its potential, but only in terms of how the new technology can support the existing and incumbent industries. Under absolutely no circumstances
must the new technology be allowed to come into a position to replace the currently dominant industries.
by Trackhost: Jutta Eckstein
Every agile approach takes place within a given context - the corporation. Agile product or project development, especially within large corporation are facing here specific challenges provided by the larger framework. The common departmental structure is often experienced more like a burden than support. As well the organization's structure (yes, and of course as well its culture) can be experiences as being more or less helpful. Yet still, in order to become successful the agile undertaking has to deal with these challenges.
In this session, I want to explore how departments like Human Resources, Legal, Marketing, Sales, yet as well Quality Control, or Operations can support and how can they hinder agility. Despite the challenges, the focus is on leveraging the departments in order to become successful. Thus, involving everyone who is affected early on and making them part of the agile approach is crucial. This session is based on my experiences working in large and distributed corporations, yet the variety of the participants' experience will make all the difference.
by Alan Boykiw
This session will focus on how multi-touch user interface concepts are being applied to personal, mobile and large format devices. Attention will be paid to emerging trends, interaction models and the factors that require attention when designing gesture and touch interfaces. The landscape of multi-touch will also be described considering alternate technologies, industries and operating systems. User experience examples and techniques will be shown throughout the talk.
by Josh Long
Let's face it, the cloud's here to stay. Spring's always been about portability and choice, and the cloud is no different. CloudFoundry, introduced to rave reviews and massive enthusiasm in the NOSQL, Node.js, Ruby, Scala and Java communities, represents the most promising, most open cloud platform for Java and Spring applications today, and tomorrow. In this talk, Josh Long will introduce CloudFoundry, it's architecture, and how it can be used with existing Spring applications and new ones, leveraging Spring 3.1.
by Jim Webber
In this talk we'll take a broad look at NOSQL databases, including motivating similarities and more importantly their different strengths and weaknesses. In more depth, we'll focus on the characteristics of graph databases for managing connected data and the kinds of problem domains for which they are best suited. To reinforce how useful graph databases are, we provide a rapid, code-focussed example using Neo4j covering the APIs for manipulating and traversing graphs. We'll then use this knowledge to explore the Doctor Who universe, using graph databases to infer useful knowledge from connected, semi-structured data. We conclude with a discussion of when different kinds of NOSQL stores are most appropriate.
by Kasper Lund
Dart is a new programming language for the web. To make Dart run in all modern browsers, we have implemented an optimizing Dart-to-JavaScript compiler. Performance-wise the biggest challenge is the gap between the semantics of Dart's low-level operators and JavaScript's builtin primitives. This presentation will introduce you to the Dart language and the deployment options before diving into the details of the intermediate representation and the implemented optimizations.
The creative destruction caused by the emergence of the Web 20 years ago is still being felt. Profound changes to industries, education, our relationships, how we communicate, etc. have swept us up into entirely new ways of living our lives. What if this is only the beginning? What if we have only seen a portion of the potential of Tim Berners-Lee's original vision? What happens when we move away from just documents and web applications to webs of connected information? What if we are able to take the information with us from a web site and compare it to information in a database or another site? What does it mean for documents to be data sources?
All of these things are happening now. While people are arguing over web frameworks and language features, new technologies are coming online that will change the world. Again.
by Martin Nally
There are many technologies available for implementing applications of different types, and many successful applications have been built with them. There are fewer technologies for integrating applications into larger systems, and the results of applying those technologies have been much less satisfactory. Linked data – a combination of simple technologies from the world-wide web – has multiple uses. Our team at IBM has focused on using Linked Data as a fundamentally new approach to application integration that we believe is significantly more successful for our use-cases than previous technologies we have used. We have been shipping products based on these technologies for 5 years now. Our experiences have culminated in a member submission to the W3C as the starting point for a W3C work-group that aims to produce a recommendation for these uses of Linked Data. This talk will describe our experiences with Linked Data and the W3C member submission that emerged from them.
Your enterprise can become truly intelligent. Get there with Red Hat’s JBoss® Enterprise BRMS—a key part of our vision for the intelligent, integrated enterprise. Its unique combination of open source technologies supports a broad range of decision-management and process-driven applications.
The power of business rules, complex event processing, and business process management is delivered in a single open source distribution and accessible from a common set of authoring tools, JBoss Enterprise BRMS is a robust fusion of:
•jBPM5 business process management
•Drools business rules
•Drools Fusion complex event processing
In this session we will discuss best practices for constructing both BRMS and BPMS applications that support large numbers of processes and rules operating on big data. We'll illustrate common use cases, provide practical tips and you’ll learn how to confidently scale out your rule applications to meet demanding enterprise needs.
Most developers today are aware of the importance of creating a good user interface with a high level of usability, but many are lacking the methods and techniques that can help in this process. This session will present to the listeners a range of concrete methods and techniques applicable in different phases of a design process, to handle specific challenges. This will include design patterns, personas, wire framing, paper prototype testing, progressive disclosure, card sorting and creative workshops and many of the methods and techniques will be accompanied by examples.
Recent years have seen new languages developed around explicit goals like performance or simplified programming models, but there's been little focus on the essential problem of debugging programs in production. We will discuss problems we've seen in deployed Node.js-based systems and demonstrate tools we have developed -- both postmortem and in situ -- that shine light into the darkness that is characteristic of modern JIT'd VMs in production.
Couchbase Server is a simple, fast, elastic documented oriented database. It is simple by making it easy to develop apps where application logic is mapped to data storage through a natural, document oriented approach. It is simple to monitor and manage in production as well, and elastically allows administrators to add and remove resources to a cluster at any time, without interrupting application processing. Couchbase Server's speed comes from its actively managed cache, compatible with (and builtupon) memcached. Indexing, analytics and other advanced ways of managing and managing the data in a Couchbase cluster are easily available through the definition of Couchbase views. These are built upon flexible, incremental map-reduce functions defined for a given database.
Couchbase co-founder J.Chris Anderson will give session attendees a hands-on tour of a Couchbase Server cluster. Following this, J.Chris will show how this comes together with common programming languages. Attendees of the session will learn how they can apply Couchbase Server and its fast, scaleable approach to managing the data behind interactive web apps.
Whether you like it or loath it, Java the language and Java the platform have set the standard for enterprise computing for over a decade and don't look like giving up that top spot for a while yet. However, we continue to hear complaints about the complexity of developing applications with Java and it is no secret that J2EE wasn't always the easiest beast to conquer. Various frameworks sprang up over the years to try to simplify the lives of Java enterprise developers, such as Seam and Spring, and with the advent of Java Enterprise Edition 6 (EE6) and changes in the JVM to allow non-Java languages to be supported, we are starting to see a renaissance. In this presentation we will look at some of the things that have happened in the last few years that have already increased the productivity of enterprise Java development, including key features like CDI in EE6 and changes in the Java Community Process. We'll illustrate some of this with the new release of the JBoss Application Server, AS7, which is a full EE6 compliant application server yet is fast, modular and lightweight. We'll also look at some other advancement that are happening in open source that will also help and which may make their way into the standards.
by Jesper Boeg
During the past 6 years I have spent most of my time working with teams and organizations that aspire to become more Agile and Lean. I have done that in a variety of settings and helped anything from small fast moving startups to big bureaucratic organizations. I have taken on the role as Scrum Master, Product Owner, Mentor, Coach and Trainer and faced challenging situations, successes and failures working on every layer of the organization from team level to top management.
In this session I will share my personal Agile journey. From my first encounter with Extreme Programming at university, through experiences with Scrum, Lean and Kanban. A journey that has taken me from having great success implementing Scrum and a growing belief that Scrum was the one silver bullet to rule them all, to an identity crisis when my religion came crashing down on me. From rebelling against Scrum as local optimization, batch thinking and cargo cult religion when discovering Lean and Kanban principles, before new experiences and success with Scrum and “Scrumban” forced me to realize that the world is not black and white, either or.
So come join me on a journey of self discovery, “teenage” rebellion and a frustrating world of IT that refuses to be put into context free boxes.
Three years ago only, over 90% of the Web traffic came from two browsers and the application was hosted in a traditional datacenter. Today, mobile devices and new desktop browsers have gained market shares, applications are moving to the cloud or a virtualized platform. Facing this complexity, should you give up on managing your website performance from an end-to-end perspective, or is there still hope?
This session will explain how Apache Cassandra meets OLTP big data needs, and its relationship with big data analytics. Jonathan will explain why Cassandra is the leading big data OLTP solution and how Cassandra delivers linear scale-out capabilities with true high availability, with examples from real-world production use cases:
- How Netflix migrated from Oracle to Amazon SimpleDB to Cassandra. Today they run over 57 Cassandra clusters across hundreds of nodes. - How Cassandra powers Twitter's real-time analytics system, Rainbird - How deploying to Cassandra instead of traditional RDBMS technology was an order of magnitude less expensive for Constant Contact
Finally, we will cover why Cassandra is the right choice when you need availability and performance at scale and how Cassandra can integrate real-time, analytical, and enterprise search workloads with Hadoop and Solr.
by Miguel Angel Pastor
The browsers war has been driving browser vendors to build faster javascript engines, add 3d graphics and audio capabilities, allowing iOS quality games running on the browser without Plugins. Miguel will talk about what challenges he encountered porting iOS games to HTML5 using Mandreel technology.
Distributed systems are hard. Many have attempted to circumvent this fact via a variety of approaches, typically by ignoring difficult problems involving latency, partitioning, concurrency, and system evolution. Remote Procedure Call (RPC), originally devised to simplify the development of networked applications for programmers familiar with writing local applications, is one such approach. In this talk, Steve will explain the origins and evolution of RPC and bust some of the myths surrounding the alleged benefits it provides to distributed application developers.
by Nat Pryce
This talk will describe what we've learned during our journey into physical computing with the RaspberryPi. At Quick2Wire, we're developing hardware and software for novice hobbyists and schools. This has required us learning some new skills and remembering some old ones. We will talk about the design of the Quick2Wire hardware, which simplifies attaching multiple external devices, our Python API, which simplifies programming with those devices.
DBA is the number one classifieds site, and one of the top 5 sites in Denmark based on visits and traffic. DBA has been around for more than 15 years, and has over the years had to push the limits of existing technologies as well as development methodologies to keep up with users and business needs.
In this session, we will get a peek into the journey of the migration of a large site from an old legacy ASP platform, to an ASP.NET platform, using MVC, DDD and CQRS methodologies. Topics will be around transformation architecture, technical challenges as well as the challenges in relation to communicating and collaborating with the business in a new way.
by Jonas Bonér
Developing a concurrent and/or distributed applications often involves choosing between productivity and scalability - do I use easy-to-understand paradigms that don't provide maximal throughput, or do I create complex and fast code that's difficult to understand and maintain? Akka was designed to eliminate the need to make this choice by adopting the Actor concurrency model found in other languages such as Erlang, and bringing it to the JVM. It is designed to both scale up (by using multiple cores or CPUs on a single machine) and out (by distributing work among multiple VMs), and to support both via configuration and automatic VM clustering rather than code changes. It is also open source, under the Apache V2 license.
This talk will cover several different aspects of Java concurrency, including:
by Jez Humble
The concept of "value" is central to agile and lean software development - but how do we decide what is valuable, and on what basis? I will argue that determining value is the responsibility of everyone - not just the "product owner" - and that in order to deliver value, the most important thing is to be able to measure it transparently, and to establish a fast feedback loop so we can quickly determine if what we're doing is in fact valuable. In this talk I will discuss several approaches to measuring value, how to maximize creating it, and how doing so affects the way teams work.
by Ole Caprani
At the Department of Computer Science, Aarhus University we have used the Lego Mindstorms NXT Robotics set to teach a master course in embedded Java programming like simple regulation systems and robotics programming like flocks of robots building a map of an unknown environment. The Lego sensors and actuators connected to the NXT microcomputer unit are controlled by programs written in the leJOS Java system. Through a number of lab sessions the students get comfortable with sensor input interpretation and actuator control. At the end of a half year course the students finish a project of their own choice. Examples of projects will be demonstrated.
Web address of the course: legolab.cs.au.dk/DigitalControl.dir/index.html
JavaScript-based text editors have come a long way in the past few years. In this talk, I will outline what is possible today, and show how several open-source implementations make it quick and painless to embed a serious editor in a Web application. I will then dive deeply into the techniques that are used to implement CodeMirror, my own project.
Lean Startup is a disciplined, scientific and capital efficient method for discovering and building products and services that people love. Pioneered by entrepreneur and engineer, Eric Ries, the Lean Startup method will thoroughly change how you think about and practice agility. Born from the struggles and ultimate triumphs of successful software companies, Lean Startups use rigorous experimentation, careful measurement, validated learning and pivot/persevere decisions to systematically produce happy customers and successful businesses. In this talk, you'll learn why this decade will be dominated by the Lean Startup method and what you can do to make it a part of your process.
Sometimes you just know something should be running faster, but as long as it runs fast enough you leave it as-is. Then, a few clients start having interesting challenges and you realise you're going to need to start tuning the JVM to address the issues encountered. In this presentation, John will walk through two real-world performance tuning scenarios that he has encountered - topics to be covered include memory usage, object creation, I/O throttling, serialisation, benchmarking and testing. Although the majority of it is not rocket science, it can be astonishing how a few small changes can make a huge difference to the performance of a JVM application. When do you have to consider giving up object-oriented elegance in exchange for specific optimisations based on the way the JVM works? How much of an impact does object allocation have on a modern JVM? How good are developers at guessing where the real bottleneck is? Join us to learn the answers to these questions, and to gain insight into what's really involved in JVM tuning.
by Dave Clack
In the 37 years since the Mythical Man Month was published it's easy to think the rules are different today. So much has been learned and written about how to create and run successful software projects surely we must pretty much have the recipe by now.
As an industry we've certainly tried hard: the many methods, tools and processes invented over the decades all try to manage the fundamental complexities of both software and people.
At the same time useful evidence is hard to come by. Software productivity, size and complexity are all probably impossible to measure: cause and effect are difficult to separate and bias is pervasive.
As a result we've often created a mishmash of home spun philosophy, over simplifications, silver bullets, cargo cults and one size fits all methodologies. Meanwhile with ever increasing business involvement in project work knowing why we work the way we do is increasingly important.
In this session I'll explore the evidence (and the myths) behind some of our favourite software process and management practices including; the costs of pairing, the value of estimates, how we set expectations and write contracts, how we pay and reward success plus how we operate at scale and run distributed teams.
Life is great as your first customer signs up. Then you have your millionth signup, your data needs to span multiple machines across several geographies, the business wants more information, better accuracy and faster. Your life now sucks.
In this talk we will cover the
- Basic Schema Design
- Schema design for scaling: bucketing, time series, linking versus embedding
- Implications of sharding keys with alternatives
- Read scaling through replication
- Challenges of eventual consistency
This is not just theory, each will be mapped to customer examples of the challenges of solving actual real world problems.
This session is about Splunk. Splunk is a generic platform for collecting and analysing machine data, where "machine data" can be anything from logfiles, configuration files, GPS locations, database extractions and anything else. Splunk collects these data in a scaleable way and by using map-reduce behind the curtains, it can do any kind of searching and reporting on both historical and realtime data. Splunk provides dashboards which can illustrate any kind of statistics extracted from the collected data. The session will go through some of the aspects of Splunk but will also position Splunk as a tool in both operations and the higher level of management in the industry.
In modern IT, there is a continuos increase in demands of operating IT systems, and especially standards like ISO-27000 and local law regulations can enforce separation of development and operations. However, there is also demands for quick turn-around times on bug finding/fixing which requires, that developers do have some kind of access to production systems as not everything can be replicated in test systems. This talk will present the products but also explain and demo how we use this system in the day-to-day operations of systems like FMK (The Common Medicine card) that have been mentioned many times on this conference.
by Sven Peters
Developing a product over years is a tough job. It is hard for the team to stay excited on a day to day basis. So how can you improve motivation and innovation of agile teams and still keep the focus on building a great product?
I want to share with you how we at Atlassian used an agile approach to become one of the most successful developer tool companies in the world. This talk will cover topics like Ship It days, 20-percent time, keeping distraction away from developers, lunchtime talks, dogfooding and much more.