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

SELA|DEVELOPER|PRACTICE

Professional developers conference

39 sessions

18 speakers

Sessions

  • Sunday, December 28: Pre-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.

    Level: 300
    Prerequisites: .NET development experience

    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

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

    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 "14" at full steam, with new Microsoft Azure features and exciting developments in 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

    Introducing Windows 10 15:30 - 16:30 TBD

    The veil of secrecy has been lifted a little from Windows 10, Microsoft's next operating system. In this session we will look at what Windows 10 has to offer to users and developers.

    Level: 200
    Prerequisites: None

    Visual Studio "14" - What's In It For Me? 10:50 - 11:50 TBD

    Visual Studio code name "14" is packed with developer-oriented features. From productivity enhancements such as the Breakpoint Peek window and Code Lens improvements to better Git and TFS integration, there's something for everyone in this new release. We will review the key features and understand how the next Visual Studio will make developers even more productive.

    Level: 200
    Prerequisites: None

    Visual Studio Online and Application Insights 12:10 - 13:10 TBD

    TBD

    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 on a daily basis. 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 release management and walk through the solution as provided by Microsoft Release Management.

    Level: 200
    Prerequisites: None

    TBD 15:30 - 16:30 TBD

    TBD

    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

    ASP.NET vNext 10:50 - 11:50 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

    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

    Build Next Gen Apps for Today's Devices with Web Components 14:10 - 15:10 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

    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

    Cassandra Database 10:50 - 11:50 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

    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

    TBD 15:30 - 16:30 TBD

    TBD

    Level: 200
    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

    Couchbase Server 09:00 - 17:00 Yaniv Rodenski

    Relational databases have dominated the storage landscape for over three decades and scaled quite well until recently, as newer and faster hardware became available in frequent intervals. This balance has now been disrupted with the appearance of Internet-scale or web-scale applications, which grow faster than any single machine can scale. Today we need new approaches to storing and handling the massive amounts of data being generated. The wide field of NoSQL solutions was born out of the necessity to store frequently changing data in a flexible and scalable way. Couchbase Server, in particular, focuses on three core necessities: high scalability, high performance, and high availability. In this session we'll introduce the Couchbase Server NoSQL database. We'll discuss the needs behind NoSQL document stores and design, as well as how Couchbase addresses them. We'll walk through the process of installing and configuring a single Couchbase node, as well as a multi-node cluster. And we'll see how to store and retrieve data from Couchbase in multiple programming languages, including C#, Java, and Node.js.

    Level: 300
    Prerequisites: None

    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