Experience a full day of Mob Programming and learn the mechanics of how to work together as a "Mob", and explore the underlying concepts that make this form of development so effective for my team.
Throughout the day we will be tackling a sample project and working on it using a full “extreme programming” approach - User stories, prioritization, test-driven development, refactoring, and retrospectives.
Please join me for this hands on workshop.
Do you want to create art, capture ideas or take notes as sketches, or simply have fun drawing but are afraid to get started? You can learn to draw in just a day. Regardless of your past experience, drawing can be fun and easy following a few simple techniques and ideas for opening up your artistic side. This is a 100% hands on workshop on drawing for those who feel they can't draw, but would really like to, as well as those who have been drawing and yet feel blocked or want to improve.
With the newest version of Neo4j out in the wild as a final release, we have a lot of new things to talk about: from changes to our core data model to new language concepts and keywords as well as all new interactive use-cases.
This training offers the first step in building a good knowledge of graph databases, and covers the core functionality of the open source Neo4j graph database. With a mixture of theory and hands-on practice sessions, you will quickly learn how easy it is to work with a powerful graph database using Cypher as the query language.
Things you will learn:
An understanding of graph databases
Install and operate Neo4j
Use the Neo4j development tools productively
Exploit the strengths of the Property Graph model and the Cypher query language
Build confidence in building a graph enabled application
Which topics will we cover?
Introduction to Neo4j
Overview of Cypher graph query language
Social, logistics, recommendation, scientific and other use-cases in real world domains
Opportunity to consult first hand with concrete questions on current projects, possible implementations and proof of concepts
Attendees won’t need any previous experience with Neo4j, NOSQL databases or specific development languages, but will need their own laptop with Neo4j 2.x installed.
This workshop will be a hands on deep dive into building software with Gradle.
We will go beyond compilation and testing of simple JVM based projects and look at how Gradle supports the needs of build, release and delivery engineers in building both complex projects and dealing with software production at scale.
Attendees will perform practical lab exercises that provide a deep understanding of Gradle fundamentals that enables solving of complex problems.
* Dependency management
* Gradle plugin use and development
* Exploration of the larger Gradle ecosystem
* Multi project builds
* Migration strategies
* Custom build logic
* Build performance
Want to get started with AngularJS? This workshop will immerse you in the basics, the fundamentals, of AngularJS development.
* project setup
* ... and more
The concept of Visual Management includes many visual techniques that are aimed at solving specific problems in all phases of the project work.
This is a workshop, so we will work a lot, and in the end you will:
- Get outside of the basics of Visual Management and Visual Thinking
- See how people think visually to know when and how you should use a specific visual approach
- Try concrete techniques to work with relations, timelines, mindmaps and boards.
- Take-away with the ready-made templates
Java 8 is the biggest update the the Java platform ever. New features include: lambdas, the streams API, default methods, a new date and time API, and various updates to annotations.
In this session you will learn how to use the new Java 8 features: lambdas and method references, the streams API and how to easily parallelize your code, and the new date and time API. You will also learn how to troubleshoot your code with Java Mission Control and the low overhead profiler Java Flight Recorder.
Getting software released to users is often a painful, risky, and time-consuming process. This workshop sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers and operations, delivery teams can get changes released in a matter of hours no matter what the size of a project.
Christopher Noessel is keeper of the blog scifiinterfaces.com, and co-author of a book from the same project, Make It So: Interaction Design Lessons from Science Fiction (Rosenfeld Media 2012). On his site he publishes deep analyses and critiques of interfaces seen in science fiction films and television.
For Øredev’s Man Love Machine theme, Noessel will deconstruct one of the most compelling and yet flawed technologies seen in recent sci-fi cinema: The eponymous OS1 in Spike Jonze’ Her. He’ll walk step by step through the narrative in which Theodore Twombly uses and falls in love with Samantha, an artificial intelligence sold as an operating system. In analyzing OS1 as an interface, interactions, a wearable computer, and a service, we’ll see how Jonze’s vision illustrates the edges of a design problem for the future of artificial intelligence, as well as the existential problems of falling in love with a machine.
Finally, Noessel will conclude by talking about the future of technologists, designers, and lovers in a world where artificial intelligence exists.
People skills are offered as a way to get along better, to get cooperation, and to make your life easier. But often, a simple technique can backfire. Why do people get mad when you give feedback exactly like the book says?
Giving up steps and practices — focusing instead on underlying ideas and values — can guide you to better relationships and collaboration. Dig deep and learn how empathetic listening, authentic connection, and embodying compassion can fit naturally into your life and work.
When med-tech implants and wearable information devices are increasingly adopted by the health and fitness industry as well as hacker & gamer communities to develop and improve performance we have an incredibly powerful movement.
It gathers its power in corporate board rooms, gyms and health clubs, startup networks and basement tattoo parlours. It is the biohacker revolution and it is in the process of changing mankind forever.
Do we need to rethink how we architect our solutions when we move them to the cloud? How do cost, scaling, infinitive resources and other factors affects our application architecture?
Continuous Delivery is a process for automating the production readiness of your application every time a change occurs – to code, infrastructure, or configuration. It turns out that some architectures and practices yield code that works better in this environment. This session takes a deep dive into the intersection of the architect role and the engineering practices in Continuous Delivery.
Let's talk about web components and what problems they solve - or don't solve.
The era of SmartWear and Internet of Things is upon us - technological development is never at a standstill. This session will walk through 8000 years of human innovation and extrapolate scenarios for our near future. With a multitude of wearable devices not in our pocket, and augmented reality finally being placed in front of our eyes, what kind of disruption should we expect to see in the mobile development arena – and what can be done already today?
Revealed by Apple in June of this year, the Swift programming language has already established itself as a huge leap forward for iOS and OS X developers. Learn the ins and outs of this new language, see how it compares to other modern OO languages, and hear about how Apple developers are using Swift to achieve new levels of productivity and efficiency.
The team needs to build a product. The team readily recognizes the testers need to work with the developers but the same team often doesn’t consider that the testers also need to work with the UX staff. Often the UX staff is tucked away in a different part of the office, working with multiple teams and yet, rarely working directly with the testers. Why? How can testers review a product without a good understanding of the design? Testers need closer access to UX and UX would benefit from working directly with the testers. Karen highlights specific design areas where UX and testing pair well.
Peter is going to present the processing, storage and query architecture for the Mapillary project, and the different phases of scaling a huge dataset with only 4 developers. With backgrounds in Computer Vision, NoSQL and big data, we are trying to solve challenges only when they become a priority in order not to scale too fast. Be prepared for short cuts and hacks in order to balance customer features, startup economy and technical debt.
This talk will share experiences from starting tech companies and building global products with small teams and few resources.
In this session you will learn about and see the capabilities of the newest addition to the Azure Service Bus messaging infrastructure: Event Hub. Event Hub allows ingestion of application telemetry, diagnostics data, and device telemetry and environment data from the “Internet of Things” at very high scale of thousands of different event sources and at very high data ingress rates,
What’s new in Java 8, and what's coming in Java 9? This presentation will cover new features in Java 8, like streams and lambda's, look at what's coming soon in Java 9 and talk about some new and upcoming capabilities in the Oracle Java implementation.
Is OpenSource more secure?" is the wrong question. Also, who needs opinion when we have data... This session will provide new quantitative and qualitative analysis of the modern SW Supply Chain. There's been a dramatic shift from writing code to assembling it, with open-source and third-party components providing the innovation and efficiency developers need. This dependence on components is growing faster than the ability to secure them. As with Heartbleed, Struts, and the like, shared components are increasingly shared risk. Worse, components are increasingly the preferred attack surface in today’s applications. Growing dependence, coupled with poor security visibility, requires small but important adjustments to application development. Join us for fresh analysis and practical ways to minimize avoidable risk and rework.
For the last 10 years I have been either a team of one or been responsible for the day-to-day tasks of one or two other testers, but by the time Øredev rolls around I'll have been big-M Manager of not just a Testing team but of the Support one as well. This will be a no-holds barred look at what I have learned over the past year to help others not make the same mistakes and to steal from my successes.
The evolution of web technologies happens at breakneck speed. Almost weekly there is something new to play with in browsers. As developers in non-startup environments many of these things can look fancy but pointless and there is a high chance you won't be able to use them with your clients. Wrong! Chris Heilmann of Mozilla is going to show you a few things that are available now in browsers that your clients will love you for having. Don't hold back the web.
You have to be brave in order to change the world!
So what does this have to do with me? You might think; I just want to do my job – not change the world.
At work we face challenges all the time that require courage. Being brave and vulnerable is necessary.
Courage is individual and there is no such thing as a little courage.
Being brave is not about removing fear or not being afraid – it is about doing what is necessary even when you are afraid.
Many standard F# libraries and tools, including the compiler itself, are developed as open-source and have a large number of contributors. To successfully build such projects, you need to be serious about your craft. In this talk, I'll speak about what I learned as an open-source F# contributor. Along the way, we'll also look at a number of risk-free ways of introducing F# into your workflow.
This is a song written in honor of Oredev’s ten-year anniversary
The latest new, cool tool comes along. Will you be allowed to use it? Probably not! So how can
you change that? This presentation will review the organization structures at two different
companies (and cultures), and the factors that led to successful introduction of Clojure, Node.js,
Hadoop, and other leading edge technologies. This is experience plus practical advice, so bring
This session will introduce the concept of Reactive Programming and how it addresses the demands of modern architectures. The community project called Reactive Streams will be introduced, which is an engineering cooperative between industry leaders to define and implement a standardized asynchronous contract to build reactive applications that benefit from non-blocking backpressure to provide predictable performance characteristics and low latency for high-volume applications.
Elasticsearch and Kibana is an easy to use open source stack that gives us both great aggregation and search capabilities with a user friendly UI.
In this session we will use LogFlow, a .net replacement to LogStash, to move logs from disk to stunning visuals.
If you haven’t seen Elasticsearch and Kibana before. Be prepare to be amazed.
In Oredev 2011, a young energetic man, Pradeep Soundararajan, opened Twitter during his talk and showed the audience how they could use Twitter and social media to understand what users really want versus what they were given. He keeps coming to Oredev to tell stories of how he walks the talk. He has transformed the idea from using social media to understand users to using what the users say to help Engineering and Business make powerful important decisions. He is going to demo his tool and show you how testers and other stakeholders are going to become more powerful influencers on projects. The power of user is such.
The HTTP Archive allows us to research trends in mobile website development. How are websites changing over time? How do these changes affect performance? What sites are keeping with the latest designs AND keeping ahead of the performance curve? In this presentation, we’ll look to discover the fastest designs for mobile performance in use on the web today.
If Agile is Scrum or if Agile is Kanban, I'd rather have a trusting team.
I'm going to talk about trust - trying to sort out why we'd let a stranger watch over our children but we'd never lend them our car. I'll show examples of successfull projects that ran solely on trust.
Most likely I will dip into a favourite topic - the confusion that Agility is a result of a method or a set of tools. We need to understand trust so we can harnace its great powers.
In teams where there is trust - great things will happen.
This talk will do a deep dive into Project Orleans, a runtime and programming model for building distributed systems, based on the actor model. This session will go over the basics of the actor model, and the Orleans implementation of it. It will include an overview of the programming model, and patterns and best practices on how to architect distributed state-full systems using Orleans.
Sweden's worst serial arsonist is suspected of burning down more than 200 buildings over the last 20 years but has only been convicted for two. How could that be possible? Or the more important question: How can we hinder it? In this session we will give examples how graph based analysis can be used to better understand and prevent serial arsonists.
I’d like to give you all a basic understanding of Ember, the client side MVC framework. Once you have a small foundation of how Ember works, and how it can help you develop applications within a browser, I’ll explain how Ember Components are awesome, unbelievably useful, and unparalleled in expressiveness. Ember Components are a basic building block and primitive in the Ember universe that gives us the power of Web Components, before they are actually implemented in all modern browsers.
We've been living with Android wear all summer and Google Glass for a few years now. In this talk we will discuss the qualities of effective wearable applications, and cover the different architectures that you can explore to implement similar strategies in your applications.
The world has become a very design sensitive meaning it’s now even more critical that developers build products that look amazing. Sadly frameworks like twitter’s bootstrap can only take us so far and even with designers on the team developers need to understand the key principals of good design to make effective decisions. This session will explore the foundations of good design, why certain things look good while others don’t and what developers really should know about design.
Today’s clouds are about more than expanding reach, they're about expanding possibility. Once, cloud was simply the tool you used to access your files from anywhere and to make your IT operations more efficient. Today, it’s an incubator of ideas that can help you continually test, adjust and deploy new innovations more nimbly than ever before. This session will introduce you to the next wave of platforms where you can easily collaborate across the globe, or be a hero, to build, test, deploy and manage new solutions in the cloud rapidly. To achieve this IBM continues to contribute and embrace open-standards, and has built a cloud-based platform for building, managing, and running apps of all types, such as web, mobile, big data, cognitive tasks and smart devices. Announcing Bluemix - a brand new cloud platform enabling development on the cloud, for the cloud, by the crowd!
An experiential report detailing the successes and frustrations of introducing a software tester to an Agile programming team, how programmers and testers view each other, their work and their responsibilities
To be successful, Teams need a shared purpose, a shared identity, and a shared way of working together. We will explore ways how to build this shared understanding by using LEGO SERIOUS PLAY™. We will learn how to make powerful shared stories with our hands and use them to bridge the gap among different ways of thinking, and communicating. And if this isn't great alone, we will have LEGO and we use it in the workshop!
Functional programming has never been so popular, but beyond the hello worlds and the occasional kata, there are some real challenges to be faced when building something tangible and at any scale.
Writing a database like RavenDB taught many lessons, especially around the manipulation of resources, interop with legacy java code, as well as broaching interesting libraries such as core.async and the principles of data oriented design. This session will save you time when treading the same path.
What was the world’s fastest supercomputer in 1997 is today a plaything for any average teenager and can be bought online for less than 100 USD. The processing power of computers is growing exponentially - giving machines the ability to perform an increasing number of tasks once seen as exclusive to highly skilled humans.
Looking at these trends, prominent tech thinkers are discussing the concept of the technological singularity, a day when computers profoundly outsmart humans. What are the implications of this incredibly fast and powerful technological change? Is human civilisation about to be transformed beyond recognition already in our lifetimes?
What happens if you distribute 1000 top of the line cell phones that measure social interactions via telecommunication, online social networks, and face-to-face to a densely connected population? My lab did exactly this to gain a new understanding of dynamic human social networks. The talk describes the motivation behind this project as well as some of our early results.
The next version of ASP.NET has been redesigned from the ground up. Come join us to see how to make ASP.NET MVC, Web API, SignalR, and Entity Framework all play together with a shiny new unified programming model. Add a dash of cloud, a pinch of cross platform support, and a smidgen of NuGet - and you have the future of .NET on the server.
Mobile technology has so far mostly been confined to the client side, for fairly obvious reasons - traditionally, clients are mobile, and servers are not. However, not only is hardware getting smaller, servers are too. Servers which are literally lightweight don't just allow location-based services, they allow locatable servers. This talk will demonstrate developing and deploying a web application to an application server running on a raspberry pi embedded in a silly hat.
What does it take to make an app from good to great? Attention to detail. In this session we will dive into advanced techniques to customize Paint, the core of Android rendering. With Shaders and Filters, you can fine tune the look-and-feel of your app and delight your user with a polished UI.
The web owes much of its success to the ability of its core technologies to evolve over time. In recent years we've seen an explosion of new browser technologies and standards. In this talk we'll look at the general trends as well as a few significant specs in more detail. We'll look at the good that's coming as well as some of the new problems we may face. Finally, we'll conclude by talking about how you can get involved in the process by providing some resources, advice, warnings and more.
8 simple TDD rules to help you avoid brittleness, over-specification, duplication, and disdain from your fellow developers.
Changes in organizations are nowadays a common process. But what is normal reactions in individuals and groups. How cope with change and how can acceptance be the greatest method to apply.
What happens when the fast-paced world of the web meets the resource limited world of distributed embedded systems? During our time putting the internet in the Philips Hue lightbulbs, we encountered interesting challenges. How do you create a cost-effective IoT architecture that scales? What changes when your product has both a local and a remote API, each with different capabilities? An architectural overview, war stories and passing on some key learnings.
Neo4j was launched at Öredev 2007 to a room of 50 developers, and has grown from there to the world’s most popular graph database, with over a million downloads and companies like Walmart, Telenor, Cisco and eBay using it for mission critical applications. A company has been wrapped around the open source project, and it has gone on to raise 25 million dollars in investments, over a hundred customers and tens of thousands of users. Neo4j is now headquartered in Silicon Valley with 60+ employees, but engineering HQ and the heart of the product is still Malmö.
This talk will be a personal reflection on a journey that started here at Oredev seven years ago. This is the raw and uncut version of all the ups and downs of a high growth startup, and lessons learned to date.
Alan Richardson has stumbled across security issues on a number of live web sites and applications. He didn't mean to, he was just observing the system at a lower level of detail than other users, and then asked questions about what he saw. In this session he will describe: tools he used, the thought processes he went through, the bugs he found, the processes he went through to raise and pressure the companies to fix, and the extreme lack of rewards and gratitude that he received in the process.
Software never works exactly the way we expect or intend it to, at least at first. Something inevitably goes wrong! What then? We are here for problem-solving, and every bug we encounter is a mystery, a wonderment, and a puzzle which upon resolution lets us move on to bigger, more interesting problems. Let's clear our heads and stop throwing spaghetti against the wall to see what sticks! We'll discuss how to systematically approach diagnosing the root causes of unexpected behavior in our code.
In head-to-head comparisons, see various machine learning tools and products that best integrate with the Microsoft Business Intelligence and Analytics stack. We will cover techniques that include clustering, time series prediction and other common ML algorithms.
A deep dive on the new cross-platform offline data sync feature in Azure Mobile Services and how to data sync in existing apps.
Dart provides a productive, end-to-end development experience for the web. This introduction will discuss the motivation for Dart along with a walk-through of language, libraries, and tools. Learn why Google is investing in Dart and how Dart targets all modern web browsers. You will see projects inside and outside of Google using Dart today and how to evaluate Dart for your next project.
Often we hear that estimating a project is a must. "We can't make decisions without them" we hear often. In this session I'll present examples of how we can predict a release date of a project without any estimates, only relying on easily available data.
I'll show how we can follow progress on a project at all times without having to rely on guesswork. past. At the end of the session you will be ready to start your own #NoEstimates journey.
We've been talking about smart dust—computing and sensors bundled up in millimeter-scale motes drifting in the air currents—since the early 90's and technology is finally catching up with the dream. But smart dust isn't just coming, it's inevitable.
Splunk offers a leading product for ingestion and query of massive amounts of data in disparate formats. Come to this talk and we’ll look at the platform and what’s possible with it’s delectable menu. You do not need to have any prerequisite knowledge of Splunk to benefit.
Object-Oriented Programming has well established design principles, such as SOLID. For many developers architecture and functional programming are at odds with each other: they don’t know how their existing tricks of the trade convert into functional design. This problem becomes worse as hybrid languages such as Java 8 or Scala become common. We’ll talk about how functional programming helps you you achieve cleaner and simpler OO design.
Flipboard has grown from a single iPad app to being available on a multitude of platforms and devices in just 3 short years. In this session you'll learn about a number of the different approaches Flipboard takes to sharing its resources and keeping things in sync across those differing platforms.
Dan North shares some of the interactions that have shaped his accidental career: the time he killed the production database, the time the team was imploding, the time the boss was wrong, the time he was the boss who was wrong, the time he tried to quit and failed, and a few others, outlining the impact that interactions with people can have on someone.
Looking at her own start points, Keavy explores what makes her tick, and stay, in software development.
What areas of making software are most valuable to us? To our happiness, productivity and longevity? How can we flourish, as a maker of software?
Continuous Discovery: The future is for us to discover, one moment at a time.
The strength of Agile lies in the simplicity and clarity of the Values and Principles expressed in the Agile Manifesto. I'll share with you how I apply and use "Pure Agile" in my daily work, and encourage Continuous Learning, Continuous Growth, and Continuous Discovery in the teams and companies I work with. Let's explore together and discover the path to future we want to create.
This talk will combine two things that I am extremely passionate about, API development and scriptcs. I am sure you’ve heard of APIs, but what is scriptcs? It’s a lightweight way to develop C# which offers a less-montonous C# experience and fully supports nuget. In this talk I am going to show you you can use scriptcs to offer a programmatic fiddleresque experience for interacting with APIs as your developing, including and most importantly working with Hypermedia.
Depending how to tackle it, Java EE 7 can be hell or heaven. From a scary enterprise monster to a nimble startup killer app.
What makes Java EE applications succeed? In this session I would like to introduce you to the “Best of Breed” Java EE 7 and Java 8 APIs, approaches
and techniques of “successful” Java EE applications. “Successful” means: the application works and the developers enjoy the building and the maintenance process.
Building software is hard. Building the supporting environments and processes are even harder. OpenShift PaaS hides much of that complexity and provides a quick way towards delivering software quickly and continuously so that you can focus on building software rather than all the boring stuff. This talk will introduce OpenShift and demonstrate how to do Continuous Delivery though building a delivery pipeline on top of OpenShift. We will be pushing code to live servers within minutes.
In order to better understand the choices and tradeoffs we make, it can be interesting to look at how various constraints might cause us program in other ways. We'll walk through how a small program would have to be implemented differently in a bunch of darker, angrier worlds - for example, what if we had no variables? If there was no stack? If there were no pointers? What can we learn by exploring a set of dangerous and tricksy alternate realities?
Responsive design is great for websites, but it's use is limited when it comes to web applications. It's much better to design your UI from the ground up using to work equally well on phones, tablets and browsers and in this talk, I'll show you how.
How many times have been told how functional programming is so much better than imperative, and then being presented with a functional approach to calculating a fibonacci sequence, leaving you wondering how that can be even remotely useful when working in real world applications? Yep, we’ve all been there. It seems that every time someone wants to explain functional programming to us, it’s around how to solve some mathematical problem. But how does that provide us value? How do we deal with things like grouping functionality, loose coupling and consequently dependency injection?
The rapid adoption of Node.js has resulted in a significant amount of patterns and approaches from the community, some which work and others that have completely failed. This session will highlight the anti-patterns of Node.js, such as Callback Hell, how to write better applications and the lessons Ben has learned while building Node.js applications.
Presentation by the author of "Generation 64: Commodore 64 Made Me Who I Am" - a coffee table book about the young Swedes who grew up with the Commodore 64 and laid the foundation of a successful IT and Gaming nation.
Need the power of Bootstrap without the bulk? Come see how to build your own CSS framework! We'll start with a solid CSS foundation, add on some component scaffolding for your most common use cases, and top it off by discussing how to share your new web framework with your team. Grab your hard hat and come learn how to build a better Bootstrap!
Have burning questions about AngularJS 2.0? Want to know what we're up to, what's planned or get a status update? This is the place. In this talk we'll start by looking at the fundamental motivators and design goals of AngularJS 2.0. Next, we'll talk about specific features such as Dependency Injection, Templating, Binding and Routing. You'll gain a solid understanding of what AngularJS 2.0 comprises and have a feel for what the next generation of JS client development will be like.
A long standing thorn in the side of Java developers is the set of problems associated
with java.util.Date and Calendar. Inconsistencies such as whether numbers start at 0, 1
or 1900. Poor design decisions such as inherently thread unsafe formatters.
Thankfully Java 8 introduces a new API for date and time values based on domain modelling, thread safety and fluency. If you want to learn about how to use the API and how to integrate it into your existing projects then this is the talk for you!
The humble TextView was there when you wrote your Hello World app. You know how to change its text size and color, perhaps its font too. But do you know that you can also put multiple font sizes in the same TextView? Highlight individual words? Embed inline images? Come and learn how to unleash the power of TextView with Span, Paint, and much more.
Over the last few years we have seen the rise of browser
driven client applications are now being widely adopted. While
shortcomings. This is where languages that compile to
powerful features to the front end developer. In this talk you will
get an overview of what ClojureScript development looks like and how
it may simplify your application.
Often I hear people say that retrospectives are useless, boring & take too long.
This means that its not done right; do it right and get some value from it :)
The difference between a good & a bad retrospective?
The structure and the facilitation.
Retrospectives are the strongest tools in the agile toolbox and an important part of continuously inspect & adapt.
I will talk about the structure of a good retrospective and important principles to follow to get a good retrospective every time.
After 3 years of usage growth though, NuGet.org needs to be more reliable, scalable, and maintainable, with the goal of 99.999% availability of package downloads. To achieve this, we’re evolving the architecture away from a monolithic website/service into several independent services, connected purely through HTTP. Come learn how we’re starting to use Command Query Responsibility Segregation (CQRS), JSON-LD/Linked Data, and event sourcing.
Learning the syntax of a new language is easy, but learning to think under a different paradigm is hard. This session helps you transition from a Java writing imperative programmer to a functional programmer, using Java, Clojure and Scala for examples. This session takes common topics from imperative languages and looks at alternative ways of solving those problems in functional languages.
Classic old-school TDD recommends refactoring as part of every cycle -- red, green, refactor. In fact, it recommends refactoring mercilessly. Relentlessly. To succeed at classic TDD, you have to be some kind of refactoring maniac!
Refactoring maniacs are an endangered species, but you're in luck: we have one of the last remaining pairs. See for yourself how refactoring fits into the TDD cycle, and when practiced mercilessly, allows beautiful, simple code to emerge.
Julia is a high-level, high-performance dynamic language for scientific computing. It has been gaining traction as a faster alternative to Matlab, R and NumPy and as a more productive alternative to C, C++ and Fortran. Julia is particularly relevant when both expressiveness and performance are paramount – in areas like machine learning, “big statistics”, linear algebra, bioinformatics, and image analysis.
Writing automation code requires good design and organisation in addition to 'test' code. Abstraction layers help make code readable, and maintainable. But what options are open to you? DSLs, DOM Level Abstractions? Page Objects? What about Gherkin? In this session you will see examples and learn the thought processes that led to the decisions.
Fast and sexy, JavaFX is the perfect toolkit for creating cool UIs for embedded applications such as on wall displays, in car dashboards, or in flight entertainment systems. For embedded development, performance and size are key, and with JavaSE Embedded 8 it is possible to deploy a smaller, faster subset of Java to embedded systems.
The world of data is changing and becoming yet more important as data has become a significant competitive advantage. We are collecting increasing amounts of data, but wanting to process it in decreasing time. This demands new techniques in data storage, enabling the raise of NoSQL technologies.
ORMs, the necessary evil, the so-called "Vietnam of computer science", the despised of DBAs everywhere. Much of the ORM hate comes from just bad usage of ORMs. In this session, we'll learn ORM anti-patterns and see what successful ORM usage looks like.
Attendees will hear about an experience with lightweight planning for a team in a big company. At the heart of it is a kind of story map, a single-page plan of sorts. It is a simple tool for discovery and continuous planning with stakeholders, including what’s a minimum viable first version to go live with
What does 500 to 50 year old teaching on typography have to do with making a good digital interface today? This session will look at Gutenberg, Garamond, Bodoni, on up to early 20th century typographers such as Tschichold, Frutiger and the relevance of their work in designing better interfaces and digital experiences now in 2014.
Mobile is no longer an option – more people are browsing, using mobile devices than desktops. Now that you have a mobile presence, how does it behave in extreme network conditions? (some of your customers will be on 2G, or at a conference) Learn techniques and tools to make sure your mobile experience is awesome at any speed.
Do you have a dream job? Would you like one? J. B. Rainsberger has his and wants to share with you how to get there. This isn't a session about how to deal with recruiters or how to raise your rates, but how to figure out the straightest path for *you* from whatever job you have to one that supports the lifestyle you want. Find out how you can use the Theory of Constraints to transform your current job. This session could transform how you think about your job
This session is done via satellite.
What do magicians and programmers have in common? They are good at juggling, have very nimble fingertips, often make things vanish, and have lovely assistants! Ok, so maybe not all of those describe your average hacker (unless your pair programmer partner happens to be Penny), but we are going to try to put on the most spectacular magic show that has ever been seen on the stage at a tech conference! [geeks only]
The programmer anarchy movement has showed that team autonomy is one of the key factor to create an effective organisation. But how do create such an environment? In the series Sons of Anarchy we get to know southern California chapter of the Sons of Anarchy and how they operate in a world of chaos. Many of the concepts in the series like chapter, table, prospect and the nomads can be used to give teams more autonomy help your organisation to become more effective.
RequireJS is for “client side” developers and browserify is for “node developers.” Bower is for “client side” developers and npm is for “node developers.” Or so the popular tweets and blog posts would make you think. I’d like to tear down these walls with you and show you how the two sides aren’t that different after all.
Practically, I’ll show you not only how to use bower dependencies in your browserify project, and npm dependencies in your RequireJS project.
Woody Zuill and Vasco Duarte share their experiences with #NoEstimates and describe how #NoEstimates is just one small part of getting back to Agile-as-if-you-meant-it
We tackle: #NoEstimates implications on teams, stakeholders, product management and even business. But most of all we talk about the implications to us as human beings.
Continuous Delivery is not new. But Continuous Delivery with .NET is a shockingly sparse topic with few case studies to compare against [steal from]. This session outlines the .NET delivery pipeline I helped build, troubleshoot and maintain. Are you developing in .NET? There will be something in here for you.
A look at data storage options in Microsoft Azure, discussing the pros and cons of each one and how to use them all together for the best results.
The next generation of cars are being designed with digital systems integrated to the in-car experience. This presentation will introduce key aspects of designing UX for cars and will provide examples from Volvo Cars’ new SPA-platform.
Traditionally, developers would write their applications without any thought as to what system it was going to be deployed on in production. It was also very difficult for them to understand how their software would react when releasing it into a production environment as they didn't really understand how that environment was configured. What if there was a way that developers could create the scripts needed to install dependencies and get the software running as it is developed? Vagrant does exactly this, it is a tool to create and configure lightweight, reproducible, and portable development environments. In this session, I will show you how to create a development work flow that will allow developers to use Vagrant to create a real continuous delivery pipeline. This means understanding the environment needs as well as what is needed to run the software. I will also show how we, at OpenTable, integrate Vagrant into our pipeline to allow us to create a good acceptance testing environment against known data sets rather than having brittle test.
A look at the issues and opportunities presented when designing, architecting and building web applications for public cloud platforms such as Microsoft Azure or Amazon Web Services.
Today 25 percent suffer from sleeping problems. What are the symptoms and consequences. And how can you deal better with stress and insomnia.
The session will be on how developers and application architects can begin the journey to DevOps by automating the end-to-end delivery and management of infrastructure and accelerate the application deployment and releases.
Through a library of VMware and partner blueprints middleware and integrated multi-tier applications can be rapidly deployed either in the public or private cloud.
Want tighter collaboration and better working rapport between testers and developers? Enough of the antagonistic images and comments of the tester and developer relationship, sure testers find code issues and point out the flaws of developer’s work but testers are also “helpmates” to developers. Karen identifies seven specific areas to build collaboration during development and testing of a product. She also explains how having an empathic approach can improve a tester/developer relationship.
If we were able to take a microscope and observe how our programs work on the lowest level, we would be surprised and shocked. Close to the wire, programs behave very differently from what we expect.
In this session we will go through code examples that show the counter-intuitive behavior of Java on the lowest level. Topics covered will be the cache hierarchy, false sharing, pipelining, branch prediction, and out-of-order execution.
Traditional SQL databases have great power, via ACID transactions and declarative query language (SQL). But these databases encounter problems on the web: namely they have rigid information models, update-in-place storage (no history!) and they struggle under high write volumes.
While the NoSQL movement has tried solving the third problem, the problem of the 4%, Datomic solves the first two problems with a flexible information and deployment models suited for the cloud.
Datomic is for the 96%.
See the hardcore production developer. See her optimize. See her unit test. See her scoff at the design implementation developer, who knows nothing of optimization, who, however, can turn a thumb drive full of drawings into an application before lunch. Brunch even. See them both scoff at the prototype developer. See the prototype developer invent five new interaction models between brunch and lunch, vetting them and down-selecting to the best of them before tea time. Let's see them all.
Halo 4 is a first-person shooter on the Xbox 360, with fast-paced, competitive gameplay. To complement the code on disc a set of services were developed and deployed in Azure. These services needed to support high demand, with low latency, and high availability. In this session will discuss some of the challenges faced while building this services, and how Orleans, Distributed Virtual Actors for Programmability and Scalability, was utilized to solve these problems.
How do we democratize data by igniting a crowd powered global movement with the aim of building a collaborative social fabric-enabling layer across diverse cultures and markets? To do this during times of unprecedented social, economic, environmental, demographic, and political uncertainty will require us to take a bold approach and step outside of the way we normally do things.
What makes SSL secure, and when is it not? How do we handle sensitive data in our apps/systems? Is encrypted data always protected (and protected against what)? Can we trust the code just because we wrote and/or compiled it ourselves? How do we protect our application logic?
These and similar questions are discussed (with demos) in this session. Whether you work on mobile/desktop apps or web/backend systems - if you want to learn more about security - this is the session for you.
Spotify have been growing quickly as a company, and we are continuously experimenting with ways of making the company work as effective as possible. Creating strong team autonomy and making sure we are all aligned requires effective and strong servant leadership.
We have gotten a lot of attention for our way of organizing into squads, chapters, tribes and guilds. One question we often get is how management and leadership in this organization works, which is what this session will be all about.
This talk is a feedback about developing OpenSnap, a SnapChat clone based on Dart end to end (client, server, tooling). I will explain how this application is structured, what code can be shared, and how Dart makes it easier to develop modular applications.
We will also see a concrete example of a Microservices architecture based on JSON, HAL (Hypermedia) and STOMP. On the client side, we will talk about Web Components, Polymer, Material Design and Paper Elements.
As our websites, applications and teams grow larger and more complicated, so does our CSS. Before we know it, we find ourselves no longer with cute little stylesheets, but sprawling, surly teenaged CSS that doesn’t always play nice with others. We can use best practices for organization, formatting and syntax, along with tools like pre-compilers, frameworks and style guides to raise full-grown stylesheets any designer or developer would be happy to work with.
Cloud Foundry eliminates a lot of the more boring aspects of our job - no more installing middleware, sorting out databases, and banging heads against complex deployments. This leaves us with more time for the fun stuff - writing code and getting stuff out to users fast. This talk will demonstrate how to get started with Cloud Foundry by live-coding an application (with a front-end, a back-end, and even a middle-bit) and then live-deploying it to the web.
Building for mobile is not just a change of form factor, and web versus native is one of the least interesting design questions to answer. How do we build for the user's most intimate and most loved device, and allow for the intermittent, partial attention? When everyone has a device this powerful on them all the time, everything changes. Let's talk about what that means.
Mobile touchless interaction, connecting devices, internet of things
Let's face it.
If you want to have a successful career in software development today, being a good coder doesn't just cut it anymore.
Sure, writing good code will help you keep your job, but there are plenty of good and great coders out there that you've never heard of, either looking for jobs, or unsatisfied with their current jobs.
If you really want to stand out and get noticed, you've got to learn how to promote yourself.
How to get knowledge from data? In this talk, I'll demonstrate end-to-end data analysis using FsLab - a cross-platform data science tools based on F# that make it easy to access data using type providers, analyze data in an explorative way and produce beautiful HTML5 reports visualizing the results. Along the way, we'll look at examples using open-government data, Wikipedia and other fun data sources!
created by Facebook to simplify writing applications consisting of
many components. React allows you to describe how the UI should look and renders
it automatically via one way data binding. It achieves good
performance by using a virtual DOM that prevents unnecessary and
expensive DOM manipulations. Even better performance can be achieved
by leveraging the immutable data structures of ClojureScript. This is
an approach taken by Om and Reagent. In this talk you will get an
impression of using ClojureScript together with React in practice.
In this session I will share the story of our framework; how it started, the wins, the fails, our daily workflow and how we plan to take it to the next level by making it a crucial part of our Design, UX and Development processes.
Last but not least I will try to explain why a framework and smoke machines are a great match! Why they are a must have in every workplace and why/how they need to become bigger and more powerful.
In this talk I would like to show you a few real-life use-cases where Elasticsearch can enhance the user experience of your applications. We will start with the most basic use case with a seemingly simple problem of searching for documents and move on to more advanced topics such as faceted navigation and structured search.
I would like to demonstrate that the very same tool and dataset can be used for real-time analytics (topic distribution, publishing frequency, most popular or commented on content) and data mining in a distributed environment capable of handling terabyte-sized datasets.
Finally we will demonstrate how Elasticsearch can provide the infrastructure for features beyond search, such as automatic content categorization, user-defined categories or even real-time alerts.
Attendees should walk away with a good understanding of what Elasticsearch can bring them and where it is a good fit.
TKP has created and uses a new method of teaching children programming. We call this the intentional method. TKP output consists of customized courseware and teaching techniques. All of TKP material is freely available to use and improve.
Sharing knowledge, cross-pollinating for mutual enrichment is what Øredev is all about. We learn so much from each other. To celebrate a decade of Sharing Knowledge, we invited a person from who we thought you would learn from, a person who's life has been about Passion and Collaboration. Tony Ernst will be the one interviewing Nile Rodgers during the evening. Do not miss it!
For the first time in history, we are routinely mistaking computer interactions for human ones. This is a remarkable testament to human ingenuity, but what does it say about us? Over the last several years, software mimicking human conversation has finally come within reach of the Turing test, a threshold beyond which – or so it's argued – a machine can be said to be thinking.
Poet, philosopher, and computer scientist Brian Christian set out to become one of the Turing test's "human confederates," competing not only against machines but against his fellow humans to persuade the judges that he was, in fact, human. Preparing to compete for the coveted, if bizarre, "Most Human Human" award sent him on a wide-ranging investigation into science, philosophy, literature and the arts, to learn what he could about just what it is that makes us human, anyway. As we enter a time where it's ever more difficult to tell the difference between genuine human connection and its many imitations, computers – far from being a threat to our humanity – provide a better means than ever before of understanding what it is.
Materials' is a beautiful new design framework in which we can re-think some fundamental design choices we've made in our applications, across multiple platforms.
What part of Material design is right for you? Who is in control of your product? Come to this talk, and we will cover ways to implement material design paradigms without compromising on your company's design integrity.
Global warming. Oceans suffocating from eutrophication. The urgent need for renewable energy. Our generation is facing some of the hardest challenges in the history of mankind. Modern technology is one part of the solution. The other one is billions of years old: algae. Algae have become the green darlings of thought leaders such as Obama and Branson, but also global corporations such as Exxon or Unilever. This session is about what it’s like to build an exciting new industry from scratch.
You own a company that doubles in size every year, you let it just grow without structure, the people keep coming and doing, and everyone talks to everyone and soon nobody gets anything much done... It’s ok, just a dream - you wouldn’t really try build something so complex without any organisation. Right?! Wrong! We have all seen teams sail smoothly on 500 classes, to later struggle and sink in 5,000 classes. This talk explains why this happens, and what you can do about it when it does.
Skilled software testing has not fit well into the culture of Agile development. Agile was not created by testers, or with testers, or with deep testing in mind. As a result, people who study and practice the testing discipline have done so largely outside of Agile culture. To help fix this, Michael Bolton and I have created a new version of the "Agile Testing Quadrants" that helps us explain a better way for testing and development to coexist.
Application developers of today frequently try new apps and concepts that exist outside of their companies’ core business systems. They pick technologies best-suited for their unique circumstances and favor quick access to tools. When it comes to application delivery, you can’t ignore the importance of messaging runtime. Attend this webcast to find out how IBM MQ Light and IBM MQ Light for Bluemix— the new lightweight messaging solution that can make applications more responsive and easier to scale— provide a simple messaging API that developers can install, configure, and use to write applications in just a few minutes. Learn more from the creators of this tool on how it will help all developers accelerate application delivery and contribute to the evolution of MQ messaging.
Online retail is increasing every year. The salesperson is replaced by a sales droid - a set of adaptive algorithms with the purpose to predict interest and inspire the visitor to buy more. In this talk we show you the reality behind some of the biggest online retailers in the Nordics, and reveal the algorithms behind the polished storefronts. We also debunk a few beliefs that hold back the academic research community.
Docker is an open source container virtualization framework that was released in March 2013. It makes it easy to create lightweight, portable, and self-sufficient containers. Containers which you can use to test applications, build and run services or even to build your own platform-as-a-service. Learn why Docker matters, how to get started with it and see some cool examples of Docker in action.
Learning how to use a tool like Selenium to create automated tests is not enough to be successful with an automation effort. You also need to know how to build an automation framework that can support creating tests that are not so fragile that they constantly break. This is the real key to success in any automation effort.
What kind of testing do we need to have in a CD pipeline? What does it take to push a commit all the way to deployment? Fully automated. Several times a day.
Model-based testing has played a key factor at Spotify as a part of the automated end-user acceptance testing. Kristian will talk about how Spotify built the Continuous Deployment pipeline for its web player, and changed the way manual testing was performed. Also, the tools involved which mostly are open source (Gerrit, Selenium, GraphWalker) will be discussed.
A day-long event showing how to brew beer at home (or in this case at a developers conference). The beer that will be brewed is a double india pale ale with huge amounts of american hops. The presentation will provide theoretical and practical information to get you ready to start brewing yourself.
To get full benefits of Continuous Delivery, all aspects of the software development need to be delivered and at the same time be able to handle multiple versions. Pramod will focus on techniques to enable continuous delivery of changes to database without downtime. Techniques such as Database Refactoring, Database Migrations, Automated Deployment, Continuous Integration with databases and Version Controlling Databases techniques that allow to manage changes in the database.
Many of us started out using computers that were much less sophisticated than what we have today, but the systems of yesteryear still have lessons to teach today's developers. This session will dig into the strange world of 6502 assembly language, with particular focus on the Atari 2600 videogame system from 1977. Common idioms will be explained, and most of the rules of software development that you live by will be turned upside-down.
Much as programming languages teach behavior to a machine and aid in expressing a particular outcome, can design be approached with simple, flexible, and teachable best practices of language? For both computer language well as natural language, this session will look at ways of thinking about design experiences through consistent and cohesive “language”.
A number of disruptive ideas have over the last few years emerged to create what can only be described as a perfect storm for enabling the concept of 'Internet of Things', or the 'Programmable World'. In this inspirational session we will explore the developments that led us to where we are today. We will have a look at the software and hardware technologies that are available to us, how they work, and most importantly, how you can program the things around you to do do what you want!
The talk will combine knowledge from coaching, requirements gathering and system architecture and show a lean and agile approach to system specification where requirements and architecture goes together and where the artifacts described during this process can be directly correlated to code artifacts making it possible to reason about the code from a system perspective. Since The DCI paradigm is what makes this possible, this talk will also be an in depth introduction to DCI.
One day we woke up and realized that our days are filled with all kind of stuff unrelated to code, that our goals are driven by product owners, and that our code design is dictated by architects.
A great coding culture gives that power back to the developer, bringing autonomous teams together, helping programmer to innovate, and raising the awareness to create better code.
I will talk about how to foster a strong engineering-focused culture & give examples from our experience at Atlassian.
This session will introduce the Reactor fast data framework. Reactor is a library for building low-latency, high-throughput reactive applications on the JVM. The core concepts and abstractions will be introduced through plentiful code samples and live coding.
What makes an Agile tester 'Agile'? Is there really that much difference between agile and non-agile software testing? This session takes a look at the experiences of a tester embedded into an Agile team and examines the skills an Agile tester should have in their arsenal.
Let's get a handle on what your JVM is doing using system tools as well as JDK tools like jps, jstack, Mission Control and Flight Recoder. Using real world examples we try to understand common development mistakes and performance problems.
Everyday things are becoming smarter. The problem? The things are becoming smarter, but they’re also becoming selfish and you’ve ended up as a mechanical turk inside your own software. How can we fix the Internet of Things? The things have to become not just smarter, but more co-operative, and the Internet of things needs to become anticipatory rather than reactive.
Developers are also users. Instead of interacting with buttons and other graphical elements we use APIs. Just as a GUI can be more or less usable, so can an API. What makes an API more or less usable? Fredrik Mörk takes a fairly non-technical look at some useful thought patterns that can help you design a better API.
In this session you’ll get a whirlwind tour of what it is like developing web applications in Clojure.
- Setting up a webserver with Pedestal
- Routing requests to controller handlers
- Rendering templates and views
- Persisting information to a database (Datomic)
- General editing and project organization tips
Software developers are the magicians of this age. With the information and technology available to us today, we can do pretty much anything we put our minds to.
What mark will you leave behind in this world?
In this short lightning talk you will find out how to use your powers for the greater good!
You would love this. Pradeep and his colleagues have helped customers worldwide improve app store rating for their apps. He will be showing real work done. He would love to explain how his team understood existing user reviews, how they interact with users, understanding user emotions and equally important, how they test and report.
MicroService Architecture adroitly exploits cloud environments. In this session, we will address the lessons learned in 3 companies (so far). The lessons cover overcoming the programmer bias to build "big" services; asynchronous vs. synchronous service flows; successful languages, environments, and frameworks; and impact on development processes. Also addressed is the necessary shift from acceptance test to active system monitoring of business KPI's.
One man's story about the trials and tribulations of being an 'enterprise' developer. If you think you've experienced corporate dogma and constraint - the extent of it in this tale will put everything in perspective! I'll also give you proof that despite what anyone says, things can get better.
Good user experience (UX) is essential in modern software. It is a must-have in consumer oriented applications and even in business applications good user experience becomes increasingly important.
Unfortunately only few teams are equipped with a UX expert and it is up to the developers to incorporate good usability. This talk covers the basics of UX design. We will take a look at several concrete and simple techniques that will enable you to increase the usability of your product tremendously.
Problems choosing between Java EE and Spring? Or do you want to use both in combination? Then this session is something for you.
In this session you will learn how to leverage the features introduced in akka-http and akka-stream to write fully back pressured streaming REST services. We will show you how to use the client and server APIs to add resilient and reactive REST services to your architecture, as well as give you an overview of what RESTful programming with akka-http and actors look like.
Akka is a toolkit for writing reactive, fault tolerant, distributed and scalable applications in Java or Scala.
A review of sex-related interfaces in sci-fi Christopher Noessel discusses matchmaking interfaces, augmented coupling, mediated coupling, and yes, even sex with technology. Along the way he shares practical lessons derived from the examples.
The NuGet team has spent most of 2014 working on NuGet 3.0. You’ll get a tour of NuGet 3.0, its features, and the direction we’re headed. But then we’ll get to the fun stuff we can all learn from: the challenges we’ve faced, and how we’re overcoming them. You’ll hear chilling tales about how interfaces, LINQ, and general-purpose server APIs have caused us so much grief. But you’ll also see how we broke a cycle of endless design and started making progress when it seemed like none could be made, allowing us to transition from OData to JSON-LD.
Continuous Delivery has taught us to move fast and deliver incremental value into our production environment. To make sure that we are not degrading the user experience, we should make sure that any issues are monitored or alerted. Monitoring can be painful and tedious. There are some fantastic tools out there (nagios, icinga etc.) but these feel like operational tools.
During this session, Paul will show you that a developer can use Puppet (an infrastructure management tool) and automate their system checks. This will include how to centrally log errors and how to throw these errors to specific alerting systems based on their criticality. Monitoring should be simple and easy to maintain. I hope that by the end of this talk, Paul will have demonstrated that
Languages, compilers, and computer-aided design tools will be essential for scalable quantum computing, which promises an exponential leap in our ability to execute complex tasks. LIQUi|> is a software architecture for quantum computing. It contains an embedded, domain-specific language designed for programming quantum algorithms. It is also fully modular and independent of a specific quantum architecture. LIQUi|> enables easy programming, compilation, and simulation of quantum algorithms and circuits.
In an upcoming release of Flipboard for iOS a feature will be introduced that queues network requests under poor connectivity and retries them automatically at a later time. Learn about how this was integrated into an existing network stack, the pitfalls of implementation, what policies were applied, and what the resulting API looks like.
This sessions shows how to use SceneBuilder and JavaFX to rapidly prototype, evolve, and deploy exciting embedded UIs for the Internet of Things. We will explore using SceneBuilder’s integration with your favorite IDE to enable quick and seamless UI development and deployment to OSGi-based embedded systems, no wires, no muss, no fuss, just beautiful UI and developing with pleasure!
As an industry, we spend a lot of time chasing innovation, only to end up chasing our tails. Innovation can't be a goal. It has to be a result of achieving your goal. How, then, to set the right goal? I'll share two personal case studies—designing an Internet-of-Grandmas and building rapidly deployed houses for refugees—demonstrating that focusing on accessibility can lead you down and keep you on the right path to true innovation, as well as good design and even, *gasp*, profit.
This is your ticket to go on a journey with us how we persuaded a client to let us renovate an officially failed project while keeping most of the legacy code.
I will talk about analyzing and measuring an architecture using ATAM. I will share insights on reverse engineering JSF portlets to AngularJS + REST, a proprietary DMS to a CMIS connected cloud service and how to operate this solution.
Finally you will grasp why it's more fun to start on a brown field.
No budget to hire a number of usability experts? Crafting a great user experience is easier than you think! In this session, you'll learn some easy tricks to make your sites more approachable, discover ways to help develop an emotional connection between your apps and your users, and see some tools that can assist you with planning and designing your next masterpiece of usability.
What is the physical architecture of Stack Overflow? How many servers are there? What is their purpose and what are their specs?
What The logical architecture of the software. How do we scale up? What are the main building blocks of our software?
The tooling system. What supports our extreme optimization philosophy?
The development team. What are our core values? What footprint do we want to leave as developers?
The challenge of building a quantum computer is that the states of the machine cannot be measured before the computation has run its course. This talk will consider a few candidate systems and report on progress in the lab (including the speaker’s). Is a quantum computer around the corner, already here, or 50 years away (and always will be)? And, once here, what’s it good for?
In this talk we'll focus on looking at the distinct features RavenDB has, that can take your application to the next level. We'll discuss the Changes API, Transformers, 2nd stage map/reduce and much more.
Oculus Rift has been a hot topic since their Kickstarter campaign in 2012. This summer the second version of the development kit was released, and it is expected to be released as a commercial version early 2015. Parallell to this a number of large brands, such as Samsung, Sony and Zeiss, are bringing their own VR solutions to the market.
In this talk we will give a introduction to what Oculus Rift is and how it works. We will also talk about the current state and future opportunities that comes with the rebirth of virtual reallity.
Rust is a new programming language for building systems that are both reliable and efficient. It combines the performance model of C++ with memory safety and security guarantees of high level languages.
In this talk I will introduce the powerful modern programming constructs that Rust offers, its expressive static type system, concurrency model and metaprogramming features. I will showcase some of the first open source projects written in Rust and give a tour of its rapidly growing ecosystem.
Object-oriented design principles haven't had the effect we hoped for. The SOLID principles are excellent design guidelines, but experience shows that programmers find them difficult to follow. What do we do about this? Surprisingly, the Structured Design literature of forty years ago contains compelling solutions to many current design problems. They're simple and easy to understand, but were lost in the noise as OO rose to popularity. We'll reinterpret these simple design ideas in a modern context, finding that many of our most promising new design ideas resemble them. Rapid web application development, the area of professional programming in most dire need of design improvements, will serve as an example.