Dec 28, 2014 - Jan 1, 2015 | Tel-Aviv, Israel

SELA|DEVELOPER|PRACTICE

Professional developers conference

44 sessions

22 speakers

Sessions

  • Sunday, December 28: Pre-Conference Workshops

    Modern .NET Debugging 09:00 - 17:00 Ofir Makmal

    In the modern day and age, debugging managed applications is no longer just about Visual Studio. In this workshop, we will explore modern tools for debugging .NET applications in production. We will discuss dump files and see how to capture and open them in Visual Studio, and how to explore difficult problems outside Visual Studio with ClrMD and PerfView. Among the things we will look at are memory leaks, outright crashes, and deadlocks.

    Level: 300
    Prerequisites: None

    AngularJS from 0 to 60 09:00 - 17:00 Ran Wahle

    AngularJS is an extremely opinionated framework that extends HTML and helps build interactive single-page applications. With syntax that feels very natural for XAML developers, Angular brings the power of data binding, templates, and powerful code organization features to HTML and JavaScript apps. In this workshop you will learn Angular from scratch, and at the end of the day will be equipped to integrate it in your web applications.

    Level: 300
    Prerequisites: Web development experience

    AngularJS from 0 to 60 09:00 - 17:00 Noam Kfir

    AngularJS is an extremely opinionated framework that extends HTML and helps build interactive single-page applications. With syntax that feels very natural for XAML developers, Angular brings the power of data binding, templates, and powerful code organization features to HTML and JavaScript apps. In this workshop you will learn Angular from scratch, and at the end of the day will be equipped to integrate it in your web applications.

    Level: 300
    Prerequisites: Web development experience

    ASP.NET MVC From The Ground Up 09:00 - 17:00 Sebastian Pederiva

    In this full-day workshop you will get a kick-start for developing your own ASP.NET MVC applications. We will talk about the fundamentals of ASP.NET MVC: controllers, routing, views, and view engines. We will also talk about the latest features in ASP.NET MVC4 and MVC5, with a glimpse towards the upcoming ASP.NET vNext platform. Finally, we will discuss ASP.NET Web API and see when it makes sense to use it alongside classic MVC.

    Level: 300
    Prerequisites: Web development experience

  • Monday, December 29: Breakout Sessions

    KEYNOTE: State of the Platforms 09:30 - 10:30 Sasha Goldshtein

    Join us for the yearly update on what's up with the Microsoft developer platforms. With Windows 10 around the corner and Visual Studio 2015 at full steam, with new Microsoft Azure features and the open-sourcing of ASP.NET, C# 6.0, and the CLR, this session is packed with information that will help plan your Microsoft development journey for the upcoming year.

    Level: 200
    Prerequisites: None

    Angular End-to-End 10:50 - 11:50 Michael Haberman

    Angular has won the front-end framework wars, and it's now an incredibly popular and versatile framework for single-page application development. In this session we will review Angular fundamentals from the ground up, covering concepts such as controllers, services, and data binding.

    Level: 200
    Prerequisites: Web development experience

    Cross-Browser Testing with Selenium 12:10 - 13:10 Oren Ashkenazy

    Selenium is a one of the most popular testing frameworks for web applications today. This talk will focus on how this infrastructure evolved, from running tests on local machines using Selenium IDE to Selenium Webdriver with cross-browser support and Selenium Grid for parallel execution on cross platform machines.

    Level: 200
    Prerequisites: None

    Advanced ASP.NET Web API 14:10 - 15:10 Ido Flatow

    Like with any framework, there are those who know how to use ASP.NET Web API, and there are those who KNOW how to use ASP.NET Web API. Want to be the second type of person? In this session we will skip the basic introduction to ASP.NET Web API and move on to the stuff you should know about ASP.NET Web API: pipeline architecture, extensibility, security, and implementing HTTP concepts such as streaming and caching.

    Level: 300
    Prerequisites: Experience with ASP.NET Web API

    Unit Testing and End-To-End Testing Using JavaScript Frameworks 15:30 - 16:30 Michael Haberman

    Unit testing and end-to-end testing are the tool to enforce stability in applications. They create an environment that ensures our code does what it was designed to do. In the last few years, web application developers are also looking for testing frameworks, as their applications are becoming increasingly more complex. In this session we will review how to test web application using various JavaScript frameworks and explore both the unit testing approach and end-to end-testing. We will also look at the benefits of combining the two.

    Level: 300
    Prerequisites: JavaScript development experience

    Coded UI Testing Across XAML Platforms 10:50 - 11:50 Shai Raiten

    UI testing and automation are extremely important in the world of smart client applications and mobile devices. XAML platforms (WPF, Windows 8, Windows Phone) make it easy to automate your UI testing effort using the Coded UI Test framework. In this session we will talk about the new UI testing features in Visual Studio 2013 for WinRT and WPF applications, discuss techniques for managing complex automation projects, and talk about best practices such as extensions, dynamic search, and more.

    Level: 300
    Prerequisites: C# and XAML development experience

    Kinect on Windows 12:10 - 13:10 Liron Ratzabi

    Did you know that Kinect, the amazing Xbox sensor, can work on Windows? Now there is a new version of this magical sensor (v2) and we're going to see what it can do! By integrating Kinect into your Modern UI or desktop application you can track the user's movement and gestures, integrate voice control, and a bunch of additional features that seem borrowed from a sci-fi flick. We'll get an introduction to Kinect for Windows SDK key features with some cool demos, learn about the new APIs and app model, and explain all you need to know to get started building applications using the beand new Kinect for Windows v2 sensor.

    Level: 300
    Prerequisites: None

    Unleash the Power of C# 14:10 - 15:10 Lidan Hackmon

    There are many computing devices out there: smartphones, tablets, smart TVs, wearables, development boards, and the list goes on. They all have something in common: they can all run C#! Using different technologies we can use our current .NET Framework experience by running the same C# code on Xbox One, Google Glass, iPhone, and even Raspberry Pi. In this session we will cover these technologies, see some cool demos, and unleash the power of C#!

    Level: 300
    Prerequisites: None

    Full Code Sharing on All Mobile Platforms with Xamarin Forms 15:30 - 16:30 Ofir Makmal

    You might have heard of Xamarin, a platform and framework that helps build mobile applications in C#. You could share all the business logic across platforms and customize the UI for each platform -- AXML on Android, XAML on Windows Phone, and storyboards on iOS. But that all changes with Xamarin Forms. You can now build cross-platform mobile applications that share the UI layer as well. Xamarin Forms brings the power of XAML to all three platforms, packaged with commands, data binding, and MVVM.

    Level: 200
    Prerequisites: None

    Succeeding with Test Automation 10:50 - 11:50 Arnon Axelrod

    Mostly everyone today agrees that test automation is important. But still many test automation projects fail and ends up being abandoned due to high costs and low ROI. In this talk we'll discuss what makes a test automation strategy succesful and what pitfalls to avoid. Whether you're just considering to start with Test Automation or you already have an effective automation in place, this talk will help you plan and adjust your automated testing strategy to be a succesful one.

    Level: 200
    Prerequisites: None

    Visual Studio Online: Supporting Your Application Lifecycle 12:10 - 13:10 Dan Morgenstern

    Visual Studio Online is a cloud-based platform helping you to manage your application lifecycle - plan, code, build, test and monitor - without any on-premise installations. In this session you will learn how to plan and manage development iterations and perform scalable load tests for your application. Also, you'll become familiar with the TFS REST API, which helps use TFS services from web platforms and mobile devices.

    Level: 200
    Prerequisites: None

    Release Management 14:10 - 15:10 Elad Avneri

    A decade ago releasing a software version once a year was acceptable. Today, however, the release frequency must be significantly higher in order to successfully compete. This is especially true when deploying to the cloud where customers may benefit from new features even at a daily basis without being noticed. As part of this continuous process of delivering value, one component that often gets overlooked is the release phase. The promise of continuous value relies on the ability to continuously publish updated versions of an application across a variety of environments for various purposes, which can be very difficult to perform and manage. With "Microsoft Release Management" this process is simplified and scaled so that it becomes more repeatable, predictable, and transparent. In this session we'll learn about the challenges in the software release management process, discuss how these challenges are addressed in the context of the emerging DevOps movement and walk through "Microsoft Release Management".

    Level: 200
    Prerequisites: None

    Detect Your Production Issues Before Customers Do 15:30 - 16:30 Shmulik Segal

    In this session you'll learn how to detect and monitor production issues including performance, availability, and customer usage. You will learn about Application Insights for Visual Studio Online that offers a set of development services to provide in-depth and actionable insight into your application. Also, you will learn about the ability to debug application issues in production using System Center Operations Manager (SCOM) and many other tips and tricks to make sure your application is handled and monitored in the production environment.

    Level: 200
    Prerequisites: None

  • Tuesday, December 30: Breakout Sessions

    KEYNOTE: The Future of DevOps in the New Azure Portal 09:30 - 10:30 Guy Burstein

    Join Guy Burstein for this tour of the future of DevOps in the new Azure Portal, integrating Visual Studio Online and Azure into a single, seamless experience that allows you to get real work done, fast. We'll look at how to connect your source code to Azure for continuous deployment, managing teams and work items, as well as managing your Azure apps built using Azure Web Sites or VMs, using Storage or SQL, etc., and monitoring the health of your deployed application with rich insights, all inside the new Azure Portal Preview.

    Level: 200
    Prerequisites: Basic cloud development experience

    Build Next Gen Apps for Today's Devices with Web Components 10:50 - 11:50 Noam Kfir

    Programmers building apps that work on every device and platform face many challenges. Despite the advances in browsers, tools and specs designed to meet those challenges, HTML is still an extremely limited language for composing complex apps. Web Components solve that problem by letting programmers extend HTML. This session shows how to use Web Components to build modern complex apps with reusable, responsive, framework-agnostic Web Components that can run (almost) everywhere. We'll talk about all the pieces that make this work, including native templates, Shadow DOM, custom elements, and polyfill libraries like polymer and x-brick.

    Level: 300
    Prerequisites: Web development experience

    HTML5 Games with Phaser 12:10 - 13:10 Ziv Gilad

    Today, HTML pages are much more than just static content. With the introduction of HTML5 and CSS3, web sites are feature-rich, dynamic, and can include audio and video media content. Today we can use HTML5 to target multiple platforms from the same code base on desktops, tablets and phones, building great games using the HTML5 canvas element. Phaser is a fast, free and fun open source game framework for making desktop and mobile browser-based HTML5 games. A lot of focus was given to performance in mobile web browsers, a growing and important area of web gaming. In this session we will introduce Phaser fundamentals, and focus on creating HTML games using this framework.

    Level: 300
    Prerequisites: Web development experience

    ASP.NET vNext 14:10 - 15:10 Ido Flatow

    Early this year, Microsoft announced its plans and vision for ASP.NET vNext. ASP.NET vNext is being designed from the bottom up to be a lean and composable .NET stack for building web and cloud based applications. Envision an ASP.NET stack where MVC, Web API, and Web pages are all merged into the same framework, where you have a server-optimized version of ASP.NET with a smaller memory footprint, and truly do side-by-side deployment where even the .NET framework is a NuGet package. This is the new ASP.NET vNext. In this session, we will explore the eco-system of the ASP.NET vNext, its new project system and configuration system, and how to use it to build exciting web applications.

    Level: 300
    Prerequisites: Familiarity with ASP.NET

    Performance in Chrome DevTools 15:30 - 16:30 Sebastian Pederiva

    FED programmers write lots of JavaScript developing their systems and sites. We use numerous frameworks and libraries and write thousands of lines of code. But a simple function can destroy the performance of the whole system, or even worse: crash the browser. In this session you will see how to use the Chrome DevTools to discover memory leaks and performance problems in a real single page application (SPA), and why it is important to help the browser render pages as fast as possible.

    Level: 300
    Prerequisites: Web development experience

    Practical ElasticSearch 10:50 - 11:50 Itamar Syn-Hershko

    ElasticSearch, a search and real-time analytics server based on Apache Lucene, is gaining a lot of popularity lately, and is being used world-wide to power many sophisticated systems. While many use it for the standard full-text search and real-time log analysis, there are some really interesting usage patterns that can prove useful in many real-world scenarios. In this talk we will briefly talk about ElasticSearch and its common use-cases, and then showcase some less common use-cases leveraging ElasticSearch in interesting and innovative ways.

    Level: 200
    Prerequisites: None

    Couchbase Lite 12:10 - 13:10 Yaniv Rodenski

    Couchbase Lite is the first NoSQL mobile database ever, giving mobile developers the freedom and flexibility of document-oriented databases. It's also part of a new Couchbase "JSON Anywhere" ecosystem for partially connected applications. In this session we'll learn how to develop mobile applications using Couchbase Lite, including how to synchronize mobile databases with Couchbase Server clusters using the Couchbase Sync Gateway.

    Level: 300
    Prerequisites: None

    Testing Big Data Applications 14:10 - 15:10 Moshe Shemi

    Big data applications are becoming more and more popular today, raising new challenges in the world of software testing. In this session we will explore the challenges in testing big data applications, explore some new testing methodologies and techniques, and try to understand the new role of the QA engineer in the software development process.

    Level: 200
    Prerequisites: None

    Cassandra Database 15:30 - 16:30 Ofir Makmal

    The family of non-relational data stores, commonly known as NoSQL products, is large and growing every day. Cassandra is a leading wide-column No-SQL database, used by Facebook, Netflix, eBay and other big companies, due to the horizontal scalability, performance, and reliability it offers. In this talk we will get acquainted with Cassandra database, review its concepts, architecture and use cases.

    Level: 300
    Prerequisites: None

    What's New in Azure 10:50 - 11:50 Guy Burstein

    The number of services and capabilities offered on Azure is growing rapidly. Some recent announcements include DocumentDB, Machine Learning, Azure Search and many more. In this demo-heavy session, we will cover the latest and greatest announcements in Azure, and cover the new additions to Websites, Virtual Machines and Mobile Services. We'll also see how the latest Azure SDK helps build modern cloud applications straight from Visual Studio.

    Level: 300
    Prerequisites: Basic Azure development experience

    Adding Vagrant and Packer to your DevOps Toolbox 12:10 - 13:10 Yuval Mazor

    So here's a scenario:  Your developers write the next killer feature in your ground-breaking application and send it off to the testers. The application then proceeds to NOT work, since a key environment configuration was forgotten. And the same happens when you move to staging, production, etc. Does this sound familiar? It probably does. But do not despair, as you are not alone – in fact, the DevOps community has solutions for you! In this session we'll talk about Vagrant and Packer, two open-source tools that can make sure your environment and hand-off issues will become a thing of the past.

    Level: 300
    Prerequisites: None

    What's New in C# 6 14:10 - 15:10 Elad Avneri

    For .NET/C# developers, the most significant announcement made lately by Microsoft was undoubtedly the release of the next version of C#, C# 6.0. In addition to a large pool of whole new language features, this version consists of a new compiler (named "Roslyn") introducing an approach which is different comparing to what we've used to get from Microsoft in this field so far. Even if you don't have plans to immediately adopt C# 6.0, at a minimum, you should be aware of its features and take note of those that might make it worth jumping right in. In this session we will take a look at the new concepts presented by the Roslyn platform as well as walking through live demonstration of the language features as introduced by this version.

    Level: 300
    Prerequisites: None

    Visual Studio Performance and Diagnostics Hub 15:30 - 16:30 Sasha Goldshtein

    The recent versions of Visual Studio introduce more and more tools for analyzing the performance of your applications. You can now measure and inspect the energy consumption and expected battery life of your Windows Phone, the frame rate and redraw regions of your Windows Store app, the heap contents of your .NET and C++ code, the memory and CPU utilization of your ASP.NET server, and the database queries executed from your Entity Framework data layer. All of these features are part of the convergence to a Diagnostic Hub in Visual Studio 2013, which adds even more capabilities such as analyzing memory leaks from within Visual Studio. In this talk we will experiment with all the various performance and debugging tools that Visual Studio has to offer.

    Level: 300
    Prerequisites: None

  • Wednesday, December 31: Post-Conference Workshops

    Application Deployment with Chef 09:00 - 17:00 Yuval Mazor

    A key tenent of DevOps is the concept of "Infrastructure As Code".  In laymen's terms, it means managing your application infrastructure the same way you manage your application code.  In this one-day tutorial, you will learn how to use Chef, the premier tool for IT automation along with some additional tools for easily and repeatedly deploying a multiple-tier application.

    Level: 200
    Prerequisites: Comfortable working with the Windows command-line

    Node.js for .NET Developers 09:00 - 17:00 Yaniv Rodenski

    All the cool kids are using Node.js, and that includes Silicon Valley startups and enterprises like Microsoft and eBay. In its essence, Node is JavaScript on the server: it is a runtime that you can use to build web services and stand-alone applications in JavaScript and run them outside the browser. In this workshop we will explore Node.js fundamentals, and talk about some frameworks that you can use with Node, including the popular Express MVC framework for web applications.

    Level: 200
    Prerequisites: None

    Cross-Platform Mobile Apps with Xamarin and Xamarin.Forms 09:00 - 17:00 Ofir Makmal

    Xamarin brings C# to Android, iOS, and Mac, bridging the gap between .NET developers and billions of mobile devices. Xamarin has not been resting on the laurels: they have recently announced Xamarin.Forms, a cross-platform C#/XAML framework for building UI as well as business logic across all platforms. 90% code reuse is not unheard of when using Xamarin, which positions it as a very attractive cross-platform development alternative that doesn't sacrifice performance and productivity.

    Level: 200
    Prerequisites: C# development experience

    IIS for Developers 09:00 - 17:00 Ido Flatow

    For years we have been using IIS to host our Web applications, but many of us haven't used more than its basic features and configuration. You knew there is a compression feature, but did you know you can change the compression ratio? Are you using the advanced logging module or the default simple logging? Have you ever wondered when to use the application pool's process orphaning option? In this 1-day workshop, we will learn how IIS works, the new features released in the latest versions of IIS (7-8.5), how to configure IIS for better performance, how to use its logging and debugging features, and how to automate the deployment of our Web applications to IIS.

    Level: 300
    Prerequisites: None

    Modern C++ 09:00 - 17:00 Sasha Goldshtein

    Staying up to date in C++ is not just about learning new language features, it's also about effectively using libraries and syntactic constructs that are pervasive in modern C++ code. In this workshop you will learn how to take your C++ code to the next level by integrating new C++ 11/14 language features such as lambdas and move semantics, by introducing exception safety and clean RAII behaviors, and by using the STL to its fullest. We will see multiple examples of how C++ code can be modernized without a complete rewrite.

    Level: 300
    Prerequisites: C++ development experience

  • Thursday, January 1: Post-Conference Workshops

    Microsoft Azure for Web Developers 09:00 - 17:00 Ido Flatow

    Learning all there is to know about Microsoft Azure in one day? Not a chance. Taking an entire day to do a deep-dive in a specific topic? Great if you know the rest, not so great if you are an Azure newbie. So how about learning the essentials? Or even better, doing it hands-on, instructor guided, for an entire day? In this 1-day workshop we will learn the essentials of Microsoft Azure for creating scalable, durable, and secured Web applications. During this day you will build a Web application using a Web Site and a backing Cloud Service. You will consume content in your application from Storage and an SQL Server Virtual Machine (using a Virtual Network). Finally, you will add Caching support and secure your Web application with Active Directory.

    Level: 300
    Prerequisites: Web development experience

    Cross-Platform Apps and Games with Unity 09:00 - 17:00 Lidan Hackmon

    Developing games has never been easier. Unity's game engine is designed for cross-platform gaming development in C# or JavaScript, targeting modern developers. In this full-day workshop we will learn about Unity's unique features, how it does its magic, and get to know Unity's IDE: the Unity Editor. We will also explore Unity's latest version and features: Unity 4.6. The workshop includes hands-on labs, in which you will develop your own mini-game and run it on your smartphone or the lab's desktop PC.

    Level: 200
    Prerequisites: C# or JavaScript development experience

    Introduction to Parallel Programming with the TPL 09:00 - 17:00 Bnaya Eshet

    The Task Parallel Library (TPL) is Microsoft's flagship library for concurrent and parallel programming in .NET. You can use the TPL on the desktop and server, on Windows Phone and Windows 8, and even in Silverlight applications. Consider this workshop a one-day bootcamp for getting started with the TPL: we will talk about tasks, continuations, async and await, exception handling, parallel loops, and design patterns for well-behaved concurrent applications.

    Level: 300
    Prerequisites: C# development experience

    Getting Started with Spark 09:00 - 17:00 Yuval Mazor

    Apache Spark is the next-generation of data-intensive parallel processing. Spark is a powerful, open-source distributed processing engine for data that can run standalone or on top of Hadoop. It is optimized for speed, ease of use, and advanced analytics. The framework supports streaming data processing and complex, iterative algorithms, enabling applications to run up to 100x faster than traditional Hadoop MapReduce based programs. In this one day workshop, we will get you started with Spark, starting with the various APIs (Spark, Spark Streaming and Spark SQL), exploring the structure and architecture of Spark clusters, and applying andvanced analytics with MLlib and GraphX for machine learning and graph analysis.

    Level: 300
    Prerequisites: None

    Modern C++ 09:00 - 17:00 Sasha Goldshtein

    Staying up to date in C++ is not just about learning new language features, it's also about effectively using libraries and syntactic constructs that are pervasive in modern C++ code. In this workshop you will learn how to take your C++ code to the next level by integrating new C++ 11/14 language features such as lambdas and move semantics, by introducing exception safety and clean RAII behaviors, and by using the STL to its fullest. We will see multiple examples of how C++ code can be modernized without a complete rewrite.

    Level: 300
    Prerequisites: C++ development experience

  • Sunday, January 4: Post-Conference Workshops

    Node.js for .NET Developers 09:00 - 17:00 Yaniv Rodenski

    All the cool kids are using Node.js, and that includes Silicon Valley startups and enterprises like Microsoft and eBay. In its essence, Node is JavaScript on the server: it is a runtime that you can use to build web services and stand-alone applications in JavaScript and run them outside the browser. In this workshop we will explore Node.js fundamentals, and talk about some frameworks that you can use with Node, including the popular Express MVC framework for web applications.

    Level: 200
    Prerequisites: None

    IIS for Developers 09:00 - 17:00 Ido Flatow

    For years we have been using IIS to host our Web applications, but many of us haven't used more than its basic features and configuration. You knew there is a compression feature, but did you know you can change the compression ratio? Are you using the advanced logging module or the default simple logging? Have you ever wondered when to use the application pool's process orphaning option? In this 1-day workshop, we will learn how IIS works, the new features released in the latest versions of IIS (7-8.5), how to configure IIS for better performance, how to use its logging and debugging features, and how to automate the deployment of our Web applications to IIS.

    Level: 300
    Prerequisites: None

  • Monday, January 5: Post-Conference Workshops

    Monitoring .NET Performance with ETW 09:00 - 17:00 Sasha Goldshtein

    Event Tracing for Windows (ETW) has been on the scene for several years, but it is only recently that is has become so popular for performance monitoring in production and development environments. Today, .NET developers can use freely available tools with a minimal performance overhead to monitor their application performance: CPU utilization, blocked threads, memory usage, and garbage collection metrics. In this workshop we will explore the rich world of ETW through free tools such as the Windows Performance Toolkit and PerfView. We will also see how to produce ETW logs from .NET applications and how to monitor ETW data in real-time from .NET code. This workshop includes labs in which you will practice performance measurement and diagnostic techniques.

    Level: 300
    Prerequisites: .NET development experience

  • Thursday, January 15: Post-Conference Workshops

    Monitoring .NET Performance with ETW 09:00 - 17:00 Sasha Goldshtein

    Event Tracing for Windows (ETW) has been on the scene for several years, but it is only recently that is has become so popular for performance monitoring in production and development environments. Today, .NET developers can use freely available tools with a minimal performance overhead to monitor their application performance: CPU utilization, blocked threads, memory usage, and garbage collection metrics. In this workshop we will explore the rich world of ETW through free tools such as the Windows Performance Toolkit and PerfView. We will also see how to produce ETW logs from .NET applications and how to monitor ETW data in real-time from .NET code. This workshop includes labs in which you will practice performance measurement and diagnostic techniques.

    Level: 300
    Prerequisites: .NET development experience