by Beau Palmquist and Jared Schaab
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)
Client IDE of choice (Atom, Sublime, Brackets, WebStorm, etc.)
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:45 Adding microservices and page navigation to a Vanilla JS project
11:45 Discuss weaknesses of the vanilla JS approach
React/Redux Applications /w .NET Microservices
1:00 Basic React Concepts (v. 15.0.1)
1:15 React Project
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
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:
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?
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.
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!
Workshop is at the Smith Memorial Student Union building on the 2nd floor in room 294 - Floorplans -> https://www.pdx.edu/floorplans/s...
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.
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
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.
by Adron Hall
Join us for a group bike ride around Portland.
The bike explorations will depart at 5:15pm from the waterfront on Sunday the 10th. If you're interested, get RSVPed with a Bike Ride Ticket and we'll deliver the specific details for the starting point, bike rentals, or other ways to get a bike and join the ride when it's closer to the date.
FULL DETAILS: http://blog.adron.me/articles/Bi...
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
"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."
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.
by 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.
by 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."
(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.
Why type in this obscure keyboard layout? Tips for getting started
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.
by Chris Holt
Turn a description of a site into a working crud app in no time with genit.
An intro to creating build scripts with FAKE - F# Make
Practical tips for how we can make our community more welcoming and inclusive for all people.
Contributing back to the projects you use; from fork to pull request to merge.
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.
How and why we built our own windows installer.
by Don Syme
by 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.
by 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"
by 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."
"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?"
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
by Adron Hall
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.
10th–12th July 2016