pre-release: Troy meeting announcement

Please take a moment to review your details and reply with OK or edits.
Subject and below is what will go out and also will be used to title the videos.

Subject: 
ANN: Troy at NedSpace Sun July 10, 9p


Troy
=========================
When: 9 AM Sunday July 10, 2016
Where: NedSpace
file://schedules/netfringe-schedule.ics
http://lanyrd.com/2016/netfringe/netfringe-schedule.ics
dotnetfringe.org

Topics
------
1. Introduction to Machine Learning with Functional Programming


Workshop Abstract:

Machine Learning and Functional Programming are both very hot topics these days; they are also both rather intimidating for the beginner. In this workshop, we’ll take a 100% hands-on approach, and learn practical ideas from Machine Learning, by tackling real-world problems and implementing solutions in F#, in a functional style.

In the process, you will see that once you get beyond the jargon, F# and Machine Learning are actually not all that complicated – and fit beautifully together. So if you are curious about what Machine Learning is about, and want to sharpen your developer skills, come with your laptop and… let’s hack together!

What you should expect:

- no F# or Machine Learning prerequisites: complete beginners are totally welcome,
- a hands-on introduction to simple Machine Learning ideas you can use, by solving real-world problems,
- a practical introduction to writing effective F# code,
- lots of coding on fun problems!

