As tech professionals, what we need is a way to work better so that we can create more, right? Through exploring various concepts and approaches, including the neuroscience of creativity, productivity techniques, and emerging practices that spur innovation, we'll discover not only the ways in which our brains work best, but also what’s behind the times when we feel on fire with creativity and when we don't. We’ll translate this information into processes and techniques for dramatically enhanced creative productivity. Beware: this workshop challenges the standard norms around concentration, focus, productivity, and may change how you work…for the better.
The road to Agile is never easy. For those who are transitioning from a traditional project environment and mindset, the journey can be even more difficult. This 1-day workshop is designed to help project and team leaders who are transitioning away from a traditional/waterfall environment towards Agile. This course will enable them to deepen their awareness of how subtle shifts in language, culture and leadership style can mean the difference between Agile success and waterfall failure.
Gradle combines the power and flexibility of Ant with the dependency management and conventions of Maven into a more effective way to build.
This hands-on Gradle workshop covers topics such as: Fundamental Groovy & Gradle concepts, getting started with Gradle, authoring build scripts, using tasks and plugins, building Java projects, automated testing, and multi-project builds. About half of the time is spent on practical exercises, so don't forget to bring your laptop! Pairing is encouraged.
The Spring ecosystem is growing by leaps and bounds, and - as often as not - the question is not whether Spring can handle the problems facing today's developers, it's about how. Join Spring Developer Advocate Josh Long for a walking tour of the SpringSource ecosystem and projects, how they fit together, and when to apply them.
See how several different architecture styles and patterns can be used to support your DDD projects. We will look at the following: Layers; Dependency Inversion Principle; Hexagonal; CQRS; Event-Driven Architecture for Pipes and Filters, Long-Running Processes, and Event Sourcing; Grid/Fabric; and Actor Model.
Few forces limit your ability to deliver the way that legacy code does. At Code Retreat (http://www.coderetreat.com), you focus on the craft of software development by working on a very simple exercise with a wide variety of people and in a wide variety of ways. Legacy Code Retreat (http://www.legacycoderetreat.org) runs a little differently. We give you a code base to start from (in 14 programming languages so far) and we guide you with the techniques that have helped us most in our work.
Start using Ubuntu on your phone, either as a user or as a developer.
Join this interactive session and bring your developer device (*) to install Ubuntu on it. You will learn the basics of the Ubuntu UI, how to set up a development environment with the Ubuntu SDK, how to write your first Ubuntu app and publish it in the store.
To participate interactively, please bring your laptop and a phone (*) with you.
(*) Supported devices at this time are Galaxy Nexus, Nexus 4, Nexus 7 and Nexus 10
You have an idea for a product. You have to figure out how to deliver software that will delight your customers. You want to ship something of value now!
You are a business person with an idea for a product, or a product manager trying to meet your customers’ increasing demands for new features now, or a programmer struggling with unrealistic deadlines. If you want to deliver more value with less software, then you need this course.
This one-day course, designed by G.Ann Campbell and Patroklos P.Papapetrou the authors of Sonar In Action, is the ideal hands-on workshop to learn the core concepts of source code software quality and how to eventually adopt continuous inspection in your software development lifecycle, using Sonar.
It is intended to teach developers,testers and software architects how to use this open-source tool to continuously track and improve the quality of their source code
This workshop will cover various practices to help you design and implement more useful, effective, reliable and maintainable automated tests. These practices will include:
· Test Automation Design Patterns
· Using current test automation frameworks; and extending them to create more readable and succinct tests
· Approaches to write tests before, during and after writing the code you want to test
· Ways to make your app easier to test
· Ways to get started based on your context
The Java EE 7 platform focuses on boosting productivity and embracing HTML 5 with APIs like JAX-RS 2, JMS 2, JBatch, Java EE Concurrency, WebSocket, JSON-P and JSF 2.2. This hands-on lab will provide a comprehensive introduction to the updated Java EE 7 platform using GlassFish 4.Although the primary focus will be on new APIs, we will take a holistic approach to the lab and also cover the features introduced in EE 5and EE 6 such as the ones in EJB 3, CDI, JPA, Bean Validation and JSF.
This tutorial covers the complete continuous delivery ecosystem, from continuous integration and automated testing to database and infrastructure automation. We'll cover the deployment pipeline, patterns for low-risk releases, and architecting for continuous deployment.
Git and GitHub are tools that "can be learned in a day, but take a lifetime to master." We've packed dozens of our favorite practical tips and tricks into a half-day hands on workshop. This session takes students who've worked with Git and GitHub for a while and showcases efficient new ways to do existing tedious tasks.
In a demo and code intense day we will demonstrate how to exploit the most common security flaws in today's web applications and what you as a developer should do to cover your a**, i.e. write secure code. Building secure websites have never been more important than it is today. This workshop will cover the 10 most common security flaws in web applications regardless of web platform with demos in ASP.NET.
Technology is known for the art of disruption. It is celebrated among the initiated and invested. For people who have little concern for a clean UX or frictionless processing, disruption is just plain disruptive. The problem with disruption is one of story. In this talk, I'll ask us to think of ways to hear the story telling itself between spaces: investigation, preparation, scoring, application, performance, recitation and reiteration. Transition made by art, not artificially disruptive change.
The web is getting richer day by day and there are amazingly exciting technologies brewing that need your input. Learn about the merits of CSS3, the power of Web Compontents, realtime collaboration and access to camera and audio input with WebRTC and how asm.js brings C++, Java and .NET solutions to the web across browsers and devices.
Learn about Oracles roadmaps for Java SE and the embedded versions of Java. Understand how Java will fit into a new, connected, world.
Improve, validate, iterate. Current development practices promote avoiding waste - a challenging task, especially in a traditional infrastructure. With programmatic control over your environment Amazon Web Services lets you optimize the infrastructure as needed and treat it as another versionable aspect of your application.
Learn how both start-ups and enterprises use AWS to increase their rate of innovation and continuously deliver new functionality to users in a cost efficient way.
In this session, we will look at Zero, what it gives us, and then dive right into C# code to see how simple it is to set up systems like request-reply, pub-sub, etc. We’ll even look at adding distributed workers on the fly. If you’re not using Zero – you should be!
What happens when your mobile app is no longer being developed by a small group of developers hacking away in a crowded room? How do you handle multiple teams submitting code in parallel to the same application package without giving up on quality and speed? Spotify has recently made that journey and here we share some of our experiences.
This presentation follows the journey of Lonely Planet's in-house legal team from the traditional model of having workflow managed by a partner or senior lawyer to becoming an agile service provider where workflow and priorities are managed by the team. It discusses the basic practicalities of how the change was effected in a non-IT environment and looks at the challenges posed by culture and geography. Also discussed are add-on processes that enhance team performance in an agile environment.
This session will give you an overview of what is new in XAML for Windows 8.1 apps. We will look at a lot of demos of new controls, new commanding and navigation patterns and performance enhancements. We will also look at Visual Studio improvements around XAML and a lot more.
Isn't life hard enough without deployment troubles? Isn't life hard enough as a new engineer on a team without reproducible builds and environments? Join Josh Long as he introduces Cloud Foundry, the open source PaaS from Pivotal. Learn why Cloud Foundry makes life easier for everybody - operations people and Java developers-alike - in this session.
Turn based servers are now joining turn based browsers in providing race-free and deadlock-free interactivity. The event-driven model has long been popular in UI systems, but the nature of work in servers presents some new challenges. Functional programming provides solutions, including monads, arrows, promises, and various flavors of FRP. This is another such solution, intended to enhance ease of use through minimalism. And beyond, with mimlism.
Layers are killing us. All the time. They are killing our communication. They are killing our speed. They are killing the others speed as well. We need to do better. Which we can. I'll tell why layers are killing us. I might even tell you something about how to do better.
We will talk about the new Gradle based Build System for the Android SDK. This new build system has been developed as a Gradle plugin by the Google Android team. It is full of innovation, many of them demonstrating the underlying capabilities of Gradle. We will also introduce Gradle as such with a special focus on the new features that have been developed as part of the Android effort like an more generic dependency management and the concept of variants of a library for different platforms.
My wife and I used the values, principles, and even practices of XP to become financially independent on 1 April 2008. That means that for the past five years, our finances have not got in the way of doing the work that we love to do. I’ll tell you the story of how we reached this point. I’ll teach you a few simple activities that you can use to start yourself on the path to more financial freedom. I’ll share how we applied various Lean/Agile principles to achieve these goals for ourselves.
Deep dive into Android Design where we will discuss how you can go beyond Android's basic interface components and create unique character and identity for your applications.
Language Workbenches are tools that support the rapid development,
extension and composition of (diverse) languages. This way they are an
excellent foundation for building domain-specific development tools:
after all, most development tools are essentially "just" UIs for languages.
In this talk I will demonstrate this idea with mbeddr, a open source
development tool for embedded software based on the JetBrains MPS language
workbench. The talk is mostly demos; I use only a few slides in the intro.
What is a responsible programmer? What habits does a responsible programmer
have? I started asking myself and others that question and this presentation is
the result of this. I will look into good habits for coding, using tools,
managing environments and working in projects. Example of good habits are:
Merciless refactoring! No quick-fixes! Script everything! and Don't do as your
King collects over 10 billion records per day from the many games (where one is the quite famous Candy Crush Saga) available on mobile and desktop, to use as a tool for better understanding of how players interact with our products. A talk on some of the architectural decisions we've made to handle this data volume.
s there a sure-fire methodology that will make distributed teams work? Possibly.
Can a dogma save your deadline and make your wife and kids happy? Perhaps.
Or is it time to be pragmatic and realize that it all starts with people and ends with people - with some coding in the middle? In this session we'll cover a mosaic of tips and techniques, from timezones to cultural gaps, that work across the world. This just might be the toolbox you need.
Oh, and by the way - you will know the secret behind all those methodologies promising to solve the distributed enigma - if you promise not to tell.
Software quality is about a lot more than slinging good code. As a developer you use numerous tools, techniques and frameworks as you write, organize, build, test, refactor, and continuously improve your applications. Sonar, a free and open source quality platform, makes it radically easier to track, manage, and enhance the overall quality of your code.
In this session I'm going to talk about Sonar's core ideas, and its star features that simplify the process of tracking and improving software quality.
Marketers are starting to employing more Agile ways to adapt to fast-moving social, interactive, and inbound marketing channels. A nascent movement is emerging that features marketers adapting Agile approaches under the moniker of "Agile Marketing". In this talk, I will explore what makes marketing ripe for this change, what makes Agile Marketing unique, and the challenges of using Agile in marketing.
As the Lab Manager for the Crafted Technology and Experiences lab at SICS and the Mobile Life Centre, I will talk about the combination of design work and engineering. I will talk about the kinds of projects we run and what results we have made, and how we as a field need to work on changing how we look upon implementation work and engineering. Also I will touch upon how HCI and the field of Interaction Systems Design in fact has moved beyond User Centred Design and UX.
ElasticSearch is a cloud-ready, super scalable search engine which is gaining a lot of popularity. It is mostly known for being extremely easy to setup and integrate with any technology stack.
In this talk we will introduce ElasticSearch, and demonstrate some common and innovative use cases. We will then scale them out and use multiple nodes, showing ElasticSearch's amazing scaling out capabilities. If time allows also discuss some advanced features.
This presentation is a case study from an architecture remake at Sirius International. We will tell you the story about going from a huge monolith that had hit the end of the road, to a set of very small subsystems. The story is about realizing "buzzwords" such as eventual consistency in an undramatic and stripped down way without a lot of ceremony. What were the problems and the keys? You will leave with a set of tools regarding what to expect, what to look out for and where to put the focus!
This session will teach attendees about how to build Reactive applications with Play Framework, Akka, and Scala. Attendees will learn:
- How to create asynchronous and non-blocking web applications
- The Actor model for managing concurrency
- Functional paradigms that provide the foundation for Reactive programming
In this session we’ll look at breaking up your domain-models following the Domain Driven Design
Bounded-Context pattern, splitting and defining entities and aggregates properly in the different domain models and implementing repositories and units of work that are relevant to EF DbContext and DbSets, in the data persistence infrastructure layer. You’ll also see how to build automated tests around code that involves Entity Framework.
What are the best practices for collaboration using git? In this session we'll look at a range of techniques from pull request based code reviews through short running feature branches and the use of feature toggles for continuous deployment scenarios.
Similarly to design patterns, present pedagogical patterns solutions to recurring problems in a
In this session, I want to explore how pedagogical patterns can help every individual to get better
every day. I want to show how these patterns can help to be a better mentor and
therefore help the whole team to improve continuously. Here are some of the tools you need in order to share experiences, learn from one another or rather to start mentoring consciously in your team.
2013's been a busy year for Spring as part of Pivotal! Spring continues to meet the needs of next generation applications with support for stream processing, data integration, HTML5 and websockets, PaaS support and big-data workloads using Hadoop. Additionally, Spring - as part of a new company called Pivotal - is the heart of a rich platform along with Cloud Foundry, Grails, RabbitMQ, Hadoop, and Tomcat. Come see what's new and what's coming!
Design versus development. A battle as old as Good v. Evil. Let's take a look at the root cause of this struggle, and see how we can "be the change we wish to see." We'll a little bit of philosophy, and a good bit of practical techniques for developers to become respected members of a design team, without learning Photoshop.
Creativity in a passionate community is taking Java into the future.
Open collaboration fosters innovation, ensuring Java stays relevant.
Diversity is key in keeping the creativity flowing - that's why the community needs you.
Learn the satisfaction of volunteering to something bigger, in this case, the number one software platform in the world through OpenJDK.
Get to know the rules of the game and how to contribute, whether you have an hour or a lifetime to devote.
The March of Progress is not a stable thing. It moves in fits, and frequently changes direction. N steps forward. M steps back. Can we get there from here? Are we there yet?
The art of tuning mobile applications for speed and conserving the battery is a delicate task, but does not have to be difficult. AT&T’s Application Resource Optimizer (ARO) is an award winning tool that enables developers to squeeze every gram of performance out of their application. Doug will present mobile development best practices; how they were integrated into ARO, and show several use cases on how mobile application performance was improved through simple modifications.
Mob Programming is a development practice where the whole team works on the same thing, at the same time, in the same space, and at the same computer. This is a “Whole Team” approach to doing all the work the team does – including coding, designing, testing, and working with the “customer” (partner, Product Owner, user, etc). We'll take a look at the practice and explore the benefits and some ideas you can try on your own team.
Join O'Reilly authors, Jesse Cravens and Thomas Brady, as they take the audience through the construction of a Ember.js demo application.
Today, application developers devote roughly 80% of their code to persisting roughly 20% of the total data flowing through the applications. The other 80% of the data is "Event Data" that can no longer be ignored if you want to stay competitive. Changes to application state are already stored as a sequence of events in application and middleware logs. In fact, since this data never held value to anyone but the developer in the past, a lot of potentially valuable information is often never collected In this talk, we will demonstrate how capturing all event data could dramatically simplify data collection and management within the enterprise.
The session will combine research on software evolution with findings from different fields of psychology. The basic premise is that there's a wealth of information stored in how we interact with our code. By mining our interaction patterns we're able to get early warnings on potential problems and directions for refactorings and future development.
Backed by more than 20 million users and with deep engagement with the PC industry, Ubuntu is also the favourite open source operating system of a growing community of mobile developers. Following the launch of its phone version, it is strongly emerging as the next gen mobile user experience.
Learn about the design vision that provides Ubuntu's unique UX, how operators can customise it to their needs, and in particular how to enable app authors to target Ubuntu as a platform for their software.
Most applications today support user signup and login through several of the popular social networking sites such as Facebook and Twitter. In addition applications leverage these connections to gather useful information about the logged in user or fire notifications and share. In this session we’ll explore ways to achieve this using a combination of useful platform tools and custom code. Come and learn how to create an end-to-end registration, login and social experience for your applications.
Richard Campbell brings his 30+ years of experience with computers to bear on the future of business computing. Are tablets just toys? How will the tablet fit into the workplace? These questions are addressed with a humorous look back into the history of computers and how it can impact what happens next. Along the way he'll point out the opportunities that developers have to expand their careers, keep their businesses moving forward and perhaps put a pile of money in your pocket.
Effective pairing can increase creativity, energy, speed & quality. But on some teams, pairing is shunned, avoided, or just faked. Why do some thrive with pairing while others want nothing to do with it? How does coach-enforced pairing turn into something dry, distracted, imbalanced & ineffective? Join in an honest discussion & learn about which pairing styles drag teams down & what sort of pairing helps teams rock.
When considering artfulness in the domain of programming, there have been several distinct epochs. Iterating over each of those eras, we can ask what we valued, learned, and improved, from them. As software development proceeds further into the core of many important industries, we can reflect on how to leave a legacy of beauty, order, and expression in our unique line of work.
There's a movement brewing built upon leveraging the transformative power of creativity to help us work and create better so that we can produce work infused with meaning. Discover how by knowing your Why, instilling tiny habits to cultivate your creative spark, and finally, fomenting creative collaboration based on the tenets of improv and open spaces, you can take the spark of Creativity (R)Evolution and use it as the impetus to push you, your teams, and your companies to create betterness.
"The only sure thing about forecasts is that they are WRONG" - James P. Womack and Daniel T. Jones. Estimates have been the bane of software development and programmers for decades. Managers/Customers want to know: When will it be done? How much will it cost? It's my contention that estimates are not useful for this purpose, and even worse: they misinform the decisions they are meant to support. Let's explore these problems and perhaps a few ideas on creating software with "No Estimates".
Going pear-shaped can be a good thing for your test suite. In this talk, I'll seek inspiration from human reactions of fear and restlessness. I'll draw a causal line from these reactions to the design of an effective test-suite for your application.
A technical introduction to Google Glass and how to develop Glassware applications
In spite of it been a number of years since the advent of multi-core CPUs we still struggle with how to get better performance (for some definition of performance). This talk will address that by looking ahead to the JDK 8 and what it has to offer to help you improve the concurrency picture in your application.
This talk is for C# programmers who are curious about F#, a multi-paradigm and cross-platform programming language.
In: test driven development, classes and functions
Out: maths, monads and moth-eaten jumpers
Expect plenty of practical examples with live code samples, including interop between C# and F#.
From canvas to web workers and file transfer to blob management, come see HTML5 demos and code samples that will have you rethinking the possibilities of browser based apps.
Mobile security has in the last year taken off as a focus for consumers but its implementation in the software development cycle remains somewhat of a mystery. I will cover how to test your mobile application for security flaws for both the android and iphone platforms, and how you can better include security in your development process.
With Modern UI (previously called metro) Microsoft redesigned most of their product setup, whether you like it or not it’s here to stay.
In this session I will look into the current state and explain what the essence of Modern UI. I will then examine how it's possible to evolve. How you can break out of the tiles, while still obeying the design principles.
Now that Oracle owns MySQL, it's clear that it's not going anywhere fast. What's a developer to do? Flee to the arms of NoSQL? Are you going to have to learn Erlang just to query your data? Forget all of that.
Postgres is the answer to your database needs. It's mature and powerful, and the community that maintains it has built in more functionality than you can shake a stick at. It powers sites large and small, including sites you know and love like the Urban Dictionary and Instagram.
Have you ever needed to access a data source in your application? Trick question! Are there developers who would answer no to that question? Of course not! Join me and I'll walk you through just how quick and easy data access can be with F#'s new Type Providers. I'll cover connecting to several different data sources using the relevant type providers, as well as when and how to write your own. Before we part, you'll be on your way to type provider mastery!
Esoterics and Cargo Cult are the main design drivers for many enterprise applications trying to cover the most unlikely corner cases. This session explains the opposite: clearly explainable and straight JavaEE 7 architectures leveraging all main JavaEE 7 APIs. From requirements gathering, over tests to CI and deployment. Why?-questions are very welcome.
NuGet is incredible - apart from saving loads of time for searching, downloading and storing code libraries, it also makes so many unknown libraries much more reachable. In this session we will take a wild ride through the NuGet gallery, learning about 30 different packages that could make your everyday tasks much easier and faster!
This talk takes you through the theory of Actors and how the Actor model supports lock-free concurrency, distributed-computing, low latency, and high throughput. Some of the topics covered include: Actor theory, using Actors, mailboxes, share-nothing, creating Actors as first-class domain concepts, grid/fabric-based low-latency access, NoSQL persistence, as well as Java and .NET platform interoperability.
This is a true story. It’s a story about a test manager (me) neglecting to ask appropriate questions because of intimidation.
I failed to ask why user stories were badly written and out of date. I failed to ask why stand ups were not being held. I failed to ask why bugs were not being fixed.
This case study will be a springboard into a talk and then discussion on some ways we 'kill curiosity' within our teams. Using my experience with test team transformation I’ll offer some pointers on how to create teams that encourage testers to question without compromising on project deadlines and goals.
Björn Granvik is our conférencier and moderator for all keynote sessions. .NetRocks will have a chat with him midst the conference.
Firefox OS is a new operating system aimed at emerging markets to replace feature phones with HTML5 based Smartphones whilst still being affordable. In this talk you'll see its architecture, how to take part in it and what it means to the evolution of HTML5 as a platform. A lot of promises have been made, here you can see HTML5 working without having to jump through hoops and abstractions.
From pull request ref specs to patch mode, this session will examine some of the hidden features that can make git easier and more efficient to work with. For experienced git users only!
The impact of implementing web applications that lacks the correct security controls.
In high tempo you will experience a live hack where he compromises public web applications that lacks the correct security controls. He will then demonstrate the leap to internal systems and how one simple bug can lead to a complete compromise of the internal infrastructure.
An exciting and very important demonstration for anyone who develop applications, manage websites or is interested in cyber security.
The artist travels to foreign lands for inspiration. I sojourned in F# and brought back souvenirs to share with you. These six principles are useful every day in my home language of Java. Some are part of good practice already, some express patterns both old and new, and all give us different ways of thinking about problems. Examples in C# and Java prove that we don't need to work in a functional language to carve our intentions into code.
This session is all about asynchronous execution in Android: The must-know things of Androids Linux thread handling and the pros, cons and pitfalls of the asynchronous mechanisms — Java threads, Executor framework, Service, IntentService, AsyncTask, AsyncQueryHandler, Loaders and Handlers/Loopers. The talk focuses on improving application responsiveness and how to choose the best technique for background task execution.
I don't have "the gift" for interacting well with others. I needed to learn some little "interpersonal communication" tricks that I could apply right away to get immediate results. You don’t have “the gift” either, but you need to improve your working relationship with managers who don’t code. You don't need to make a dramatic, life-changing shift in philosophy to play better with others. In this session, you'll learn a few simple techniques that you can start applying the moment you learn them!
How do we utilize and big data and often open data in an easy and useful way. We have three speakers who have taken different approaches to data visualization.
Moving from data to insight to action is the first talk.
Gamification of open data is the second talk.
Fun and Engaging Enterprise Web App Design using Touch Conventions and Infographics is the third.
This short talk will discuss and demonstrate a working example of how conventions from touch based games and modern infographic design can be used to build radically new user interfaces, that engage the user by introducing a sense of play to enterprise web applications.
This session is made in partnership with The Conference
Dave Prior - Teaching Agile to Kids
Woody Zuill - Agile Maxims
JB Rainsberger - 7 minutes, 26 seconds
In this session three NOSQL techniques will be demonstrated. RavenDB, Neo4j and Riak. Each speaker has 10 minutes to show you why and how NOSQL can be used. It is not difficult. It is not frightening. It’s fun.
After this session, you know more about which technique you should test and continue with.
And perhaps the three speakers invite us for an open discussion.
This LT session is about 3D-graphics. Gaming and visualisations. Three speakers with three different views.
The presentation will showcase Z Vector, a new type of real-time VJ and music visualization software specifically made for depth sensors such as the MS Kinect and the PrimeSense Carmine.
This talk will highlight the technologies used in the Snowdrop engine for the next generation of consoles. Game Artists have never had this much power available but it can easily become harder to develop than ever before. With a new generation, there needs to be a shift in the way we work with and think about Tech.
This session is made in partnership with Nordic Game
With an "open APIs" a company can make their data and functionality available to outside developers. This makes it possible for developers to build mobile apps, analyse data and quickly integrate with other systems. We will give an overview of APIs and the technologies involved, show the possibilities by using Twittercensus.se and the Twitter API as an example and go through the "neo-security stack" and how it can be used to secure open APIs.
This session is made in partnership with Nordic APIs
Today there are many security models available for authentication and authorization. Identity federation is particularly common today to achieve Single Sign-On (SSO) and social login with popular platforms like Facebook and Twitter are prevalent. In this session we’ll focus on the value proposition of each protocol including WS-Federation, WS-Trust, SAML 2.0, OAuth 2 and Open ID Connect. We’ll look at scenarios where each fit, how they work, and why some are more popular than others.
Proper indexing is a very time and cost-effective way to improve performance. Yet it is often done in a very sloppy way. This talk explains the organizational misconceptions that lead to sloppy indexing and gives advice how to change it. Finally we will show the results of a short online quiz that reveals the state of indexing know-how in the field.
Why build a web application in Rails today? In this session, Steve will show you why Rails is a fantastic environment for building your next web application.
JAX-RS 2 is a new standard Java API for RESTful Web services and a major leap forward in the use cases covered by the API. The purpose of this session is to elaborate on all the new features being introduced as part of this new major API revision. This session explores the new client API, filters and interceptors, and asynchronous processing. Other new features include data validation support and improved support for hypermedia and server-side content negotiation.
Cross platform mobile development is the holy grail of development right now. In this talk we'll examine strategies and patterns for maximizing code re-use when building native cross-platform mobile applications in C# with Xamarin that reuse back end code while still using platform-specific UX and taking advantage of platform-specific features.
The edge of the Netflix network is responsible for 1/3 of all internet bandwidth usage in the US. It is staffed by ten thousand EC2 servers and tens of thousands of CDN cache endpoints. During this session, you'll learn about how we manage and control the outer edge, including our new open source java project: Denominator.
Market demand drives many organizations to implement performance testing and management solutions, often at great expense. Sadly, these solutions are often insufficient to keep up with emerging expectations and competitive pressures. This session explores a simple, unobtrusive "Target, Test, Trend, Tune” approach to performance testing and management that can be applied to virtually any task alone or as a part existing programs with just a few minutes of work each day from everyone.
Programmer Anarchy is a post-Agile process that focuses on empowering programmers by eliminating roles that interfere with domain knowledge and assumption of day-to-day decisions by the programmers. Originally conceived in a startup environment at Forward Internet Group in London, Programmer Anarchy is now being implemented in a traditional IT shop for an established company: MailOnline, the online newspaper arm of the Daily Mail of London. This discussion will talk about the introduction of Anarchy into a Scrum shop, the training, the transition of roles, and the redesign of HR roles.
Whether you are Agile or Waterfall, you want testability. Whether you release periodically or continuously, you want testability. Testability means how easily a product can be tested. In other words, do bugs hide from you, lurking deep in the folds of your technology? Or do they run out and surrender when you come by, while wearing bright reflective vests? This talk is about ways of achieving testability, including the two big strategies: observability and controllability.
In recent years, the Spring Framework focuses on flexible and powerful Java-based configuration. This talk presents Spring as an annotation-oriented application framework, illustrating the rich set of features that Spring has to offer for modern component design. General component model trends will be discussed along with selected Spring feature highlights, such as standardized annotations for dependency injection, stereotypes, and declarative services such as validation and scheduling.
Now if kids and teenagers, the future customers, got to decide what kind of apps we would make, now what would that be? I asked a group of kids and teenagers, and put together an advanced session on Windows Phone 8 based of their responses, showcasing the cool advanced features of WP8 in a way that will hopefully bring out the kid in you. Be ready for a playful session!
In this session Atley goes through what has worked for him and what has not! You will gain the knowledge of literally dozens of development and deployment stories so you can cut to the chase and be as successful as possible with your mobile development in this open-forum style discussion on mobile development with arguably the most prolific Windows Phone developer in the world!
Learn from Atleys' Binging and bungling, ask your questions and get the real info from someone that’s done it, lots!
This talk will cover the basic concepts of Meteor and how they combine to make your life easier and better, as well as building a simple example application which is extraodinarily powerful.
Join us for a technical talk with Jed Wood, Developer Advocate at
StrongLoop, who will be demonstrating how to effectively
program Node.js applications and author your own modules.
Whether you are relatively new to Node or a seasoned practitioner, this
talk with give you several ideas you can implement right away to
make you a more effective Node programmer.
Many of us have been in the position of being an "Advanced Beginner". We copy someone else's work, we make a few changes, and somehow, it just works. Can we do better? Yes. This session will look at ways that we can break the cycle of "faking it", and take control of the work that we do. We will focus on “being mentored by experts”, becoming the “worst player on the team” (by choice) and moving “from cookbooks to unique creations”.
While keeping software production ready throughout its lifecycle and optimizing your delivery process for shorter cycle times might seem like a good idea to you, the rest of your organization might not share your excitement. In this talk, I share stories from companies who have attempted to adopt continuous delivery and discusses the organizational, architectural and process factors that led to the success – or failure – of these initiatives.
This talk covers the general approach for building the microbenchmarks you can trust. We will cover lots of pitfalls that makes our lives harder, due to code mistakes, runtime optimizations and their interventions, hardware specifics, and other random noise. This session will also serve as the tutorial for Java Microbenchmark Harness (JMH), which is serving as the harness for performance research in OpenJDK.
Why write software in Ruby? In this session, Steve will tell you why Ruby is a great programming language, made to bring programmers joy.
Are Agile values universal? Do they represent inherent aspirations of software delivery professionals worldwide? Or are they to be taken as the studied and careful opinions -- but opinions, nonetheless -- of a group of individuals a decade ago?
In this conversation, I'll relate my experiences in conducting various Agile workshops in 5 countries over three continents. I'll describe what I found fascinating and humbling, and some lessons I hope software professionals everywhere find valuable.
Minecraft is probably the world's most famous sandbox game, but what happens when you give the players the chance to build their fantasies? See the beautiful, fun, inspiring, and sometimes world-changing creations this voxel-based block placing game has spawned.
The list of solidified ES6 features keeps growing and client side engineers just get greener with envy. Many of these new features won’t be supported in a broad base of browsers for years to come, but there is hope for us nonetheless. I’ve pieced together a system that gives us the best that we can hope for. Using a combination of shims and transpilers, we can enjoy these new language features while still maintaining support for all of the browsers you’d need.
Once you realise the true enemy of software development is complexity, not waterfalls, you can start rethinking how we write our software. Come learn why modern languages like Haskell and Clojure lead to fundamentally better software systems than any of yesterday's tricks.
Without buzzwords, a hands on overview of the entire communication, storage and analysis systems that serve over 70 million players daily. How does King handle all traffic and game play data for Candy Crush Saga and all other King games on a tight ship with a less than 500 servers? Spoiler: Keep It Simple …
Spring has a track record of providing dedicated support for new Java generations in a timely fashion, and now it's right about time to go Java 8: With Spring Framework 4.0, we're providing in-depth support for all relevant OpenJDK 8 features, including lambda expressions, JSR-310 Date and Time, parameter name discovery, and java.util.concurrent enhancements. This talk will illustrate selected Java 8 features within Spring's programming model and explore the impact on application architectures.
Unix environments have fantastic tools like puppet, chef, vagrant and many others in order to eradicate the need for manual server configuaration environments. Windows was left behind when these fantastic tools were being developed. PowerShell is now emerging as the tool for Windows administrators and the tool to unite developers and operations staff in managing environments and deployments. Can PowerShell help to bring the devops culture to the Windows development world?
This session is designed for those who already have some experience with the Windows Phone 8 SDK. We will dive right into In-App Store purchases, Wallet transactions and take a look at the new Maps control provided by Nokia. So, if you already have a basic knowledge of Windows Phone 8 and want to dig deeper, than this session is for you.
Acceptance Test Driven Development, GUI Test Automation, and Exploratory Testing don’t exist in isolation. Like a tripod, each is a leg that requires the others to stand. This session will explore how a project can leverage all three aspects to successfully learn, automate, and advance application development. We will use TERMS and CRUMBS to see if a project is ripe for automation, and if it is progressing the way that it should.
MicroService Architectures has debuted on the ThoughtWorks Technology Radar as the first
technology they address, and with strong recommendations to immediately experiment. In this
talk, we will outline the guidelines we have used at two different companies to implement
microservices. And more importantly, we will tell you about the pitfalls we have encountered.
Lambda expressions (closures) have been "coming" for quite some time, and they're finally "almost here". This talk describes the future directions for the Java language, especially the language and library changes coming in Java 8, from the perspective of "how did we get here?" and describing the approach taken for key language evolution choices.
How do you build apps that matter? By focusing on the domain and engaging the domain experts. But how do you engage those experts? By building the application with them. But how do you prevent your architecture from weighing you down? By writing only the domain objects and leaving the GUI concerns til later. In this session we'll use Apache Isis to rapidly build a web-based domain app, starting at the Maven archetype. You’ll end up with your own domain-driven app, complete with RESTful API.
With Azure Mobile Services you have a toolbox of different features that help you to easily create a backend for your app. Features such as data storage, custom APIs, notifications, authentications and more. It supports iOS, Android, Windows and REST without writing a single line of C# code.
While I can’t tell you what the apps are, I have built some huge apps for clients that have, collectively, over 4,000,000 users. You’ll find out the coding and XAML tricks to make your apps look as sleek and polished as the biggest apps out there.
Do you want to learn how to coach software testers to be skilled at what they do, using a systematic approach? Then this is the talk for you! Come along and watch a demo and perhaps even have a go at coaching a tester!
Coaching is more than asking questions; it’s about directing the student. Find out about energy in coaching, learn how to detect and then manage this vital energy. Discover coaching patterns to help you navigate the 'coaching space' including syndromes that students and coaches can suffer from.
In this session you will learn about what Infrastructure as Code is all about, and how the open source tool Puppet helps you manage both traditional and cloud infrastructures.
In recent years functional programming has gained ground over object oriented mainly due to the advancement in computing power. The JVM is no exception, you can find powerful contenders in Clojure and Scala. However Groovy is not that far away in the race. We'll explore many of Groovy's features that are sure to spice up your daily experience.
We will look at how best to structure your AngularJS application, so that it can grow with you for years to come. When and how to use and test directives. When and how to use and test promises.
How to architect an Angular app, what to put in controllers, services, filters, and directives.
In this session we will talk about our experiences building an event-driven architecture for a price comparison website. We will talk about how we applied the principles of CQRS and Event-Sourcing to create an event driven system that is, all at the same time: beautiful; dangerous; liberating and difficult; and ultimately freed us from the oppression of a monolithic legacy application and database (the ‘legapplabase’).
The new version of Visual Studio introduces a series of new and exciting features for web developers. Join Mads as he takes you through a deep dive filled with demos, insights and background – including brand new features in both Visual Studio and Web Essentials
Even in an agile world, specifications often go too far and describe solutions with too much details; all these premature decisions constraint the implementation and remove opportunities. There is a remedy: refactoring the specs, even before refactoring the code.
This approach of refactoring "at the business domain level", that has been used on several real-world projects is very powerful to simplify code, and is derived in particular from DDD and from Specification by Example.
building complex android applications brings a hole host of issues that were never accounted for in the architecture of the android platform. this talk examines these issues and presents patterns for dealing with them. Includes: gracefully handling crashes and controlling navigation and launching after they occur, waiting for app initialization and loading, capturing the application context, and launching services during app initialization with that app context.
Designers are designers and developers are developers and never the twain shall meet, right? Except, not really. The truth is that it can be very useful for software creators to be able to understand the value and process of visual design. We’ll cover everything from design concepts and principles to technical tools and tricks of the trade that developers can use themselves, as well as ways to communicate about design with the rest of your team throughout the development process.
This talk tries to explain the reasons standing behind the trend of creating new programming languages for the JVM platform and the motivation to create one more language. It also gives an overview of the language.
Imagine you are a evil developer and you want to write hard to test code. What do you do? Would you declare everything private? Put everything in one big method? Give nondescript names? Turns out none of that is hard to test, but some things which we do every day are. Will writing tests cost you double the development time? How can writing more code be faster? Is testing really just for QA? Find these answers and more at psychology of testing talk.
Java Mission Control is a tools suite for low overhead production time profiling and diagnostics that originated with the JRockit JVM. As part of the convergence between the HotSpot and JRockit JVMs, Mission Control will be available in the HotSpot JDK. This session will discuss the latest addition to the HotSpot JDK: Java Mission Control, and the main profiling tool: Java Flight Recorder.
Effective Trading is about having up-to-date detailed information. Data is acquired from a variety of sources and combined to imply new information. F# is becoming a popular choice for this kind of application. Based on hands on experience of building a Commodity Trading platform I will describe and demonstrate areas where F# gives you leverage like domain modeling, computation and concurrency.
This session covers key aspects of working with Analytics, including:
- How does Analytics work?
- Calibrating: the tools, our understanding, and our practices
- Potential pitfalls
- Applying the concepts
- Ramifications of using Mobile Analytics, including privacy, risks for our apps, cost, data ownership, etc.
When Analytics is used effectively, it provides fast, inexpensive, and valuable feedback. Testers have a vital role to play in establishing justified confidence in the use of Analytics.
Performance testing generates a lot of data. Production monitoring yields more. Saving data to analyze performance trends over time yields even more. In theory, all this data can be analyzed with statistical science alone. In practice, it is far simpler to analyze and report on performance with an “artistic science” approach. This session explores methods for analyzing and reporting performance data visually that are more quick, intuitive, and collaborative than pure statistical analysis.
A talk on Developer and Designer Communiation
You are part of a modern development team delivering features like clockwork. But are you delivering the right features? Are you relying on up-front research that doesn't fit with your process? Lean UX sits at the intersection of Lean Startup & UX. It's an incremental team approach to product discovery and delivery that's already used successfully at companies of all sizes. Tired of building products that nobody wants? Learn how Lean UX can help you deliver the features that people really need.
To build today's responsive and scalable applications, developers need to start leveraging asynchronous programming methods. During this talk, we'll explore how developers can easily use the F# agent-based programming model, which is based upon the actor concurrency model first made popular in Erlang, to simply and quickly build concurrent applications.
Every front-end developer knows the problem: the project you are working on requires a control that is not part of the standard library, which raises the question “How do I do a custom control myself?” This session will show you one way you can choose to create a custom control in JavaFX. It explains the internal structure of a JavaFX control (control, skin, behavior, Cascading Style Sheets). In addition, it shows the differences between a Java Swing component and a JavaFX control. Finally, it creates a small control in a drawing program and converts it into code, using various approaches such as SVG to FXML, FXG to FXML, and FXG to code.
In a fast-moving development organization, with each new build, there’s a plausible risk that the product might have somehow got worse. To address that risk, testers often find themselves responsible for—and overwhelmed by—the development and maintenance of an ever-growing automated regression test suite. But what about other product and project risks—the problems that aren’t related to regression?
Michael identifies factors to consider in relating regression to your overall testing strategy.