Skip to content

Instantly share code, notes, and snippets.

View IEvangelist's full-sized avatar
:octocat:
Coding for a better world 🤓

David Pine IEvangelist

:octocat:
Coding for a better world 🤓
View GitHub Profile

Tuple Extensions

public static class TupleExtensions {
    public static async Task<T> TryAwaitOrLogAsync<T>(
        this (Task<T> task, ILogger logger) t,
        T defaultValue = default) {
        try {
            var result = await t.task;
            return result == default ? defaultValue : result;

WebAssembly: The New Endgame?

You may have heard of WebAssembly, like myself you probably asked "why"? Why have another way of doing web? Why introduce another standard or technology? In a world of technology saturation, what good can this do? All these questions will be answered in this session. We will explore Microsoft's experimental .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly. We will uncover the capabilities and limitations. We will see this in action and debug C# code in the web dev tools, and more. Is this the next major web innovation for the developer community? I hope you join me to find out.

using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Routing;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using Xunit;

Welcome to Cream City Code!

If you've attended any of the previous MKE DOT NET conferences, you are an official part of history. I know that you've learned something and you were inspired by keynote speakers Uncle Bob Martin, Scott Hanselman, and Maria Naggaga. We look forward to continuing to provide you with opportunities for inspiration and learning however, there is a new name for the long-standing technical conference that was once known as MKE DOT NET. Welcome to Cream City Code!

Horizontal Logo Image Here

Evolution

The MKE DOT NET technical conference has evolved! We've outgrown our original mindset and have adapted to community feedback. Our focus several years ago was solely on the .NET ecosystem. As evolution would have it, we’ve accepted more topics that have included modern techniques, skills, languages, platforms, frameworks, databases, outside-the-box concepts and best patterns/practices. We have essentially outgrown what we felt was a limiting name. Cream City Code broadens the topic

Lucky C# 7.0

Everyone wants the latest and greatest, this is human nature. This is especially true for developers. We want the best tooling and the latest language features. As a .NET developer we want C# to be even better – since becoming open-source C# is rapidly evolving.

C# 7 is packed full of features such as: pattern-matching, tuple literals/deconstruction, and local functions to name a few. Join me to learn about the features of C# 7 and how it can benefit your code. You'll be empowered to write more expressive, flexible, and concise C# code with these features.

@IEvangelist
IEvangelist / abstract.md
Last active November 13, 2017 16:35
C# 7.0

C# 7.0

C# 7 is packed full of features such as: pattern-matching, tuple literals/deconstruction, and local functions to name a few. Join me to learn about the features of C# 7 and how it can benefit your code. You'll be empowered to write more expressive, flexible, and concise C# code with these features.

Angular: A New Age

SignalR: Above & Beyond Chat

If you're unfamiliar with the term "SignalR", don't stray away... this helpful technology could save your day. SignalR boasts real-time web functionality which enables server-side code to push content to clients instantly. In this talk, we'll start with a simple Chat application so that we understand the mechanics. Then we'll dive deeper into other use cases and we'll explore the various protocols. We'll cover how SignalR can be applied to Angular, VueJS and even Blazor. Expect to walk away from this talk knowing exactly how to use SignalR in your application and why it is so useful.

A Reactive Mindset

Imagine a world were data comes in streams, flowing freely and endlessly! Damn the streams and enter congestion callback hell where back pressure is a possibility, or let loss their flow and lose valuable bits of information. This talk is geared towards an introduction into the "Reactive Mindset". We will discuss reactive programming and look at various implmentations from Rx.NET for C# to RxJS for TypeScript. We'll apply our learnings to practical scenarios, leveraging the advantages of this amazing programming paradigm.