Workshop Schedule:

 09:00 Workshop intro: what IS machine learning?
 09:30 Lab: automatically recognizing hand-written numbers
 11:00 Wrap-up: lessons learnt
 11:30 Lab: what language is this text written in?
 12:00 Lunch

 13:30 Lab (cont'd): what language is this text written in?
 14:15 Demo: detecting patterns in data
 14:30 Introduction to gradient descent & neural nets
 14:45 Lab: recognizing language with a perceptron
 15:30 Demo: from perceptrons to deep neural networks
 15:45 Demo: scaling machine learning with mbrace.io 
 16:00 Wrap up & summary.

**PRE-REQS**

This will be a hands-on workshop, so be sure to come with a laptop. You’ll also need to install F# with an editor of your choice. To get that, follow the instructions on http://fsharp.org/ for Mac, Windows or Linux. On Mac, we recommend VS Code or Xamarin Studio; on Windows, we recommend VS Code or Visual Studio. 

If you’re using Atom or VS Code, follow the installation instructions in "Getting started” on the Ionide page (http://ionide.io/). You'll need to install mono (Mac and Linux) or F# (Windows) and Atom/VS Code itself. Then install the ionide-installer package.

And that’s all, no previous experience with F# or machine learning is needed!
 recording release: yes license: CC-BY  

2. Building Smart Microservice Clients with React, Redux and React-Router


Workshop Abstract:

Building rich client web applications is becoming more and more complex, and with microservice frameworks rising in popularity, you may be wondering what it takes to build a rich microservice client while minimizing complexity.  This workshop will demonstrate that React, Redux and React Router provide an elegant solution to that problem.

Required Dev Tools for Workshop

Laptop with the following development tools installed
Visual Studio 2015 (minimum of Community Edition)
Node (5.0+) 
NPM (3.0+)
Client IDE of choice (Atom, Sublime, Brackets, WebStorm, etc.)

Workshop Schedule

Vanilla JS Applications /w .NET Microservices
9:00    Workshop Overview
9:30    Pull down GitHub repo for the workshop and discuss repo contents
10:00  Discuss underlying .NET microservice framework technology
10:30  Break
10:45  Adding microservices and page navigation to a Vanilla JS project
11:45  Discuss weaknesses of the vanilla JS approach
12:00  Lunch

React/Redux Applications /w .NET Microservices
1:00  Basic React Concepts (v. 15.0.1)
1:15  React Project
2:00  Break
2:15  React-Router Project
2:45  Basics of Redux
3:00  React/Redux project
4:00  Bringing it all together
4:15  Additional topics
4:30  Wrap up & Summary
 recording release: yes license: CC-BY  

3. Building Distributed Systems with Akka.NET


Workshop is at the Smith Memorial Student Union building on the 2nd floor in room 294 - Floorplans -> https://www.pdx.edu/floorplans/sites/www.pdx.edu.floorplans/files/floorplans/floorplans/SMSU-All%20Plans.pdf

Attendees must complete Akka.NET bootcamp before attending this course: http://learnakka.net/ 

Workshop Abstract:

Akka.NET is the future for building distributed systems in C#, F#, and .NET. In this workshop you will learn how to use Akka.NET actors to build fault tolerant, distributed systems using techniques like clustering, sharding, network failure detection, and more!

In this workshop you will learn:

The CAP theorem and how to actually use it in practice;
Dynamo-style clustering and how to use them to build systems that are partition tolerant and highly available;
Network programming with sockets;
Akka.Remote and using it for location transparency and network failure detection;
Akka.Cluster and its capabilities; and
Building stateful services using Akka.Cluster.Sharding to transparently distribute and recover data across the cluster.

This is an all-day workshop and it will be taught in C#. This is a concept-heavy course. 

Workshop Schedule:

Introduction to Distributed Systems with Akka.Remote

10:00 Akka.Remote Capabilities and Best Practices
11:00 System Design and Network Failure Detection + Recovery Techniques
12:00 Lab
 12:30 Lunch

Advanced Distributed Systems with Akka.Cluster

 2:00 Akka.Cluster Concepts and Capabilities
 2:30 Akka.Cluster Service Design Best Practices
 4:45 Wrap up & summary.
 recording release: yes license: CC-BY  

4. Welcome Reception @ Ringler's Pub


Come get your badge, t-shirt, and chat with the other attendees before the conference starts tomorrow morning!

Ringler's Pub is located on the ground floor of Crystal Ballroom. Minors are welcome, so please bring your kids! +1s are always welcome, too. 

Google Maps: https://goo.gl/maps/XdrSPTRQL7S2
 recording release: yes license: CC-BY  

5. Doors Open, Attendees Mingle


(Needs description.) 
 recording release: yes license: CC-BY  

6. Introduction - Day 1
Scott Hanselman

(Needs description.) 
 recording release: yes license: CC-BY  

7. Communication is just as important as code
Andrea Goulet

"The idea of a lone developer coding in their basement without social interaction is a thing of the past. These days, technical solutions are often developed by cross-functional teams whose participants have a range of technical experience. Now, more than ever, good communication skills are an essential part of being a software developer.

In this talk, Andrea Goulet, CEO of Corgibytes, will share immediately actionable communication principles that will help you; get buy-in for your ideas, reduce conflict and tension, increase productivity, be liked and respected.

Andrea has taught communication skills to thousands of people in world-class brands across the globe, including The Smithsonian, The Center for Disease Control and Prevention, Verizon, and more. If you’re looking to take your career to the next level, this is one talk you won’t want to miss."
 recording release: yes license: CC-BY  

8. Agile experiments in Machine Learning
Mathias Brandewinder

Just like traditional applications development, machine learning involves writing code. One aspect where the two differ is the workflow. While software development follows a fairly linear process (design, develop, and deploy a feature), machine learning is a different beast. You work on a single feature, which is never 100% complete. You constantly run experiments, and re-design your model in depth at a rapid pace. Traditional tests are entirely useless. Validating whether you are on the right track takes minutes, if not hours.

In this talk, we will take the example of a Machine Learning competition we recently participated in, the Kaggle Home Depot competition, to illustrate what "doing Machine Learning" looks like. We will explain the challenges we faced, and how we tackled them, setting up a harness in F# to easily create and run experiments, while keeping our sanity. We will also draw comparisons with traditional software development, and highlight how some ideas translate from one context to the other, adapted to different constraints. to come.
 recording release: yes license: CC-BY  

9. Cross platform .NET, welcome to the new age!
Julie Lerman

It's a new age for .NET developers. You can build cross platform apps, you can use lighter tools like VS Code, and you can deploy instantly using tools iike Docker

ASPNET Core and EF Core are so cross-platform that not only can you deploy your apps to OSX and Linux (oh, and Windows, too) but you can even build them on any of the platforms.

Pick a platform. I'll choose OSX because MacBook
Grab an x-platform, open source IDE that does C#: I'll take Visual Studio Code, written in Electron, cuz I already use that for Node.
Need a data store: Hey, how about PostreSQL, because I never got to use that before.
Build a Web API that can persist to PostgreSQL. I'll use ASP.NET Core and EF Core because I have a lot of experience in those already.
Code, debug, git commit. (And show off some of the awesome new features in EF Core)
Deploy to a Linux server (thank you Docker).
Invite the world to use your API.
 recording release: yes license: CC-BY  

10. Docker All the Things - .NET 4.6 apps and Windows Containers
Anthony Chu

"Docker is awesome and there's been a lot of excitement over .NET Core running in Linux containers. But why do older apps have to miss out on the fun? With Windows Server 2016 and Windows Server containers, there's finally a way to dockerize .NET 4.6 apps using the same Docker tools and commands as their Linux counterparts.

In this intermediate level talk, I'll give an overview of Docker and Windows Server containers. Then I'll demonstrate different ways to run existing ASP.NET Web API, MVC, and even WebForms applications inside Docker containers."
 recording release: yes license: CC-BY  

11. .NET CORE, OAuth, and OpenID Connect
Kassandra Perch

(No VM necessary for this talk, thank you .NET core!)

Writing your own username and password system? That's so 2015. Why bother with the hassle of storing passwords, keeping them safe, and being on the hook if they get out? And see if we can justify making users remember another long, secure array of characters (because we all know users create strong passwords by nature). 

But OAuth is HORRIFYING. You aren't sure *why*, you just HEARD it was awful so you just jotted that down. 

Luckily, .NET Core has some great tools for simplifying these specifications down to a few calls, allowing your users to log in with services like Google, GitHub, and many, many more.

We'll look over how to use one of the premade providers, and how to implement a custom OAuth2 provider, in a .NET Core app.
 recording release: yes license: CC-BY  

12. Lightning Talk - Typing In Dvorak
Andrea Goulet Ford

Why type in this obscure keyboard layout? Tips for getting started
 recording release: yes license: CC-BY  

13. Lightning Talk - Vanquish Legacy Code in 5 Minutes Flat
Robert Reppel

A very concise guide to making legacy systems publish events so you don't have to touch the stuff again and can write shiny new code instead.
 recording release: yes license: CC-BY  

14. Lightning Talk - Create full dynamic sites in no time
Chris Holt

Turn a description of a site into a working crud app in no time with genit.
 recording release: yes license: CC-BY  

15. Lightning Talk - FAKE it til you make it
Ryan Rousseau 

An intro to creating build scripts with FAKE - F# Make
 recording release: yes license: CC-BY  

16. Lightning Talk - How to be more inclusive in tech
Daniel Plaisted

Practical tips for how we can make our community more welcoming and inclusive for all people.
 recording release: yes license: CC-BY  

17. Lightning Talk - Giving Back: Your First Pull Request
Dave Glick and Ben Hyrman

Contributing back to the projects you use; from fork to pull request to merge.
 recording release: yes license: CC-BY  

18. Lightning Talk - Event Storming For .NET Projects
Robert Zalaudek

Event storming is a form of domain-modelling that describes the deliverables of a system in the form of events. I’ll describe how it works and how it can be used to help make any software project succeed.
 recording release: yes license: CC-BY  

19. Lightning Talk - Making Deployment Less Painful
Mathew Glodack

How and why we built our own windows installer.
 recording release: yes license: CC-BY  

20. The F# Path to Relaxation - and what it means for .NET
Don Syme

(Needs description.) 
 recording release: yes license: CC-BY  

21. So You Want To Be A Mobile App Developer
Lori Lalonde

Are you thinking about developing apps for mobile devices? Are you wondering what you need to know to hit the ground running aside from just the development aspect? In this session, I will talk about the non-technical side of becoming an independent app developer and things to keep in mind as you start on this journey, including costs, source code management, analytics, app updates, end user support, app marketing, monetization, and the importance of privacy policies.
 recording release: yes license: CC-BY  

22. Developing Apache Spark Jobs in .NET using Mobius
Kaarthik Sivashanmugam

"Apache Spark is an open source data processing framework built for big data processing and analytics. Ease of programming and high performance relative to the traditional big data tools and platforms and a unified API to solve a diverse set of complex data problems drove the rapid adoption of Spark in the industry. Apache Spark APIs in Scala, Java, Python and R cater to a wide range of big data professionals and a variety of functional roles. Mobius is an open source project that aims to bring Spark's rich set of capabilities to the .NET community. Mobius project added C# as another first-class programming language for Apache Spark and currently supports RDD, DataFrame and Streaming API. With Mobius, developers can build Spark jobs in C# and reuse their existing .NET libraries with Apache Spark. Mobius is open-sourced at http://github.com/Microsoft/Mobius. This project has received great support from the .NET community and positive feedback from the Spark enthusiasts. In this talk, we will cover the following topics:

·         implementing Apache Spark jobs in C# using Mobius

·         internal architecture of Mobius

·         best practices using Mobius in production with a Spark cluster - in Windows or Linux, on-premises or in your favorite Cloud"
 recording release: yes license: CC-BY  

23. Distributed .NET microservices architecture with Kubernetes in the cloud
Alena Hall

"When designing a reliable solution with lots of moving parts, it's important to look not just into code but in-between code - more at the integration parts of the overall system.

In this intense talk you will learn about the variety of real-world important aspects to take into account architecting a flexible solution.

Some of the valuable aspects are environment choices, infrastructure planning, preparation and automation, separation of solution parts into independently deployable services, service discovery, replication, resiliency and many more.

You will explore into the practical architecture of Kubernetes and see how to create and configure Kubernetes cluster in the cloud.

You will see how to create .NET based microservices (e.g. using F#) and deploy it on Kubernetes."
 recording release: yes license: CC-BY  

24. Mobile testing for grown ups
Alexandra Marin

"If you’re anything like me, coming on to a new project is terrifying: unknown domain, indecipherable (yes, I had autocorrect rewrite that word) tests and general panic. And I love unit tests as much as the next face-deep-in-code 24/7 developer, but that’s a limited way of testing your app and we can do better.

So let’s take a swing at turning specifications into concrete, executable and easy-to-repeat behavior. The result is powerful UI acceptance testing by performing common behaviors like pressing buttons, making swipe gestures and entering text. Oh, and did I mention you can automate all this?"
 recording release: yes license: CC-BY  

25. Getting productive with F# Open Source tooling
Krzysztof Cieslak

(Needs description.) 
 recording release: yes license: CC-BY  

26. Private Party at Ground Kontrol


Ground Kontrol is a video game arcade and bar in Portland, Oregon, United States. Recognized as one of the best arcades in the US, it is known for preserving games from the Golden Age of Video Arcade Games. It also serves as a venue for DJs and live music. Also of note is its collection of 28 pinball tables.

More Info: https://goo.gl/maps/Gd5YfdoPkF82
 recording release: yes license: CC-BY  

27. Doors Open, Attendees Mingle


(Needs description.) 
 recording release: yes license: CC-BY  

28. Introduction - Day 2
Adron Hall

(Needs description.) 
 recording release: yes license: CC-BY  

29. 10 years of JSON.NET
James Newton-King

I look back at how Json.NET began, and where .NET open source was 10 years ago, and then offer ideas of where .NET open source could go.
 recording release: yes license: CC-BY  

30. The F#orce Awakens
Evelina Gabasova

Let's dive together into the the world of Star Wars! We'll use the force of F# and R to process publicly available datasets relating to the Star Wars movies to find out who's the most important character in the stories and why were the prequels so unsuccessful. On the way, you'll see why F# is a great language for data science - from preprocessing the data to visualizing them - and you'll also learn how you can use similar data processing pipelines to get interesting insights from your own data.
 recording release: yes license: CC-BY  

31. Introducing NBench - Automated Performance Testing and Benchmarking for .NET
Aaron Stannard

The Akka.NET team recently shipped Akka.Cluster out of beta, and it took two years of hard work across team members working all over the world. Akka.Cluster is the bedrock of distributed systems built using Akka.NET, and it is depended upon by banks, oil & gas, healthcare companies, e-commerce, and scores of other massive businesses. It has to be SOLID.

So in the process of building it we developed one of the most robust, aggressive, and generally insane QA processes in the .NET community in order to validate it. This talk describes how to build automated tests, benchmarks, multi-system tests, model-based tests, and everything else a .NET developer might need to build and test mission-critical / performance-sensitive distributed systems.

NOT FOR THE FAINT OF HEART.
 recording release: yes license: CC-BY  

32. Triage Some Open Source - Live!
Brendan Forster

"Through various reasons, I've found myself maintaining a bunch of open source projects. But what does this actually involve?

In this talk I'll queue up a bunch of interesting issues and pull requests and work through them live on stage. This of course sounds really boring, so I'll take time out to talk through my experiences of the ups and downs of being a maintainer and what interacting with contributors from behind a keyboard actually looks like."
 recording release: yes license: CC-BY  

33. Hadoop.NET
Hakeem Mohammed

"Hadoop, the little yellow elephant has become synonymous with big data. Any discussion on “big data” is not complete without mentioning Hadoop. The technology itself is vast and has an ecosystem of its own. The entire stack is OSS and almost all of it is JVM based except for a few native bits. But does it have to be JVM based?

In this session I’ll talk about what Hadoop actually is. We’ll peek a little into the belly of the beast and walkthrough it’s high level design. After that we will go thru the project structure, its core components and run some sample apps, look at the various services that make it work. Finally we will look into why Hadoop is JVM based and look into ways for making it run on the .NET platform and the challenges involved. We will end with a discussion of a Hadoop port in the works, aptly named Hadoop.NET"
 recording release: yes license: CC-BY  

34. Lightning Talk - Domain Modeling with the Neko Atsume Kitty Collector Game
Julie Lerman

Neko Atsume has over 10M downloads and over 25K reviews. We’ll use the behaviors of this wildly popular, yet ridiculously simple game, in a little domain modeling exercise.
 recording release: yes license: CC-BY  

35. Lightning Talk - High performance multi-target logging with Logary
Jeremy Abbott

Quick demo of Logary, a high performance logging framework for .NET written in F#. We'll take a look at setting up Logary and how to use it in F# and C#.
 recording release: yes license: CC-BY  

36. Lightning Talk - How to run an open source project
Adam Dymitruk

A look at Pieter Hintjens' C4 protocol for taking contributions from the community and the effects of it on branching, dealing with bad actors and supporting stability.
 recording release: yes license: CC-BY  

37. Lightning Talk - Everything you think you know about software development is wrong. Probably...
Dave Evans

Challenge Everything. Many of the ideas we just take for granted - things we "just know", on closer inspection are not what they seem.
 recording release: yes license: CC-BY  

38. Lightning Talk - Introduction to Avalonia
Steven Kirk

Avalonia is a cross-platform UI toolkit, similar to WPF/UWP currently under development
 recording release: yes license: CC-BY  

39. Lightning Talk - Structuring large scale React/Redux Apps
Anthony van der Hoorn

When thinking about using React/Redux at scale, there are surprising few samples to go off. Plenty of people talk about using it, but most of the resources available are relatively simplistic in nature. In this talk we will go through the process and structure we are using based on the requirements and the latest tools available.
 recording release: yes license: CC-BY  

40. Lightning Talk - New C#/VB Project System
David Kean and Immo Landwerth

A (very) early look at some of the changes we're making to the new C#/VB project system that will get Visual Studio out of the way of the developer.
 recording release: yes license: CC-BY  

41. Lightning Talk - scriptcs, what's new
Glenn Block

In the past year we've added a lot of coolness to scriptcs. I'll take you through the highlights in 5 mins!
 recording release: yes license: CC-BY  

42. How to make a living as a contrarian developer: Living your developer life on the edge.
Adam Dymitruk

Have we given up as programmers on writing software? As we welcome large libraries, what does our organisation endure? In this talk, we'll look look at the Total Cost of Ownership from a different angle to revisit some of the motivations behind our habits
 recording release: yes license: CC-BY  

43. Feed the links, tuples' a bag – An introduction to Linked Data APIs
Sebastien Lambla

Hypermedia and unicorns are so 2011! The next evolution in APIs on the web may well be linked data. With the recent adoption of json-ld by Google, we may finally be seeing the semantic web break into our world, providing the benefits of graphs to extract semantics from your APIs. We will discover, by visiting a magical world, what resources are and how they relate to one another. Don't be afraid, you will discover many mythical creatures, from resources and tuples to json-ld, hydra, and maybe even a sprinkle of RDF. So come feed the links!
 recording release: yes license: CC-BY  

44. .Net Core, Clojure and Elixir: a newbie's experience
Christopher Lopes

"This session will share my experience building the same small web application using .NET Core, Clojure and Elixir from a Linux environment. The purpose is to identify the strengths and weaknesses of getting started in each framework, from the prospective of someone new and only devoting a cursory look at each, and then apply this information to ASP.NET Core, with the goal of providing a call to action to the community for improving this experience.

In this session I will share stories of my experience from installation to deployment. It will include a brief overview of each language and framework as well as the tools and libraries used. The steps used to create the application will be discussed along with the decisions made at each step, including wrong paths traveled. It will examine the challenges faced along the way and how they were overcome. It will also include successes as well as what was found to be simple and enjoyable. It will examine the role of the community and how they aided during this endeavor. Along the way sample code of the application will be shared. The session will conclude with a list of takeaways."
 recording release: yes license: CC-BY  

45. A Smart House Powered by .NET
Ian Mercer

"For over 10 years I've spent a fair amount of my spare time creating what may well be the ""World's Smartest House"" and it's all in C# .NET. My code controls almost everything that can be controlled in the house, it speaks, it chats with you on messenger or Slack, it saves energy, it includes a multi-zone audio player, it consults the weather and adjusts the thermostats in an optimal way, ...

In this talk I'll detail some of what it does, some of how I built it, and maybe a bit of why I did it. I'll talk about the challenges of building software in .NET that has to run 24x7, maybe mention some of my favorite Nuget packages, and I'll try to touch on the future and where I think smart homes are headed.

I'll also plug my Natural Language Engine for .NET that makes powerful chat bots easy, and my .NET Hierarchical State Machine that makes complex control logic a bit easier.

If I have time I'll also show you how I do multiple-inheritance in C# and how I persist objects with no entity classes and no POCOs, just interfaces! I might also touch on Expressions and Expression Visitors, my own Rx and variables-with-history that know what value they had yesterday or even last year.

Read my blog before you come and bring your pressing smart home questions."
 recording release: yes license: CC-BY  

46. Xamarin Apps in GPU wonderland
Rabeb Othmani

"As developers, we spend a lot of time writing cool features, clean and highly optimised code. But  it all goes back to the user's perception on how well the app is performing especially for mobile applications.  
The success of the mobile app depends on the user, it depends on how quick the app starts up, how responsive it is, how well it uses the device memory and power among other metrics. 
In this session, we will discuss GPU performance, how we can  profile and measure  GPU usage and efficiency on android applications.
…"
 recording release: yes license: CC-BY  

47. Giving Your Way To Greatness
Tim Rayburn

Everyone wants to achieve some degree of greatness in their career, but very few have a concrete plan on how to get there. We will discuss how success and career advancement is not limited to those who have “the gift of gab”, but provide concrete ways you can start focusing, crafting, and improving your career, one step at a time, to whatever heights you may desire based on one counter-intuitive concept : Don’t make it all about you.
 recording release: yes license: CC-BY  



Location
--------
NedSpace


About the group
---------------
nodepdx-216-slide.svg
bling/dnf/16/dnf-video-title-screen.svg